Aplica el acceso basado en certificados para un grupo de usuarios

En esta página, se explica cómo aplicar el acceso basado en certificados (CBA) con políticas de Acceso adaptado al contexto basadas en un grupo de usuarios.

Puedes restringir el acceso a todos los servicios de Google Cloud si vinculas un nivel de acceso de CBA a un grupo de usuarios al que quieras restringir el acceso. Esta restricción se aplica a todas las aplicaciones cliente que llaman a las APIs de Google Cloud.

De manera opcional, puedes aplicar las restricciones a aplicaciones cliente específicas o eximir a aplicaciones específicas. Las aplicaciones incluyen tanto aplicaciones de terceros como aplicaciones propias creadas por Google, como Cloud Console para la consola de Google Cloud y Google Cloud SDK para Google Cloud CLI.

Antes de comenzar

Asegúrate de haber creado un nivel de acceso de CBA que requiera certificados cuando se determine el acceso a los recursos.

Crea un grupo de usuarios

Crea un grupo de usuarios que contenga los miembros a los que se debe otorgar acceso según el nivel de acceso de CBA.

Asigna el rol de administrador de vinculaciones de acceso a Cloud

Asigna el rol de Administrador de vinculaciones de acceso a la nube al grupo de usuarios.

Asegúrate de tener la autorización y los privilegios suficientes para agregar permisos de IAM a nivel de la organización. Como mínimo, necesitas los roles de administrador de la organización y administrador de vinculaciones de acceso a Cloud.

Console

  1. En la consola, ve a la página IAM.

    Ir a IAM

  2. En la pestaña Permisos, haz clic en Otorgar acceso y, luego, configura lo siguiente:

    1. Principales nuevos: Especifica el grupo al que deseas otorgar el rol.
    2. En la opción Selecciona un rol, elige Access Context Manager > Administrador de vinculaciones de acceso a Cloud.
    3. Haz clic en Guardar.

gcloud

  1. Accede de la siguiente manera:

    gcloud auth login
    
  2. 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 aún no tienes el ID de tu organización, puedes usar el siguiente comando para encontrarlo:

       gcloud organizations list
      
    • EMAIL es la dirección de correo electrónico de la persona o el grupo al que deseas otorgar el rol.

Vincula un nivel de acceso de la 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.

  1. En la consola, ve a la página Chrome Enterprise Premium.

    Ir a Chrome Enterprise Premium

  2. Elige una organización y, luego, haz clic en Seleccionar.

  3. Haz clic en Administrar acceso para elegir los grupos de usuarios que deben tener acceso.

  4. Haz clic en Agregar y, luego, configura lo siguiente:

    1. Grupos de miembros: Especifica el grupo al que deseas otorgar acceso. Solo puedes seleccionar grupos que aún no estén vinculados a un nivel de acceso.
    2. Selecciona niveles de acceso: Selecciona el nivel de acceso de la CBA que se aplicará al grupo.
    3. Haz clic en Guardar.

Vincula un nivel de acceso de CBA a un grupo de usuarios y a 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 podría ser demasiado amplio. 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 , gcloud CLI y la aplicación OAuth de un usuario.

  1. Accede a gcloud CLI.

    gcloud auth application-default login
    
  2. 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 deGoogle Cloud . Solo se admiten las aplicaciones de Google Cloud SDK y la Google Cloud consola de Google.

    scopedAccessSettings:
    - scope:
        clientScope:
          restrictedClientApplication:
            name: Cloud Console
      activeSettings:
        accessLevels:
        - CBA_ACCESS_LEVEL
    - scope:
        clientScope:
          restrictedClientApplication:
            name: Google Cloud SDK
      activeSettings:
        accessLevels:
        - CBA_ACCESS_LEVEL
    - scope:
        clientScope:
          restrictedClientApplication:
            clientId: CLIENT_ID_1
      activeSettings:
        accessLevels:
        - CBA_ACCESS_LEVEL
    

    Reemplaza lo siguiente:

    • CLIENT_ID_1: Es el ID de cliente de OAuth.
    • CBA_ACCESS_LEVEL: Es el nombre de un nivel de acceso de la CBA en el formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
  3. Crea la vinculación del nivel de acceso de CBA.

    gcloud access-context-manager cloud-bindings create \
      --group-key='GROUP_KEY' \
      --organization='ORG_ID' \
      --binding-file=.../policy_file.json

    Reemplaza GROUP_KEY por el grupo de Acceso según el contexto y ORG_ID por el ID de tu organización.

    Si no tienes el GROUP_KEY disponible, puedes recuperarlo llamando al método get en el recurso del grupo.

  4. (Opcional) Actualiza una vinculación de nivel de acceso existente.

    gcloud access-context-manager cloud-bindings update \
      --binding='BINDING_NAME' \
      --binding-file=.../policy_file.json

    Reemplaza BINDING_NAME por el nombre de la vinculación que se generó automáticamente cuando se creó la vinculación.

Exime una aplicación de una vinculación

Otra forma de aplicar un nivel de acceso de CBA sin bloquear las aplicaciones cliente que no admiten certificados de cliente es eximir esas aplicaciones de la política.

En los siguientes pasos, se supone que ya creaste un nivel de acceso de CBA que requiere certificados cuando se determina el acceso a los recursos.

  1. Crea un nivel de acceso de excepción con uno de los siguientes métodos.

  2. Crea un archivo exemption_file.json.

    scopedAccessSettings:
    - scope:
        clientScope:
          restrictedClientApplication:
            clientId: CLIENT_ID_2
      activeSettings:
        accessLevels:
        - EXEMPT_ACCESS_LEVEL
    - scope:
        clientScope:
          restrictedClientApplication:
            name: APPLICATION_NAME_2
      activeSettings:
        accessLevels:
        - EXEMPT_ACCESS_LEVEL
    

    Reemplaza lo siguiente:

    • CLIENT_ID_2: Es el ID de cliente de OAuth.
    • APPLICATION_NAME_2: Es el nombre de la aplicación.
    • EXEMPT_ACCESS_LEVEL: Es el nombre de un nivel de acceso de exención en el formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
  3. Crea la política de vinculación de exención.

    gcloud access-context-manager cloud-bindings create \
      --group-key='GROUP_KEY' \
      --organization='ORG_ID' \
      --binding-file=.../exemption_file.json

    Reemplaza GROUP_KEY por el grupo de Acceso según el contexto y ORG_ID por el ID de tu organización.

    Si no tienes el GROUP_KEY disponible, puedes recuperarlo llamando al método get en el recurso del grupo.