Gli argomenti di questa sezione spiegano come configurare la gestione delle identità e degli accessi in Tanzu Kubernetes Grid (TKG) con un cluster di gestione autonomo.
Per abilitare e configurare la gestione delle identità e degli accessi, seguire le indicazioni degli argomenti elencati di seguito:
Tanzu Kubernetes Grid (TKG) utilizza Pinniped per implementare l'autenticazione e l'autorizzazione per la gestione delle identità e degli accessi.
Tanzu Kubernetes Grid implementa l'autenticazione degli utenti con Pinniped, un servizio di autenticazione open source per i cluster Kubernetes. Pinniped consente di collegare i provider di identità OpenID Connect (OIDC) o LDAP esterni ai cluster del carico di lavoro, in modo da poter controllare l'accesso degli utenti a tali cluster. Per l'autenticazione LDAP, Pinniped utilizza Dex come endpoint per connettersi al provider di identità LDAP upstream. Se si utilizza OIDC, Pinniped fornisce il proprio endpoint, quindi Dex non è necessario. Pinniped e Dex vengono eseguiti automaticamente come servizi interni al cluster nei cluster di gestione se si abilita la gestione delle identità. Per istruzioni su come abilitare la gestione delle identità in Tanzu Kubernetes Grid, vedere Configurazione della gestione delle identità.
Il flusso di autenticazione tra il cluster di gestione e il cluster del carico di lavoro include quanto segue:
kubeconfig
per il cluster del carico di lavoro.kubeconfig
per connettersi al cluster del carico di lavoro, ad esempio eseguendo kubectl get pods --kubeconfig
.kubectl get pods
in base alle autorizzazioni del ruolo dell'utente.Nell'immagine seguente, le frecce blu rappresentano il flusso di autenticazione tra il cluster del carico di lavoro, il cluster di gestione e il provider di identità esterno. Le frecce verdi rappresentano la CLI di Tanzu e il traffico di kubectl
tra il cluster del carico di lavoro, il cluster di gestione e il provider di identità esterno.
Il diagramma seguente illustra i componenti di gestione delle identità che Tanzu Kubernetes Grid distribuisce nel cluster di gestione e nei cluster del carico di lavoro quando si abilita la gestione delle identità.
Informazioni sul diagramma:
I rettangoli con bordo viola includono i componenti di gestione delle identità, tra cui Pinniped, Dex e un processo successivo alla distribuzione nel cluster di gestione, nonché Pinniped e un processo successivo alla distribuzione nel cluster del carico di lavoro. Dex viene distribuito solo per i provider LDAP. Se si configura un provider OIDC, Pinniped comunica direttamente con il provider, senza passare attraverso Dex.
I rettangoli con bordo grigio includono i componenti utilizzati da Tanzu Kubernetes Grid per controllare il ciclo di vita dei componenti di gestione delle identità, tra cui la CLI di Tanzu, tanzu-addons-manager
e kapp-controller
.
Il rettangolo con bordo verde include il segreto del componente aggiuntivo Pinniped creato per il cluster di gestione.
Il rettangolo con bordo arancione nel cluster di gestione include il segreto del componente aggiuntivo Pinniped creato per il cluster del carico di lavoro. Viene eseguito il mirroring del segreto nel cluster del carico di lavoro.
Internamente, Tanzu Kubernetes Grid distribuisce i componenti di gestione delle identità come pacchetto gestito automaticamente, pinniped
. Questo pacchetto contiene il componente aggiuntivo pinniped
. Quando si distribuisce un cluster di gestione con la gestione delle identità abilitata o la si abilita come passaggio successivo alla distribuzione, la CLI di Tanzu crea un segreto Kubernetes per il componente aggiuntivo pinniped
nel cluster di gestione. tanzu-addons-manager
legge il segreto, che contiene le informazioni di configurazione del provider di identità e indica a kapp-controller
di configurare il componente aggiuntivo pinniped
utilizzando le informazioni di configurazione del segreto.
La CLI di Tanzu crea un segreto del componente aggiuntivo pinniped
separato per ogni cluster del carico di lavoro distribuito dal cluster di gestione. Tutti i segreti vengono archiviati nel cluster di gestione. Per ulteriori informazioni, vedere Pacchetti gestiti automaticamente.
Tanzu Kubernetes Grid utilizza l'autorizzazione del controllo degli accessi basato sui ruoli (RBAC). Per istruzioni su come configurare RBAC, vedere Configurazione di RBAC.