Configurar el control de acceso basado en roles

En los siguientes pasos se explica cómo configurar el control de acceso basado en roles (RBAC) en un espacio de Kf.

Antes de empezar

Sigue la guía de RBAC de GKE antes de continuar con los pasos siguientes.

Configurar Gestión de Identidades y Accesos (IAM)

Además de los permisos concedidos a través del control de acceso basado en roles de Kf, los usuarios, los grupos o las cuentas de servicio también deben autenticarse para ver los clústeres de GKE a nivel de proyecto. Este requisito es el mismo que para configurar el control de acceso basado en roles de GKE, lo que significa que los usuarios o grupos deben tener al menos el permiso de gestión de identidades y accesos container.clusters.get en el proyecto que contiene el clúster. Este permiso se incluye en el rol container.clusterViewer y en otros roles con más privilegios. Para obtener más información, consulta Interacción con Gestión de Identidades y Accesos.

Asigna container.clusterViewer a un usuario o grupo.

gcloud projects add-iam-policy-binding ${CLUSTER_PROJECT_ID} \
  --role="container.clusterViewer" \
  --member="${MEMBER}"

Estos son algunos valores de ejemplo:

  • user:test-user@gmail.com
  • group:admins@example.com
  • serviceAccount:test123@example.domain.com

Gestionar la pertenencia a un espacio como administrador del espacio

El rol de administrador del clúster o los miembros con el rol SpaceManager pueden asignar roles a usuarios, grupos o cuentas de servicio.

kf set-space-role MEMBER -t [Group|ServiceAccount|User]

El rol de administrador del clúster o los miembros con el rol SpaceManager pueden quitar un miembro de un rol.

kf unset-space-role MEMBER -t [Group|ServiceAccount|User]

Puedes ver los miembros y sus roles en un espacio.

kf space-users

Ejemplos:

Asigna el rol SpaceDeveloper a un usuario.

kf set-space-role alice@example.com SpaceDeveloper

Asigna el rol SpaceDeveloper a un grupo.

kf set-space-role devs@example.com SpaceDeveloper -t Group

Asigna el rol SpaceDeveloper a una cuenta de servicio.

kf set-space-role sa-dev@example.domain.com SpaceDeveloper -t ServiceAccount

Desarrollo de aplicaciones como SpaceDeveloper

Los miembros con el rol SpaceDeveloper pueden realizar operaciones de desarrollo de aplicaciones de Kf en el espacio.

Para enviar una aplicación:

kf push app_name -p [PATH_TO_APP_ROOT_DIRECTORY]

Para ver los registros de una aplicación, sigue estos pasos: posix-terminal kf logs app_name

Accede a un pod de Kubernetes que ejecute la aplicación mediante SSH: posix-terminal kf ssh app_name

Ver los agentes de servicio disponibles:

kf marketplace

Ver aplicaciones como administrador o auditor de espacio

Los miembros con el rol Administrador del espacio o Auditor del espacio pueden ver las aplicaciones disponibles en el espacio:

kf apps

Ver espacios de Kf en un clúster

Todos los roles (SpaceManager, SpaceDeveloper y SpaceAuditor) pueden ver los espacios de Kf disponibles en un clúster:

kf spaces

Ver los miembros de un espacio y sus roles en él.

kf space-users

Marcas de suplantación de identidad

Para verificar el permiso de un miembro, un miembro con un permiso más privilegiado puede probar los permisos de otro miembro mediante las marcas de suplantación de identidad --as y --as-group.

Por ejemplo, como administrador de clúster, puedes verificar si un usuario (nombre de usuario: bob) tiene permiso para enviar una aplicación.

kf push APP_NAME --as bob

Verifica que un grupo (manager-group@example.com) tenga permiso para asignar permisos a otros miembros.

kf set-space-role bob SpaceDeveloper --as-group manager-group@example.com