En esta página, se explica cómo aplicar el acceso basado en certificados (CBA) con políticas de acceso que se adaptan al contexto y se basan en un grupo de usuarios.
Puedes restringir el acceso a todos los servicios de Google Cloud vinculando un Nivel de acceso de CBA a un grupo de usuarios al que deseas restringir el acceso. Esta restricción se aplica a todas las aplicaciones cliente que llaman a las APIs de Google Cloud. Las aplicaciones incluyen aplicaciones propias creadas por Google, como la consola de Google Cloud y Google Cloud CLI, y aplicaciones de terceros. De manera opcional, puedes aplicar las restricciones a aplicaciones cliente específicas o exentar aplicaciones específicas.
Antes de comenzar
Asegúrate de haber creado un nivel de acceso de CBA. que requiere certificados para determinar el acceso a los recursos.
Crea un grupo de usuarios
Crea un grupo de usuarios que contenga lo siguiente: miembros a los que se les debe otorgar acceso según el nivel de acceso de CBA.
Asigna el rol Administrador de vinculación de acceso a Cloud
Asigna el Administrador de vinculación de acceso a Cloud al grupo de usuarios.
Asegúrate de tener autorización con privilegios suficientes para agregar los permisos de IAM a nivel de la organización. Como mínimo, necesitas los roles de Administrador de la organización y Administrador de vinculación de acceso a la nube.
Console
En la consola, ve a la página IAM.
En la pestaña Permisos, haz clic en Otorgar acceso y, luego, configura lo siguiente:
- Principales nuevas: Especifica el grupo al que deseas otorgar la en el área de la seguridad en la nube.
- En la opción Selecciona un rol, Access Context Manager > Administrador de vinculación de acceso a Cloud.
- Haz clic en Guardar.
gcloud
Accede a tu cuenta:
gcloud auth login
Asigna el rol
GcpAccessAdmin
mediante la ejecución del siguiente comando:gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
es el ID de tu organización. Si que aún no tienes el ID de tu organización, puedes usar el siguiente para encontrarla:gcloud organizations list
EMAIL
es la dirección de correo electrónico de la persona o grupo al que deseas otorgar el rol.
Cómo vincular un nivel de acceso de CBA a un grupo de usuarios
En esta opción de vinculación, el nivel de acceso de la CBA se aplica a todas las aplicaciones cliente del grupo de usuarios que especifiques.
En la consola, ve a la página Chrome Enterprise Premium.
Elige una organización y, luego, haz clic en Seleccionar.
Haz clic en Administrar acceso para elegir los grupos de usuarios que deben tener acceso.
Haz clic en Add y, luego, configura lo siguiente:
- Grupos de miembros: Especifica el grupo al que deseas otorgar acceso. Tú Solo puede seleccionar grupos que no estén vinculados a un nivel de acceso.
- Seleccionar niveles de acceso: Selecciona el nivel de acceso de CBA que desees aplicar al grupo.
- Haz clic en Guardar.
Vincula un nivel de acceso de CBA a un grupo de usuarios y aplicaciones específicas
En algunos casos de uso, como las aplicaciones que admiten certificados de cliente, vincular un nivel de acceso de CBA a un grupo de usuarios también podría ser lo mismo. amplias. Puedes usar esta opción para aplicar niveles de acceso de CBA a las aplicaciones que admiten certificados de cliente.
En el siguiente ejemplo, se vincula un nivel de acceso de CBA a la consola de Google Cloud, la CLI de gcloud y la aplicación de OAuth de un usuario.
Accede a gcloud CLI.
$ gcloud auth application-default login
Crea un archivo
policy_file.json
.Puedes especificar aplicaciones con su ID de cliente de OAuth. Para especificar aplicaciones de Google, usa el nombre de la aplicación, como
Cloud Console
para la consola de Google Cloud. Solo se admiten las aplicaciones de Google de la consola de Google Cloud y el SDK de Google Cloud.{ "groupKey": "{GROUP_KEY}", "restricted_client_applications": [ {"name": "Cloud Console"}, {"name": "Google Cloud SDK"}, {"client_id": "{CLIENT_ID}"} ], "accessLevels": [ "{LEVEL}" ], }
Crea la vinculación del nivel de acceso de CBA.
curl -X POST \ -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:PROJECT_ID" \ -d @policy_file.json \ https://accesscontextmanager.googleapis.com/v1/organizations/ORG-ID/gcpUserAccessBindings
En el que PROJECT_ID es el ID del proyecto de Google Cloud y ORG-ID es el ID de la organización.
(Opcional) Actualiza una vinculación de nivel de acceso existente.
$ curl -X PATCH \ -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:PROJECT_ID" \ -d @policy_file.json \ https://accesscontextmanager.googleapis.com/v1/POLICY_NAME?update_mask=restricted_client_applications
En el que PROJECT_ID es el ID del proyecto de Google Cloud y POLICY_NAME es el nombre de tu política de acceso.
Eximir una aplicación de una vinculación
Otra forma de aplicar un nivel de acceso de CBA sin bloquear las aplicaciones cliente que no admitan certificados de cliente es excluir esas aplicaciones del política de la empresa.
En los siguientes pasos, se supone que ya creaste un nivel de acceso de CBA que requiere certificados para determinar el acceso a los recursos.
Crea un nivel de acceso de exención con uno de los siguientes métodos.
- Nivel de acceso personalizado:
Proporciona
true
como el valor en la condición de expresión CEL. - Nivel de acceso básico:
Crea un
nivel de acceso basado en el rango de IP
y proporciona
0.0.0.0/0
como el valor de las subredes de IP.
- Nivel de acceso personalizado:
Proporciona
Crea un archivo
exemption_file.json
.Debes seleccionar un grupo que sea diferente del grupo utilizado en el Vincula un nivel de acceso de CBA a un grupo de usuarios. porque solo se puede aplicar una vinculación a un grupo.
{ "groupKey": "{GROUP_KEY}", "restricted_client_applications": [ {"client_id": "{CLIENT_ID}"} ], "accessLevels": [ "{LEVEL}" ], }
Crea la política de vinculación de exención.
$ curl -X POST \ -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:PROJECT_ID" \ -d @exemption_file.json \ https://accesscontextmanager.googleapis.com/v1/organizations/ORG-ID/gcpUserAccessBindings
En el que PROJECT_ID es el ID del proyecto de Google Cloud y ORG-ID es el ID de tu organización.