Aplicar de manera forzosa el acceso basado en certificados para un grupo de usuarios

En esta página, se explica cómo aplicar de manera forzosa el acceso basado en certificados (CBA) usando políticas de acceso adaptado al contexto basadas 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 se aplica a todas las aplicaciones cliente que llaman a Google Cloud APIs Las aplicaciones incluyen aplicaciones propias creadas por Google, como la consola de Google Cloud y Google Cloud CLI, y aplicaciones de terceros. También puedes aplicar las restricciones a aplicaciones cliente específicas eximir 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 el administrador de la organización y los roles de Administrador de vinculación 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 nuevas: Especifica el grupo al que deseas otorgar la en el área de la seguridad en la nube.
    2. En la opción Selecciona un rol, Access Context Manager > Administrador de vinculación de acceso a Cloud.
    3. Haz clic en Guardar.

gcloud

  1. Accede a tu cuenta:

    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 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.

Vincula un nivel de acceso de CBA a un grupo de usuarios

En esta opción de vinculación, el nivel de acceso de CBA se aplica a todos los clientes aplicaciones para el 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 Add y, luego, configura lo siguiente:

    1. 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.
    2. Seleccionar niveles de acceso: Selecciona el nivel de acceso de CBA que desees aplicar al grupo.
    3. 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 utilizar esta opción para aplicar niveles de acceso CBA a las aplicaciones que admite 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 de 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 Google aplicaciones, usa el nombre de la aplicación, como Cloud Console para el Consola de Google Cloud Solo la consola de Google Cloud y el SDK de Google Cloud Se admiten aplicaciones de Google.

    {
        "groupKey": "{GROUP_KEY}",
        "restricted_client_applications": [
            {"name": "Cloud Console"},
            {"name": "Google Cloud SDK"},
            {"client_id": "{CLIENT_ID}"}
        ],
        "accessLevels": [ "{LEVEL}" ],
    }
    
  3. Crea la vinculación de 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.

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

    $ 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 .

En los siguientes pasos, se da por sentado que ya creó un nivel de acceso para CBA que requiere certificados para determinar el acceso a los recursos.

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

  2. 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}" ],
    }
    
  3. 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 la organización.