Protege la consola de Google Cloud y las APIs de Google Cloud

En este documento, se muestra cómo proteger el acceso a la consola de Google Cloud y las APIs de Google Cloud con reglas basadas en el contexto.

Acceso adaptado al contexto para la consola de Google Cloud y las APIs de Google Cloud restringe el acceso a la consola de Google Cloud y a las APIs de Google Cloud con reglas basadas en el contexto. Forma parte de Chrome Enterprise Premium y ayuda a garantizar que las personas y los grupos de tu organización cumplan con los requisitos de acceso definidos pueden acceder a la consola de Google Cloud y al Las APIs de Google Cloud (incluido el acceso desde Google Cloud CLI).

Para proteger la consola de Google Cloud y las APIs de Google Cloud, completa la los siguientes pasos:

  1. Implementa Endpoint Verification en los dispositivos de tu organización (opcional).
  2. Crea un nivel de acceso en Access Context Manager.
  3. Crea un grupo de usuarios sujetos a restricciones contextuales.
  4. Obtén los permisos necesarios de la administración de identidades y accesos.
  5. Crea una vinculación de acceso que aplique reglas adaptadas al contexto para la consola y las APIs de Google Cloud.

[Opcional] Implementa la verificación de extremos

Si quieres proteger el acceso a la consola de Google Cloud y las APIs de Google Cloud con los atributos del dispositivo, implementar Verificación de extremos a los dispositivos de tu para que se adapten a las necesidades de tu organización.

La Verificación de extremos se ejecuta como una extensión de Chrome para los usuarios en computadoras de escritorio y laptops en macOS, Windows y Linux. Los el administrador puede implementarlo a los dispositivos que son propiedad de la empresa desde la Consola del administrador de Google miembros de la organización pueden instalarlo por su cuenta.

Crea un nivel de acceso

Debes definir un nivel de acceso que pueda usarse cuando determines el acceso. a la consola de Google Cloud y a las APIs de Google Cloud crear un nivel de acceso básico en Access Context Manager.

Cómo crear un grupo de usuarios

Cómo crear un grupo de usuarios que deben limitarse a restricciones contextuales. Cualquier usuario de este grupo que también son miembros de tu organización deben cumplir con el nivel de acceso que creaste anteriormente para acceder a la consola de Google Cloud y al APIs de Google Cloud.

Otorga los permisos de IAM necesarios

Otorga a nivel de organización los permisos de IAM que se necesitarán para crear vinculaciones de acceso de Access Context Manager.

Console

  1. Ve a la página IAM y administración en la consola de Google Cloud.

    Ir a IAM y administración

  2. Haz clic en Agregar y configura lo siguiente:

    • Miembros nuevos: especifica el usuario o el grupo al que deseas otorgar los permisos.
    • Selecciona una función: Selecciona Access Context Manager > Administrador de vinculaciones de acceso a Cloud.
  3. Haga clic en Save.

gcloud

  1. Asegúrate de estar autenticado con privilegios suficientes para agregar los permisos de IAM a nivel de la organización. Como mínimo, necesitas la Administrador de la organización en el área de la seguridad en la nube.

    Una vez que confirmes que tienes los permisos adecuados, accede con el siguiente comando:

    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 el grupo al que deseas otorgar el rol.

Crea una vinculación de acceso

Una vinculación de acceso es una asignación entre el grupo de el nivel de acceso de Access Context Manager que definidos para acceder a la consola de Google Cloud y a las APIs de Google Cloud.

Puedes crear una vinculación de acceso de una de las siguientes maneras:

  • Vinculación de acceso entre un grupo y un nivel de acceso
  • Vinculación de acceso entre un grupo y un nivel de acceso con configuración de ejecución de prueba. Con la configuración de ejecución de prueba, puedes crear una vinculación de acceso entre un grupo y un nivel de acceso de prueba, o entre un grupo, un nivel de acceso y un nivel de acceso de prueba de validación.

Crea una vinculación de acceso con un nivel de acceso

Console

  1. Ve a la página Chrome Enterprise Premium en la consola de Google Cloud.

    Ir a Chrome Enterprise Premium

  2. Elige una organización y 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 configura lo siguiente:

    • Grupos de miembros: Especifica el grupo al que deseas otorgar acceso. Solo grupos que aún no están vinculados a un nivel de acceso están disponibles para seleccionado.
    • Selecciona niveles de acceso: Elige el nivel de acceso que se debe aplicar al grupo.
  5. Haz clic en Guardar.

