> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration de l’authentification JWT

> Comment configurer des fournisseurs d’authentification JWT (JWKS) pour chaque service ClickHouse Cloud depuis la console

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>Beta</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Fonctionnalité en bêta</span>
        </a>;
};

export const VersionBadge = ({minVersion}) => <div className="versionBadge">
    <div className="versionIcon" style={{
  marginRight: "8px",
  marginTop: "4px"
}}>
      <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="M5 14C5.82843 14 6.5 13.3284 6.5 12.5C6.5 11.6716 5.82843 11 5 11C4.17157 11 3.5 11.6716 3.5 12.5C3.5 13.3284 4.17157 14 5 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
        <path d="M5 5C5.82843 5 6.5 4.32843 6.5 3.5C6.5 2.67157 5.82843 2 5 2C4.17157 2 3.5 2.67157 3.5 3.5C3.5 4.32843 4.17157 5 5 5Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
        <path d="M13 10.5C13.8284 10.5 14.5 9.82843 14.5 9C14.5 8.17157 13.8284 7.5 13 7.5C12.1716 7.5 11.5 8.17157 11.5 9C11.5 9.82843 12.1716 10.5 13 10.5Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
        <path d="M11.5 9H9.5C9.03426 9 8.57493 8.89157 8.15836 8.68328C7.74179 8.475 7.37944 8.17259 7.1 7.8L5 5V11" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.25" />
      </svg>
    </div>
    Disponible à partir de la version {minVersion}
  </div>;

export const EnterprisePlanFeatureBadge = ({feature = 'Cette fonctionnalité', support = false, linking_verb_are = false}) => {
  return <div className="enterprisePlanFeatureContainer">
            <div className="enterprisePlanFeatureBadge">
                Fonctionnalité du plan Enterprise
            </div>
            <div>
                <p>{feature} {linking_verb_are ? 'sont disponibles' : 'est disponible'} avec le plan Enterprise. {support ? `Contactez l’assistance pour activer cette fonctionnalité.` : 'Pour effectuer la mise à niveau, consultez la page des plans dans la Cloud Console.'}</p>
            </div>
        </div>;
};

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </Frame>
    </div>;
};

<BetaBadge />

<VersionBadge minVersion="26.4" />

<EnterprisePlanFeatureBadge feature="Authentification JWT avec un fournisseur d'identité personnalisé" />

<Tip>
  Ce guide explique comment configurer des fournisseurs JWKS dans la console Cloud. Pour savoir comment générer un JWT et à quoi ressemble sa structure — les claims obligatoires, les claims de rôles et de grants, ainsi que le fonctionnement des utilisateurs éphémères — consultez la référence [Authentification JWT](/docs/fr/concepts/features/security/external-authenticators/jwt).
</Tip>

ClickHouse Cloud vous permet d'authentifier les connexions à un service à l'aide de JSON Web Tokens (JWT) validés par rapport à vos propres endpoints JSON Web Key Set (JWKS). Au lieu de gérer des identifiants de base de données, votre fournisseur d'identité émet des jetons de courte durée que ClickHouse vérifie à l'aide des clés publiques publiées à l'URL JWKS que vous configurez.

Vous pouvez configurer vous-même ces fournisseurs JWKS pour chaque service, depuis **Paramètres → Sécurité** dans la console ClickHouse Cloud.

<div id="before-you-begin">
  ## Avant de commencer
</div>

Pour configurer des fournisseurs JWT pour un service, vous devez disposer des éléments suivants :

* Une organisation avec le plan **Enterprise**.
* Un service exécutant **ClickHouse version 26.4 ou une version ultérieure**.
* Un rôle disposant de l'autorisation `control-plane:service:manage` sur le service (par exemple, **Admin** ou **Service admin**). Les membres qui ne disposent pas de cette autorisation voient la section en lecture seule.
* Une URL JWKS **HTTPS** accessible publiquement, publiant au moins une clé **RSA** (`RS256`) ou, pour les services exécutant la version 26.8 ou une version ultérieure, une clé **EC** (`ES256`, `ES384`, `ES512`).

<Note>
  Les fournisseurs basés sur JWKS acceptent les clés **RSA** et, à partir de la version 26.8, les clés **EC** sur les courbes P-256, P-384 et P-521. Un document JWKS peut contenir d'autres types de clés, mais il doit contenir au moins une clé utilisable.
</Note>

<div id="how-it-works">
  ## Fonctionnement
</div>

