Gestion des identités et des accès

Les rubriques de cette section expliquent comment configurer la gestion des identités et des accès dans Tanzu Kubernetes Grid (TKG) avec un cluster de gestion autonome.

Pour activer et configurer la gestion des identités et des accès, suivez les rubriques liées ci-dessous :

  1. Configurer la gestion des identités
  2. Configurer RBAC

À propos de la gestion des identités et des accès

Tanzu Kubernetes Grid (TKG) utilise Pinniped pour implémenter l'authentification et l'autorisation pour la gestion des identités et des accès.

Authentification

Tanzu Kubernetes Grid implémente l'authentification utilisateur avec Pinniped, un service d'authentification open source pour les clusters Kubernetes. Pinniped vous permet de brancher des fournisseurs d'identité OpenID Connect (OIDC) ou LDAP externes dans des clusters de charge de travail, afin que vous puissiez contrôler l'accès des utilisateurs à ces clusters. Pour l'authentification LDAP, Pinniped utilise Dex comme point de terminaison pour se connecter à votre fournisseur d'identité LDAP en amont. Si vous utilisez OIDC, Pinniped fournit son propre point de terminaison, de sorte que Dex n'est pas requis. Pinniped et Dex s'exécutent automatiquement en tant que services dans vos clusters de gestion si vous activez la gestion des identités. Pour obtenir des instructions sur l'activation de la gestion des identités dans Tanzu Kubernetes Grid, reportez-vous à la section Configurer la gestion des identités.

Le flux d’authentification entre les clusters de gestion et de charge de travail inclut les éléments suivants :

  • L'administrateur Tanzu Kubernetes Grid active et configure la gestion des identités sur le cluster de gestion, en spécifiant un fournisseur d'identité LDAP ou OIDC externe.
  • Les composants du service d'authentification sont déployés dans le cluster de gestion, à l'aide des détails du fournisseur d'identité LDAP ou OIDC spécifiés par l'administrateur.
  • L’administrateur crée un cluster de charge de travail. Le cluster de charge de travail hérite de la configuration d’authentification du cluster de gestion.
  • L’administrateur crée une liaison de rôle pour associer un utilisateur donné à un rôle donné sur le cluster de charge de travail.
  • L'administrateur fournit le fichier kubeconfig pour le cluster de charge de travail à l'utilisateur.
  • L'utilisateur utilise le fichier kubeconfig pour se connecter au cluster de charge de travail, par exemple, en exécutant kubectl get pods --kubeconfig.
  • Le cluster de gestion authentifie l'utilisateur auprès du fournisseur d'identité.
  • Le cluster de charge de travail autorise ou refuse la demande kubectl get pods, en fonction des autorisations du rôle de l'utilisateur.

Sur l'image ci-dessous, les flèches bleues représentent le flux d'authentification entre le cluster de charge de travail, le cluster de gestion et le fournisseur d'identité externe. Les flèches vertes représentent la CLI Tanzu et le trafic kubectl entre le cluster de charge de travail, le cluster de gestion et le fournisseur d'identité externe.

Gestion des identités dans Tanzu Kubernetes Grid

Composants de gestion des identités

Le diagramme ci-dessous montre les composants de gestion des identités que Tanzu Kubernetes Grid déploie dans le cluster de gestion et dans les clusters de charge de travail lorsque vous activez la gestion des identités.

Architecture de gestion des identités dans Tanzu Kubernetes Grid

Présentation du diagramme :

  • Les rectangles bordés de violet affichent les composants de gestion des identités, qui incluent Pinniped, Dex, ainsi qu'une tâche de post-déploiement dans le cluster de gestion et Pinniped, et une tâche de post-déploiement dans le cluster de charge de travail. Dans Tanzu Kubernetes Grid v1.3.0, Pinniped utilise Dex comme point de terminaison pour les fournisseurs OIDC et LDAP. Dans v1.3.1 et versions ultérieures, Dex est déployé uniquement pour les fournisseurs LDAP. Si vous configurez un fournisseur OIDC dans les versions 1.3.1 et ultérieures, Pinniped communique directement avec votre fournisseur, sans passer par Dex.

  • Les rectangles bordés de gris affichent les composants que Tanzu Kubernetes Grid utilise pour contrôler le cycle de vie des composants de gestion des identités, qui incluent la CLI Tanzu, tanzu-addons-manager et kapp-controller.

  • Le rectangle bordé de vert affiche le secret du module complémentaire Pinniped créé pour le cluster de gestion.

  • Le rectangle bordé d'orange dans le cluster de gestion affiche le secret du module complémentaire Pinniped créé pour le cluster de charge de travail. Le secret est mis en miroir sur le cluster de charge de travail.

En interne, Tanzu Kubernetes Grid déploie les composants de gestion des identités en tant que module géré automatiquement, pinniped. Ce module contient le module complémentaire pinniped. Lorsque vous déployez un cluster de gestion avec la gestion des identités activée ou que vous l'activez comme étape de post-déploiement, la CLI Tanzu crée un secret Kubernetes pour le module complémentaire pinniped dans le cluster de gestion. tanzu-addons-manager lit le secret, qui contient les informations de configuration de votre fournisseur d'identité, et demande à kapp-controller de configurer le module complémentaire pinniped à l'aide des informations de configuration du secret.

La CLI Tanzu crée un secret de module complémentaire pinniped distinct pour chaque cluster de charge de travail que vous déployez à partir du cluster de gestion. Tous les secrets sont stockés dans le cluster de gestion. Pour plus d'informations, reportez-vous à la section Modules autogérés.

Autorisation

Tanzu Kubernetes Grid utilise l'autorisation de contrôle d'accès basé sur les rôles (RBAC). Pour obtenir des instructions sur la configuration de RBAC, reportez-vous à la section Configurer RBAC.

Configuration et dépannage avancés

check-circle-line exclamation-circle-line close-line
Scroll to top icon