Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Configuration de l’authentification JWT

Fonctionnalité en bêta
Disponible à partir de la version 26.4
Fonctionnalité du plan Enterprise

Authentification JWT avec un fournisseur d'identité personnalisé est disponible avec le plan Enterprise. Pour effectuer la mise à niveau, consultez la page des plans dans la Cloud Console.

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.

Avant de commencer

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).

Fonctionnement

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 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 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.

Ajouter un fournisseur JWT

Ouvrir les paramètres de sécurité du service

Accédez à votre service, ouvrez Paramètres, puis faites défiler jusqu’à la section Sécurité. Recherchez la carte Authentification JWT.

Section Authentification JWT dans les paramètres de sécurité du service

Ouvrir le volet des fournisseurs

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.

Renseigner les informations du fournisseur

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.

Ajouter d’autres fournisseurs si nécessaire

Utilisez Ajouter un autre fournisseur pour configurer des fournisseurs supplémentaires. Un service peut avoir jusqu’à cinq fournisseurs JWT.

Limites

  • 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.
Navigation