Los ingenieros de desarrollo y operaciones se conectan a vSphere IaaS control plane para aprovisionar y administrar el ciclo de vida de los clústeres de Servicio TKG. Los desarrolladores se conectan a los clústeres de Servicio TKG para implementar paquetes, cargas de trabajo y servicios. Es posible que los administradores necesiten acceso directo a los nodos de clúster de Servicio TKG para solucionar problemas. La plataforma brinda herramientas y métodos de administración de identidades y acceso para respaldar cada caso práctico y cada función.

El acceso al clúster de Servicio TKG se limita al ámbito de espacio de nombres de vSphere

Los clústeres de Servicio TKG se aprovisionan en espacio de nombres de vSphere. Al configurar un espacio de nombres de vSphere, se establecen permisos de desarrollo y operaciones, incluidos el origen de identidad, los usuarios y los grupos, y las funciones. La plataforma propaga estos permisos a cada clúster de Servicio TKG aprovisionado en ese espacio de nombres de vSphere. La plataforma admite dos métodos de autenticación: vCenter Single Sign-On y un proveedor de identidad externo compatible con OIDC.

Autenticación mediante vCenter Single Sign-On y Kubectl

De forma predeterminada, vCenter Single Sign-On se utiliza para autenticarse con el entorno, incluso los clústeres de Supervisor y Servicio TKG. vCenter Single Sign-On proporciona autenticación para la infraestructura de vSphere y se puede integrar con sistemas AD/LDAP. Para obtener más información, consulte Autenticación de vSphere con vCenter Single Sign-On.

Para autenticarse con vCenter Single Sign-On, utilice complemento de vSphere para kubectl. Una vez que se haya autenticado, utilice kubectl para aprovisionar y administrar de forma declarativa el ciclo de vida de los clústeres de servicio TKG e interactuar con Supervisor.

El complemento complemento de vSphere para kubectl depende de kubectl. Cuando se autentica con el comando kubectl vsphere login, el complemento realiza una solicitud POST con autenticación básica en un endpoint /wcp/login en Supervisor. vCenter Server emite un token web JSON (JWT) en el que Supervisor confía.

Para conectarse mediante vCenter Single Sign-On, consulte Conectarse a clústeres de Servicio TKG mediante la autenticación de vCenter SSO.

Autenticación mediante un proveedor de identidad externo y la CLI de Tanzu

Es posible configurar Supervisor con un proveedor de identidad externo que admita el protocolo OpenID Connect. Una vez configurado, Supervisor funciona como un cliente de OAuth 2.0 y utiliza el servicio de autenticación Pinniped para proporcionar conectividad al cliente mediante la CLI de Tanzu. CLI de Tanzu admite el aprovisionamiento y la administración del ciclo de vida de los clústeres de Servicio TKG. Cada instancia de Supervisor puede admitir un solo proveedor de identidad externo.

Una vez que el complemento de autenticación y el emisor de OIDC están configurados correctamente para que funcione la CLI de autenticación de Pinniped, al iniciar sesión en Supervisor mediante tanzu login --endpoint, el sistema busca algunos configmaps conocidos para compilar el archivo de configuración pinniped config.

Para conectarse mediante un proveedor de OIDC externo, consulte Conectarse a clústeres de TKG en Supervisor mediante un proveedor de identidad externo.

Autenticación mediante un enfoque híbrido: vCenter SSO con la CLI de Tanzu

Si utiliza vCenter Single Sign-On como proveedor de identidad y desea utilizar CLI de Tanzu, puede adoptar un enfoque híbrido e iniciar sesión en Supervisor mediante ambas herramientas. Este enfoque puede resultar útil para instalar paquetes estándar. Consulte Conectarse a Supervisor mediante la CLI de Tanzu y la autenticación de vCenter SSO.

Usuarios y grupos para desarrollo y operaciones

Los permisos que establece al configurar un espacio de nombres de vSphere son para que los usuarios de desarrollo y operaciones administren el ciclo de vida de los clústeres de Servicio TKG. El usuario o el grupo de desarrollo y operaciones al que asigne permisos deben existir en el origen de identidad. Los usuarios de desarrollo y operaciones se autentican con sus credenciales de proveedor de identidad.

Los usuarios de desarrollo y operaciones son responsables de conceder acceso al clúster a los usuarios de procesos posteriores, como los desarrolladores que desean implementar cargas de trabajo en clústeres aprovisionados. Estos usuarios se autenticarían con un proveedor de identidad o con una función de clúster y un enlace en Kubernetes. Esto se describe más detalladamente en la siguiente sección.
Nota: Los permisos de espacio de nombres de vSphere son exclusivos para los usuarios de desarrollo y operaciones que necesitan crear y administrar clústeres de Servicio TKG. Los usuarios de estos clústeres, como los desarrolladores, utilizarán mecanismos de autenticación de Kubernetes.

Enlaces y permisos de función