Le client (votre fournisseur d’identité ou votre application) génère un JWT et le signe avec sa **clé privée**. Le jeton doit respecter le [format de jeton](/docs/fr/concepts/features/security/external-authenticators/jwt#token-claims) attendu. ClickHouse le vérifie ensuite à l’aide des clés **publiques** publiées à l’URL de votre JWKS :

1. ClickHouse lit l’en-tête `kid` (ID de clé) du jeton et sélectionne la clé correspondante dans votre document JWKS.
2. Il vérifie la signature du jeton à l’aide de cette clé publique et contrôle les claims `iss` (émetteur) et `aud` (audience) par rapport à la configuration de votre fournisseur.
3. Si la vérification réussit, la connexion s’exécute sous la forme d’un utilisateur éphémère dont les droits d’accès proviennent des claims `clickhouse:grants` et `clickhouse:roles` du jeton, dans la limite des autorisations de l’utilisateur `default`. Consultez [Droits d’accès](/docs/fr/concepts/features/security/external-authenticators/jwt#access-rights) pour plus de détails.

ClickHouse valide et récupère l’URL JWKS lorsque vous ajoutez ou mettez à jour un fournisseur ; une URL mal configurée ou inaccessible est donc rejetée immédiatement.

<div id="add-a-jwt-provider">
  ## Ajouter un fournisseur JWT
</div>

<Steps>
  <Step title="Ouvrir les paramètres de sécurité du service" id="open-security-settings">
    Accédez à votre service, ouvrez **Paramètres**, puis faites défiler jusqu’à la section **Sécurité**. Recherchez la carte **Authentification JWT**.

    <Image img="https://mintcdn.com/private-7c7dfe99/-6hzQ2QWO_HW75mL/images/cloud/security/jwt/jwt-section.png?fit=max&auto=format&n=-6hzQ2QWO_HW75mL&q=85&s=79179b401f3a527316bffe67be424977" size="lg" alt="Section Authentification JWT dans les paramètres de sécurité du service" force width="1850" height="422" data-path="images/cloud/security/jwt/jwt-section.png" />
  </Step>

  <Step title="Ouvrir le volet des fournisseurs" id="open-flyout">
    Sélectionnez **Configurer des fournisseurs JWT** (ou **Gérer les fournisseurs JWT** si vous en avez déjà configurés). Le volet s’ouvre avec un formulaire vierge de nouveau fournisseur.
  </Step>

  <Step title="Renseigner les informations du fournisseur" id="fill-provider-details">
    Remplissez le formulaire du fournisseur et sélectionnez **Enregistrer**.

    | Champ                            | Description                                                                                                                                                                                                             |
    | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Nom**                          | Nom unique de ce fournisseur pour le service. Il ne peut pas être modifié après sa création.                                                                                                                            |
    | **Émetteur**                     | Claim `iss` attendue des jetons entrants.                                                                                                                                                                               |
    | **Audience**                     | Claim `aud` attendue des jetons entrants.                                                                                                                                                                               |
    | **URL JWKS**                     | URL HTTPS publique qui publie les clés publiques utilisées pour vérifier les signatures des jetons.                                                                                                                     |
    | **Claim des rôles** (facultatif) | Claim du jeton à partir de laquelle lire les rôles ClickHouse. Laissez ce champ vide pour utiliser le nom de claim par défaut `clickhouse:roles`. Les rôles indiqués dans le jeton doivent déjà exister sur le service. |
  </Step>

  <Step title="Ajouter d’autres fournisseurs si nécessaire" id="add-more-providers">
    Utilisez **Ajouter un autre fournisseur** pour configurer des fournisseurs supplémentaires. Un service peut avoir jusqu’à cinq fournisseurs JWT.
  </Step>
</Steps>

<Warning>
  La suppression d’un fournisseur JWT cesse immédiatement d’accepter les jetons émis pour celui-ci, et toutes les charges de travail qui s’authentifient encore avec ces jetons cesseront de fonctionner.
</Warning>

<div id="limits">
  ## Limites
</div>

* Au maximum **cinq** fournisseurs JWT par service.
* Les fournisseurs JWKS acceptent les clés **RSA** (`RS256`) et, à partir de la version 26.8, les clés **EC** (`ES256`, `ES384`, `ES512`).
* L’URL JWKS doit être un endpoint HTTPS public. Les adresses privées, internes ou link-local sont rejetées.

<div id="related">
  ## Voir aussi
</div>

* [Authentification JWT](/docs/fr/concepts/features/security/external-authenticators/jwt) — claims du jeton, utilisateurs éphémères et utilisation du client.
