Conecta Grupos de Google a GKE en Azure
En este documento, se describe cómo puedes conectarte a GKE en Azure como miembro de un Grupo de Google.
Usar Grupos de Google a fin de otorgar acceso al clúster es más eficiente que crear autorizaciones por separado para usuarios individuales. Por ejemplo, supongamos que deseas agregar 50 usuarios al grupo de administradores de clústeres, 75 usuarios a un grupo de editores y 100 usuarios a un grupo de lectores. Si deseas permitir que todos estos usuarios se conecten a tu clúster, deberás crear reglas de RBAC en el archivo de manifiesto de Kubernetes para 225 usuarios. Sin embargo, habilitar el acceso a tu clúster con Grupos de Google te ahorra tiempo porque solo necesitas crear reglas de RBAC para tres Grupos de Google.
Antes de comenzar
Para conectarte a tu clúster como miembro de un Grupo de Google, debes cumplir con los siguientes requisitos previos:
Asegúrate de tener la versión más reciente de Google Cloud CLI: Para obtener información sobre la actualización de la CLI de gcloud, consulta
gcloud components update
.Usa la versión 1.25 o superior de GKE en Azure, que se requiere para el acceso
kubectl
mediante Connect Gateway.
Conéctate a tu clúster mediante Grupos de Google
Para autorizar a los Grupos de Google a conectarse a GKE en Azure, sigue estos pasos:
Habilita las API de
connectgateway
ycloudresourcemanager
con el siguiente comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Reemplaza
PROJECT_ID
por el ID de tu proyecto de Azure.Crea un grupo llamado
gke-security-groups
como un grupo en el dominio de tu proyecto si no existe.Crea uno o más subgrupos dentro del grupo
gke-security-groups
para la autenticación de clústeres.Agrega usuarios a los subgrupos recién creados.
Para el acceso
kubectl
mediante Connect Gateway, debes otorgar roles de IAM a los Grupos de Google:Selecciona un rol apropiado para un grupo. Este rol determina cómo interactúa el grupo con la puerta de enlace de conexión. El rol puede ser uno de los siguientes:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. (Ten en cuenta que no otorgas permisos sobre el clúster aquí, ya que ese paso se realiza más adelante). Aquí, solo se determina cómo los usuarios del grupo pueden manipular la puerta de enlace de conexión).Ejecuta el siguiente comando para otorgar el rol al grupo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto de Google.GROUP_NAME
: El nombre del grupo al que se otorga accesoDOMAIN
: Tu dominio de Google WorkspaceGATEWAY_ROLE
: el rol seleccionado. Por ejemplo,roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oroles/gkehub.gatewayReader
.
En un manifiesto de Kubernetes, define los permisos que tiene cada Grupo de Google en el clúster. Por ejemplo, en el siguiente manifiesto, se otorga al Grupo de Google
cluster-admin-team
la función de administrador del clúster:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
Guarda el manifiesto en un archivo y aplícalo al clúster mediante la ejecución del siguiente comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Reemplaza lo siguiente:
KUBECONFIG_PATH
: La ruta de acceso a tu archivokubeconfig
FILENAME
: el nombre del archivo de manifiesto que creaste.
Una vez que hayas realizado estos pasos, los usuarios que pertenecen a ciertos Grupos de Google pueden conectarse al clúster. En el ejemplo determinado, los usuarios que pertenecen al grupo de Google cluster-admin-team
pueden conectarse al clúster como administradores.