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 :
Tanzu Kubernetes Grid (TKG) utilise Pinniped pour implémenter l'authentification et l'autorisation pour la gestion des identités et des accès.
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 :
kubeconfig
pour le cluster de charge de travail à l'utilisateur.kubeconfig
pour se connecter au cluster de charge de travail, par exemple, en exécutant kubectl get pods --kubeconfig
.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.
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.
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.
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.