gcloud

Puedes consultar Google Cloud CLI para obtener más información sobre esta y otras gcloud access-context-manager cloud-bindings comandos, incluidas opciones de marca adicionales.

 gcloud access-context-manager cloud-bindings create \
    --group-key GROUP_ID \
    --level ACCESS_LEVEL \
    --organization ORG_ID

Aquí:

  • GROUP_ID es el ID del grupo de usuarios que que creaste antes.

    Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método get en el recurso Groups.

  • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin. Si no se configuró la propiedad access-context-manager/organization, reemplaza ORG_ID en el --organization opcional. marca con el ID de la organización que usaste cuando creaste el GcpAccessAdmin.
  • POLICY_ID es el ID de la política de acceso de tu organización.
  • ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

API

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin.
  • GROUP_ID es el ID del grupo de usuarios que que creaste antes.

    Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método get en el recurso Groups.

  • POLICY_ID es el ID de la política de acceso de tu organización.
  • ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

Método HTTP y URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Cuerpo JSON de la solicitud:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ]
}

Crea una vinculación de acceso con la configuración de ejecución de prueba

Puedes crear una vinculación de acceso con la configuración de ejecución de prueba para comprender la impacto de los niveles de acceso de tu entorno en las siguientes situaciones: diferentes:

  • Para evaluar el impacto de un nivel de acceso antes de aplicarlo, crear una vinculación de acceso con un nivel de acceso de ejecución de prueba.
  • Para aplicar un nivel de acceso y evaluar el impacto de un nivel de acceso de prueba de validación al mismo tiempo, crea una vinculación de acceso con un nivel de acceso activo y con un nivel de acceso de ejecución de prueba.

Una vinculación de acceso con un nivel de acceso de ejecución de prueba no impide el acceso, pero las infracciones del nivel de acceso de prueba de validación. Para ver los detalles del registro, consulta la registros de denegación.

Crea una vinculación de acceso con un nivel de acceso de ejecución de prueba

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Aquí:

  • GROUP_ID es el ID del grupo de usuarios que que creaste antes.

    Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método get en el recurso Groups.

  • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin. Si no se configuró la propiedad access-context-manager/organization, reemplaza ORG_ID en el --organization opcional. marca con el ID de la organización que usaste cuando creaste el GcpAccessAdmin.
  • POLICY_ID es el ID de la política de acceso de tu organización.
  • DRY_RUN_ACCESS_LEVEL es el ACCESS_LEVEL (para comprender la información) el efecto. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

API

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin.
  • GROUP_ID es el ID del grupo de usuarios que que creaste antes.

    Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método get en el recurso Groups.

  • POLICY_ID es el ID de la política de acceso de tu organización.
  • DRY_RUN_ACCESS_LEVEL es el ACCESS_LEVEL (para comprender la información) el efecto. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

Método HTTP y URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Cuerpo JSON de la solicitud:

{
  "groupKey": "GROUP_ID",
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",

  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Crea una vinculación de acceso con un nivel de acceso y uno de ejecución de prueba

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --level = ACCESS_LEVEL \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Aquí:

  • GROUP_ID es el ID del grupo de usuarios que que creaste antes.

    Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método get en el recurso Groups.

  • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin. Si no se configuró la propiedad access-context-manager/organization, reemplaza ORG_ID en el --organization opcional. marca con el ID de la organización que usaste cuando creaste el GcpAccessAdmin.
  • POLICY_ID es el ID de la política de acceso de tu organización.
  • ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.
  • DRY_RUN_ACCESS_LEVEL es el ACCESS_LEVEL (para comprender la información) el efecto. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

API

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin.
  • GROUP_ID es el ID del grupo de usuarios que que creaste antes.

    Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método get en el recurso Groups.

  • POLICY_ID es el ID de la política de acceso de tu organización.
  • ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.
  • DRY_RUN_ACCESS_LEVEL es el ACCESS_LEVEL (para comprender la información) el efecto. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

Método HTTP y URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Cuerpo JSON de la solicitud:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ],
  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Visualiza los registros de denegación

Después de crear una configuración de ejecución de prueba, puedes revisar los registros para identificar en la que la configuración de ejecución de prueba deniega el acceso.

