Cada sujeto (un usuario o un grupo) sigue un proceso de dos pasos para obtener acceso al servidor de la API global. Concede a un sujeto permisos en el servidor de la API global
con IAMRoleBinding
a un IAMRole
predefinido. Todos los roles y las asignaciones de roles son globales.
Los perfiles (IO, PA y AO) no son roles, sino conjuntos de roles de usuario asignados a permisos específicos y a usuarios concretos.
Configurar vinculaciones de roles
Puedes configurar enlaces de rol que den acceso a los miembros del equipo a los recursos a nivel de organización o de proyecto.
Para obtener los permisos que necesitas para configurar las vinculaciones de roles, pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de administrador de gestión de identidades y accesos de la organización.
Para asignar un rol a un miembro autorizado, sigue estos pasos:
Consola
- Inicia sesión en la consola de GDC.
- Selecciona una organización o un proyecto en el selector de ámbito.
- Para configurar las vinculaciones de roles de una organización, selecciona una organización.
- Para configurar las vinculaciones de roles de un proyecto, selecciona un proyecto.
- En el menú de navegación, haz clic en Identidad y acceso > Acceso.
- Haz clic en Añadir miembro.
- Elige si quieres añadir usuarios concretos o grupos.
- En la lista Proveedor de identidades, seleccione un proveedor.
- En el campo Nombre de usuario o alias de grupo, introduce el nombre de usuario, la dirección de correo o el alias.
- En la lista Rol, selecciona el rol que quieras asignar al usuario o al grupo (por ejemplo, Lector de la organización a nivel de organización o Creador de proyectos a nivel de proyecto).
- Haz clic en Añadir.
El miembro aparecerá en la lista Miembro autorizado.
gdcloud
Asegúrate de que tienes instalada la CLI de gdcloud.
Inicia sesión con el comando
gdcloud auth login
para autenticarte con tu proveedor de identidades. Para obtener más información, consulta la autenticación de la CLI de gdcloud.Configura las vinculaciones de roles.
Configura las asignaciones de roles de una organización:
gdcloud organizations add-iam-policy-binding ORGANIZATION \ --member=USER_ACCOUNT \ --role=ROLE
Sustituye las siguientes variables:
ORGANIZATION
: el nombre de la organización para la que vas a configurar el enlace de rol.USER_ACCOUNT
: la cuenta de usuario a la que quieres asignar el rol. Esta marca acepta una dirección de correo de usuario con el prefijo del proveedor de identidades (user:idpprefix-user@example.com
) o un nombre de cuenta de servicio con el proyecto de la cuenta de servicio (serviceAccount:projectName:serviceAccountName
).ROLE
: el nombre del rol predefinido o personalizado que quieras asignar al usuario.
Configura las vinculaciones de roles de un proyecto:
gdcloud projects add-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role=ROLE
Sustituye las siguientes variables:
PROJECT
: el nombre del proyecto para el que estás configurando la vinculación de roles.USER_ACCOUNT
: la cuenta de usuario a la que quieres asignar el rol. Esta marca acepta una dirección de correo de usuario con el prefijo del proveedor de identidades (user:idpprefix-user@example.com
) o un nombre de cuenta de servicio con el proyecto de la cuenta de servicio (serviceAccount:projectName:serviceAccountName
).ROLE
: el nombre del rol predefinido o personalizado que quieras asignar al usuario.
API
Exporta la credencial de usuario que utilices:
export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
Exporta la cuenta de usuario a la que quieras asignar el rol, incluido el prefijo del proveedor de identidades (por ejemplo,
idpprefix-paul@example.com
):export USERNAME=IDP_PREFIX-USER_EMAIL
Exporta el nombre del rol que necesita el usuario, como
project-creator
. Consulta las definiciones de roles para encontrar el rol correspondiente.export ROLE_NAME=ROLE_NAME
Exporta el espacio de nombres en el que se debe crear el enlace:
export BINDING_NAMESPACE=BINDING_NAMESPACE
Sustituye BINDING_NAMESPACE por
platform
en el caso de los roles con ámbito de organización o por el nombre del espacio de nombres del proyecto de destino en el caso de los roles con ámbito de proyecto.Consulta las definiciones de roles para ver una lista de roles y su ámbito.
Crea y aplica un recurso personalizado
IAMRoleBinding
:cat <<EOF | kubectl --kubeconfig ${GLOBAL_API_SERVER_KUBECONFIG} apply -f - apiVersion: iam.global.gdc.goog/v1 kind: IAMRoleBinding metadata: name: ${USERNAME}-${ROLE_NAME}-binding namespace: ${BINDING_NAMESPACE} spec: roleRef: apiGroup: iam.global.gdc.goog kind: IAMRole name: ${ROLE_NAME} subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${USERNAME} EOF
Quitar vinculaciones de roles
Cuando ya no se necesite el acceso, quita al miembro y sus roles, permisos y acceso asociados.
Para quitar miembros, sigue estos pasos:
Consola
- Inicia sesión en la consola de GDC.
- En el menú de navegación, haz clic en Identidad y acceso > Acceso.
- En la lista Miembros autorizados, selecciona un miembro.
- Haz clic en Quitar miembro.
- Cuando se te indique, haz clic en Quitar miembro para confirmar la acción.
gdcloud
Asegúrate de que tienes instalada la CLI de gdcloud.
Inicia sesión con el comando
gdcloud auth login
para autenticarte con tu proveedor de identidades. Para obtener más información, consulta la autenticación de la CLI de gdcloud.Quitar vinculaciones de roles.
Para quitar vinculaciones de roles de una organización, sigue estos pasos:
gdcloud organizations remove-iam-policy-binding ORGANIZATION \ --member=USER_ACCOUNT \ --role=ROLE
Sustituye las siguientes variables:
ORGANIZATION
: el nombre de la organización de la que vas a quitar la vinculación de rol.USER_ACCOUNT
: la cuenta de usuario de la que quieres quitar el rol. Esta marca acepta una dirección de correo de usuario con el prefijo del proveedor de identidades (user:idpprefix-user@example.com
) o un nombre de cuenta de servicio con el proyecto de la cuenta de servicio (serviceAccount:projectName:serviceAccountName
).ROLE
: el nombre del rol predefinido o personalizado que quieras quitar de la cuenta de usuario.
Para quitar vinculaciones de roles de un proyecto, sigue estos pasos:
gdcloud projects remove-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role=ROLE
Sustituye las siguientes variables:
PROJECT
: el nombre del proyecto del que vas a quitar la vinculación de rol.USER_ACCOUNT
: la cuenta de usuario de la que quieres quitar el rol. Esta marca acepta una dirección de correo de usuario con el prefijo del proveedor de identidades (user:idpprefix-user@example.com
) o un nombre de cuenta de servicio con el proyecto de la cuenta de servicio (serviceAccount:projectName:serviceAccountName
).ROLE
: el nombre del rol predefinido o personalizado que quieras quitar de la cuenta de usuario.
API
Elimina el IAMRoleBinding
para revocar el permiso concedido a la cuenta de PA:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE
Haz los cambios siguientes:
- GLOBAL_API_SERVER_KUBECONFIG: la ruta al archivo kubeconfig para acceder al servidor de la API global.
- USERNAME: la cuenta de usuario a la que quieres quitar el rol, incluido el prefijo del proveedor de identidades (por ejemplo,
idpprefix-paul@example.com
). - ROLE_NAME: el nombre del rol que quieras quitar, como
project-creator
. - BINDING_NAMESPACE: sustitúyelo por
platform
para los roles con ámbito de organización o por el nombre del espacio de nombres del proyecto de destino para los roles con ámbito de proyecto.
Revocar el acceso de un usuario
Si un miembro abandona tu organización o equipo, puedes revocar su acceso a Google Distributed Cloud (GDC) air-gapped. Al revocar el acceso de un usuario, se cierra su sesión en Distributed Cloud y se eliminan sus roles y permisos. También puedes consultar la actividad y las sesiones del usuario por hora de inicio y de finalización.
Para revocar el acceso de un usuario en todo un universo de GDC, debes revocar el acceso de cada zona por separado. Sigue estos pasos para cada zona:
Asegúrate de que has iniciado sesión en la zona a la que quieres revocar el acceso. Por ejemplo, configura la URL zonal para la CLI de gdcloud y, a continuación, inicia sesión:
gdcloud config set organization_console_url ZONE_URL gdcloud auth login
Sustituye
ZONE_URL
por la URL de la consola de GDC de la zona para la que quieras revocar el acceso de usuario, que es similar ahttps://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX
.Para obtener más información sobre cómo cambiar de contexto de zona, consulta el artículo sobre cómo gestionar recursos en varias zonas.
Obtén los permisos que necesitas para revocar el acceso de los usuarios. Pídele al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de administrador de sesiones de la organización (
org-session-admin
).Revoca el acceso del usuario a la zona:
gdcloud admin auth revoke --accounts USER_EMAIL
Sustituye USER_EMAIL por el correo del usuario al que quieras revocar el acceso.
Después de ejecutar el comando, verá un resultado similar al siguiente. En este ejemplo se revoca el acceso del usuario
ariel@example.com
:Success: NUMBER of sessions revoked for user ariel@example.com
En este ejemplo, la variable NUMBER hace referencia al número de sesiones activas que ha tenido el usuario.
Confirma que has revocado el acceso del usuario ejecutando de nuevo el comando
gdcloud admin auth revoke
. Si la acción se realiza correctamente, verá lo siguiente:No sessions found for account: ariel@example.com
Repite los pasos anteriores con cada zona de tu universo.