Los temas de esta sección explican cómo configurar la administración de identidades y acceso en Tanzu Kubernetes Grid (TKG) con un clúster de administración independiente.
Para habilitar y configurar la administración de identidades y acceso, siga los temas vinculados a continuación:
Tanzu Kubernetes Grid (TKG) utiliza Pinniped para implementar la autenticación y la autorización para la administración de identidades y acceso.
Tanzu Kubernetes Grid implementa la autenticación de usuario con Pinniped, un servicio de autenticación de código abierto para clústeres de Kubernetes. Pinniped permite conectar openID Connect (OIDC) o proveedores de identidad (IdP) LDAP externos en clústeres de carga de trabajo, de modo que pueda controlar el acceso de los usuarios a esos clústeres. Para la autenticación LDAP, Pinniped utiliza Dex como endpoint para conectarse al IdP de LDAP ascendente. Si utiliza OIDC, Pinniped proporciona su propio endpoint, por lo que no se requiere Dex. Pinniped y Dex se ejecutan automáticamente como servicios dentro del clúster en los clústeres de administración si habilita la administración de identidades. Para obtener instrucciones sobre cómo habilitar la administración de identidades en Tanzu Kubernetes Grid, consulte Configurar la administración de identidades.
El flujo de autenticación entre los clústeres de administración y carga de trabajo incluye lo siguiente:
kubeconfig
para el clúster de carga de trabajo al usuario.kubeconfig
para conectarse al clúster de carga de trabajo, por ejemplo, ejecutando kubectl get pods --kubeconfig
.kubectl get pods
, en función de los permisos de la función del usuario.En la siguiente imagen, las flechas azules representan el flujo de autenticación entre el clúster de carga de trabajo, el clúster de administración y el IdP externo. Las flechas verdes representan el tráfico de kubectl
y CLI de Tanzu entre el clúster de carga de trabajo, el clúster de administración y el IdP externo.
El siguiente diagrama muestra los componentes de administración de identidades que Tanzu Kubernetes Grid implementa en el clúster de administración y en los clústeres de carga de trabajo cuando se habilita la administración de identidades.
Descripción del diagrama:
Los rectángulos de borde morado muestran los componentes de administración de identidades, que incluyen Pinniped, Dex y un trabajo posterior a la implementación en el clúster de administración y Pinniped, así como un trabajo posterior a la implementación en el clúster de carga de trabajo. En Tanzu Kubernetes Grid v1.3.0, Pinniped utiliza Dex como endpoint para los proveedores de LDAP y OIDC. En v1.3.1 y versiones posteriores, Dex se implementa solo para proveedores LDAP. Si configura un proveedor de OIDC en la versión 1.3.1 y posteriores, Pinniped se comunica con el proveedor directamente, sin pasar por Dex.
Los rectángulos de borde gris muestran los componentes que Tanzu Kubernetes Grid utiliza para controlar el ciclo de vida de los componentes de administración de identidades, que incluyen la CLI de Tanzu, tanzu-addons-manager
y kapp-controller
.
El rectángulo de borde verde muestra el secreto de complemento Pinniped creado para el clúster de administración.
El rectángulo de borde naranja del clúster de administración muestra el secreto del complemento Pinniped creado para el clúster de carga de trabajo. El secreto se refleja en el clúster de carga de trabajo.
Internamente, Tanzu Kubernetes Grid implementa los componentes de administración de identidades como un paquete administrado automáticamente, pinniped
. Este paquete contiene el complemento pinniped
. Cuando se implementa un clúster de administración con la administración de identidades habilitada o se habilita como un paso posterior a la implementación, la CLI de Tanzu crea un secreto de Kubernetes para el complemento pinniped
en el clúster de administración. tanzu-addons-manager
lee el secreto, que contiene la información de configuración de IdP, e indica a kapp-controller
que configure el complemento pinniped
con la información de configuración del secreto.
La CLI de Tanzu crea un secreto de complemento pinniped
independiente para cada clúster de carga de trabajo que se implementa desde el clúster de administración. Todos los secretos se almacenan en el clúster de administración. Para obtener más información, consulte Paquetes autoadministrados.
Tanzu Kubernetes Grid utiliza la autorización de control de acceso basado en funciones (RBAC). Para obtener instrucciones sobre cómo configurar RBAC, consulte Configurar RBAC.