En la siguiente tabla, se indican los campos de registro que puedes usar para crear y ejecutar la para obtener los registros:

Nombre del campo Descripción
protoPayload > authenticationInfo > principalEmail ID de correo electrónico de la principal para la que se denegó el acceso.
protoPayload > metadata > deniedApplications Nombre de la aplicación para la que se denegó el acceso.
protoPayload > metadata > evaluationResult El resultado de la evaluación de la política de acceso activa. Valores posibles: GRANTED o DENIED.
protoPayload > metadata > appliedAccessLevels Los niveles de acceso aplicados que requiere la política de acceso activa.
protoPayload > metadata > appliedDryRunAccessLevels Los niveles de acceso aplicados que requiere la política de acceso de prueba de validación.
protoPayload > metadata > dryRunEvaluationResult El resultado de la evaluación de la política de acceso de prueba de validación, que indica la la acción prevista cuando se aplica la política de acceso. Valores posibles: GRANTED o DENIED.

Para obtener detalles sobre cómo crear consultas para registros, visita Lenguaje de consulta de Logging.

Console

  1. En el menú de navegación de la consola de Google Cloud, haz clic en Logging y, luego, Haz clic en Explorador de registros.

    Ir al Explorador de registros

  2. En el campo Consulta, ingresa un filtro de consulta como el siguiente filtro. y, luego, haz clic en Ejecutar consulta.

    severity="ERROR" AND
    (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
     protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
     protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
    
  3. Visualiza los registros en Resultados de la consulta.

gcloud

Para ver los registros con gcloud CLI, ejecuta un comando como el siguiente:

gcloud logging read 'severity="ERROR" AND
  (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
   protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
   protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'

Administra vinculaciones de acceso

Luego de que se crean las vinculaciones de acceso para un grupo de usuarios, puedes acceder al La consola de Google Cloud y las APIs de Google Cloud se controlan según la satisfacción del nivel de acceso limitado.

Puedes ver los detalles de la vinculación de acceso que creaste, editarla o borrarlo.

Ver vinculaciones de acceso

Console

Puedes ver todas las vinculaciones de acceso de la organización los detalles de una vinculación de acceso.

gcloud

  • Para ver todas las vinculaciones de acceso, ejecuta el siguiente comando:

      gcloud access-context-manager cloud-bindings list \
       --organization ORG_ID
    

    Aquí:

    ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin. . Si no se configuró la propiedad access-context-manager/organization, reemplaza ORG_ID en el --organization opcional. marca con el ID de la organización que usaste cuando creaste el GcpAccessAdmin.

  • Para ver los detalles de una vinculación de acceso, ejecuta el siguiente comando:

      gcloud access-context-manager cloud-bindings describe \
      --binding=BINDING_ID
    

    Aquí:

    BINDING_ID es el ID de la vinculación de acceso o del identificador completamente calificado para la vinculación de acceso.

API

  • Visualiza todas las vinculaciones de acceso:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin. Si no se configuró la propiedad access-context-manager/organization, reemplaza ORG_ID en el --organization opcional. marca con el ID de la organización que usaste cuando creaste el GcpAccessAdmin.

    Método HTTP y URL:

    GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

    PowerShell

    Ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
      "name": string,
      "groupKey": string,
      "accessLevels": [
        string
      ]
      "dryRunAccessLevels": [
      string
      ]
    }
    
    

  • Consulta los detalles de una vinculación de acceso:

    Método HTTP y URL:

    GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/BINDING_ID"

    PowerShell

    Ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand Content

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

Actualiza las vinculaciones de acceso

Console

Puedes actualizar una vinculación de acceso según sea necesario.

gcloud

  • Para actualizar una vinculación de acceso, como cambiar el nivel de acceso, ejecuta el siguiente comando: siguiente comando:

      gcloud access-context-manager cloud-bindings update \
         --binding ACCESS_BINDING \
         --level ACCESS_LEVEL
    

    Aquí:

    • ACCESS_BINDING está en el formulario. organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
    • ORG_ID es el ID de la organización que usaste cuando creaste la Rol GcpAccessAdmin.
    • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.
    • Reemplaza el valor de ACCESS_LEVEL según sea necesario. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.
  • Para actualizar una vinculación de acceso con un nivel de acceso de ejecución de prueba, ejecuta el siguiente comando: :

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Reemplaza el valor por DRY_RUN_ACCESS_LEVEL según sea necesario. Tiene el formato accessPolicies/POLICY_ID/accessLevels/DRY_ACCESS_LEVEL_NAME.

  • Actualiza una vinculación de acceso y cambia el nivel de acceso y el acceso de prueba de validación ejecuta el siguiente comando:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
     --level=`ACCESS_LEVEL`
     --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Reemplaza el valor de ACCESS_LEVEL y DRY_RUN_ACCESS_LEVEL según sea necesario. ACCESS_LEVEL y DRY_RUN_ACCESS_LEVEL están en el formulario, accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME y DRY_RUN_ACCESS_LEVEL es lo mismo que ACCESS_LEVEL.

  • Para quitar un nivel de acceso de ejecución de prueba de una vinculación de acceso, ejecuta el siguiente comando: :

      gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=
    

API

  • Actualiza una vinculación de acceso, por ejemplo, para cambiar el nivel de acceso:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.
    • ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

    Método HTTP y URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels

    Cuerpo JSON de la solicitud:

    {
        "accessLevels": [ "ACCESS_LEVEL" ]
    }
    
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"

    PowerShell

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand Content

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
        "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
        "groupKey": "045jfvxd0ybeul8",
        "accessLevels": [
          "accessPolicies/305009197125/accessLevels/device_lock"
        ]
    }
    
    

  • Actualiza una vinculación de acceso con el nivel de acceso de ejecución de prueba:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.
    • DRY_RUN_ACCESS_LEVEL es el ACCESS_LEVEL (para comprender la información) el efecto. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

    Método HTTP y URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Cuerpo JSON de la solicitud:

    {
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
    }
    
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
      name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
    
      group_key: "045jfvxd0ybeul8",
    
      dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ]
      }
    
    

  • Actualiza una vinculación de acceso y cambia el nivel de acceso y el acceso de ejecución de prueba nivel:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.
    • ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.
    • DRY_RUN_ACCESS_LEVEL es el ACCESS_LEVEL (para comprender la información) el efecto. ACCESS_LEVEL está en el formulario. accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Los valores de POLICY_ID y Puedes encontrar ACCESS_LEVEL_NAME en Access Context Manager desde el momento en que creaste el nivel de acceso.

    Método HTTP y URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels

    Cuerpo JSON de la solicitud:

    {
      "accessLevels": [ "ACCESS_LEVEL" ],
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
     }
    
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"

    PowerShell

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand Content

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

  • Quita un nivel de acceso de ejecución de prueba de una vinculación de acceso:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.

    Método HTTP y URL:

    PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Cuerpo JSON de la solicitud:

    {
      "dryRunAccessLevels": [ ]
    }
    
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Borrar vinculaciones de acceso