Existen dos tipos de sistemas de control de acceso basado en funciones (Role Based Access Control, RBAC) para los clústeres de TKGS: permisos de espacio de nombres de vSphere y autorización de RBAC de Kubernetes. Como administrador de vSphere, debe asignar permisos de espacio de nombres de vSphere para que los usuarios puedan crear y utilizar clústeres de servicio TKG. Los operadores de clúster utilizan el RBAC de Kubernetes para conceder acceso al clúster y asignar permisos de función a los desarrolladores. Consulte Conceder a los desarrolladores acceso de vCenter SSO a los clústeres de Servicio TKG.

espacios de nombres de vSphere admite tres funciones: Puede editar, Puede ver y Propietario. La asignación y el ámbito de los permisos de función dependen de la instancia de espacio de nombres de vSphere que aloja un clúster de Servicio TKG. Consulte Configurar espacios de nombres de vSphere para alojar clústeres de Servicio TKG.

Un usuario o grupo con el permiso de función Puede editar concedido en un espacio de nombres de vSphere puede crear, leer, actualizar y eliminar clústeres de Servicio TKG en ese espacio de nombres de vSphere. Además, cuando se asigna un usuario o un grupo a la función Puede editar, el sistema crea un objeto RoleBinding en cada clúster de esa instancia de espacio de nombres de vSphere y enlaza el privilegio al objeto ClusterRole de Kubernetes denominado cluster-admin. La función cluster-admin permite a los usuarios aprovisionar y operar clústeres de servicio TKG en la instancia de espacio de nombres de vSphere de destino. Puede ver esta asignación mediante el comando kubectl get rolebinding desde el espacio de nombres de vSphere de destino.
kubectl get rolebinding -n tkgs-cluster-namespace
NAME                                                           ROLE                         AGE
wcp:tkg-cluster-namespace:group:vsphere.local:administrators   ClusterRole/edit             33d
wcp:tkg-cluster-namespace:user:vsphere.local:administrator     ClusterRole/edit             33d

Un usuario o un grupo que tiene asignado el permiso de función Puede ver en una instancia de espacio de nombres de vSphere tiene acceso de solo lectura a los clústeres de Servicio TKG aprovisionados en esa instancia de espacio de nombres de vSphere. Sin embargo, a diferencia del privilegio Puede editar, para la función Puede ver, no se creó ningún objeto RoleBinding de Kubernetes en los clústeres de TKGS de esa instancia de espacio de nombres de vSphere. Esto se debe a que en Kubernetes no hay ninguna función equivalente de solo lectura a la que pueda estar enlazado un usuario o grupo que tenga concedido el permiso Puede ver. Para los usuarios que no sean cluster-admin, utilice RBAC de Kubernetes para conceder acceso. Consulte Conceder a los desarrolladores acceso de vCenter SSO a los clústeres de Servicio TKG.

Un usuario o grupo con el permiso Propietario concedido en un espacio de nombres de vSphere puede administrar clústeres de Servicio TKG en ese espacio de nombres de vSphere, y puede crear y eliminar espacios de nombres de vSphere adicionales mediante kubectl. Cuando se asigna un usuario o grupo a la función de propietario, el sistema crea un objeto ClusterRoleBinding y lo asigna a un objeto ClusterRole que permite al usuario o grupo crear y eliminar espacios de nombres de vSphere mediante kubectl. No es posible ver esta asignación con el mismo enfoque. Debe utilizar SSH en un nodo de Supervisor para ver esta asignación.
Nota: La función de propietario es compatible con los usuarios que provienen del origen de identidad de vCenter Single Sign-On. No se puede usar la función de propietario con un usuario o grupo que provenga de un proveedor de identidad externo.

Permisos de vSphere

La tabla muestra los diferentes permisos de vSphere necesarios para los distintos roles de vSphere IaaS control plane. Si es necesario, puede crear un grupo de SSO de vSphere personalizado y una función para la administración de cargas de trabajo. Consulte Crear un grupo y una función dedicados para los operadores de plataforma.

Tabla 1. Permisos de vSphere para roles de vSphere with Tanzu
Persona Función de vSphere Grupo de vSphere SSO Espacio de nombres de vSphere
Administrador de VI/Cloud Administrador Administradores Usuario de SSO o usuario de AD
Operador de plataforma/desarrollo y operaciones Función personalizada o no administrativa ServiceProviderUsers Usuario de SSO o usuario de AD
Desarrollador Solo lectura o Ninguno Ninguno Usuario de SSO o usuario de AD

Conectividad del administrador del sistema

Los administradores pueden conectarse a los nodos de clúster de Servicio TKG como el usuario kubernetes-admin. Este método puede resultar apropiado si la autenticación de vCenter Single Sign-On no está disponible. Con el fin de solucionar problemas, los administradores de sistemas pueden conectarse a Servicio TKG como vmware-system-user mediante SSH y una clave privada. Consulte Conectarse a clústeres de Servicio TKG como usuario del sistema y administrador de Kubernetes.