Console

Puedes borrar una vinculación de acceso cuando sea necesario.

gcloud

   gcloud access-context-manager cloud-bindings delete \
       --binding ACCESS_BINDING

Aquí:

  • ACCESS_BINDING está en el formulario. organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
  • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.

API

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • ACCESS_BINDING_NAME es la cadena única que se muestra. para el identificador name cuando se creó la vinculación de acceso.

Método HTTP y URL:

DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Preguntas frecuentes

  • ¿Cuánto tiempo toma en que surta efecto una vinculación de acceso recién creada?

    Esto puede tardar hasta 24 horas.

  • ¿Qué sucede si borro un grupo que tiene una vinculación de acceso?

    El grupo y la vinculación se borran, y todos los usuarios en el grupo tienen acceso permitido.

  • ¿Qué sucede si borro el nivel de acceso que se usa en una vinculación de acceso?

    El nivel de acceso nunca se puede satisfacer, y todos los usuarios del grupo vinculado tienen acceso denegado.

  • ¿Qué sucede cuando un usuario está en varios grupos que tienen vinculaciones de acceso?

    El usuario solo debe satisfacer el nivel de acceso de uno de esos grupos para obtener acceso.

  • ¿Qué sucede con los usuarios que no forman parte de mi organización?

    Cualquier persona que no sea parte de tu organización, incluso si los agregaste al grupo de usuarios que debe estar sujetos a las restricciones contextuales, no están sujetos a la vinculación de acceso.

¿Qué sigue?