En este documento, se muestra cómo proteger el acceso a la consola de Google Cloud y las APIs de Google Cloud con las 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 que cumplan con los requisitos de acceso definidos puedan acceder a la consola de Google Cloud y a 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:
- Implementa Endpoint Verification en los dispositivos de tu organización (opcional).
- Crea un nivel de acceso en Access Context Manager.
- Crea un grupo de usuarios que esté sujeto a restricciones adaptadas al contexto.
- Obtén los permisos necesarios de la administración de identidades y accesos.
- Crea una vinculación de acceso que aplique reglas contextuales para la consola de Google Cloud y las APIs de Google Cloud.
[Opcional] Implementa la verificación de extremos
Si deseas proteger el acceso a la consola de Google Cloud y a las APIs de Google Cloud con los atributos del dispositivo, implementa la Verificación de extremos en los dispositivos 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. Un administrador puede implementarlo en los dispositivos de la organización de la empresa desde la Consola del administrador de Google, o los 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
Ve a la página IAM y administración en la consola de Google Cloud.
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.
Haga clic en Save.
gcloud
Asegúrate de haberte autenticado con privilegios suficientes para agregar permisos de IAM a nivel de la organización. Como mínimo, necesitas el rol de Administrador de la organización.
Una vez que confirmes que tienes los permisos adecuados, accede con el siguiente comando:
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 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.
Las vinculaciones de acceso te permiten definir cómo los grupos de usuarios pueden acceder a tus APIs y aplicaciones de Google Cloud. Puedes lograrlo vinculando un grupo de usuarios a un nivel de acceso, que define los permisos y las restricciones que se aplican acceso del grupo a las aplicaciones.
Puedes especificar aplicaciones en vinculaciones de acceso con su ID de cliente de OAuth. Puedes especificar las siguientes aplicaciones con su nombre:
- Consola de Google Cloud
- SDK de Google Cloud
- Biblioteca de Google Auth Si usas las credenciales predeterminadas de la aplicación (ADC) que genera la CLI de gcloud y deseas usar el nombre, debes usar el ID de cliente predeterminado integrado en la CLI de gcloud. No puedes proporcionar un archivo de ID de cliente a gcloud CLI.
Puedes crear los siguientes tipos de vinculaciones de acceso:
- Vincula grupos de usuarios a niveles de acceso: Aplica un nivel de acceso de forma global a todas las aplicaciones cliente que usa un grupo de usuarios específico. Este es un enfoque amplio adecuado para situaciones en las que se requiere un control de acceso coherente en todos aplicaciones.
- Vincula grupos de usuarios a niveles de acceso específicos de la aplicación: Para obtener un control más detallado, puedes asignar diferentes niveles de acceso a aplicaciones específicas para un grupo de usuarios. Esto evita restricciones no deseadas, ya que adapta el acceso según las necesidades y la sensibilidad de la aplicación.
Vincula grupos de usuarios a niveles de acceso con la configuración de prueba: Antes de implementar por completo las vinculaciones de acceso, puedes probar el impacto de los cambios con una configuración de prueba. Esto te permite identificar y abordar cualquier posible problema antes de que afecte a los usuarios.
Puedes crear los siguientes tipos de vinculaciones de acceso con la ejecución de prueba parámetros de configuración:
- Entre un grupo y un nivel de acceso de ejecución de prueba
- Entre un grupo, un nivel de acceso normal y un nivel de acceso de prueba de validación
- Entre un grupo y un mapa de aplicaciones, cada una con ejecución normal y de prueba niveles de acceso
Crea una vinculación de acceso con un nivel de acceso
Console
Ve a la página Chrome Enterprise Premium en la consola de Google Cloud.
Elige una organización y haz clic en Seleccionar.
Haz clic en Administrar acceso para elegir los grupos de usuarios que deben tener acceso.
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.
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 de grupo del grupo de usuarios que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. -
ORG_ID
es el ID de la organización que usaste cuando creaste la RolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. -
POLICY_ID
es el ID de la política de acceso de tu organización. -
ACCESS_LEVEL
tiene el formatoaccessPolicies/
. Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde 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 el rolGcpAccessAdmin
. -
GROUP_ID
es el ID de grupo del grupo de usuarios que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. -
POLICY_ID
es el ID de la política de acceso de tu organización. -
ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde 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 un mapa de aplicaciones para los niveles de acceso
La vinculación con un mapa de aplicaciones a niveles de acceso te permite aplicar niveles de acceso a aplicaciones específicas, lo que evita efectos imprevistos en otras aplicaciones. Este tipo de vinculación admite los siguientes tipos de casos de uso:
Restringir el acceso a aplicaciones seleccionadas: Aplica niveles de acceso a aplicaciones específicas. aplicaciones sin afectar a otras aplicaciones.
Ejemplo: Quieres implementar acceso basado en certificados (mTLS) para las APIs de Google Cloud, comenzando por la consola de Google Cloud. Puedes crear una vinculación que aplique la mTLS solo a la consola de Google Cloud, sin afectar a otras aplicaciones. Más adelante, puedes expandir esto a otras aplicaciones según sea necesario, con simulaciones y registros de auditoría para guiar tus decisiones.
Eximir solicitudes de políticas globales: Excluye aplicaciones específicas. de niveles de acceso de aplicación amplia.
Ejemplo: Tu organización implementa un basada en IP para todas las APIs de Google Cloud. Sin embargo, esto genera problemas para dos aplicaciones de Docker. Puedes crear exenciones para las aplicaciones de Docker, lo que les permite omitir las restricciones de IP globales.
Crea una vinculación de acceso que restrinja las aplicaciones cliente
gcloud
Crea una vinculación de acceso.
gcloud access-context-manager cloud-bindings create \
--organization ORG_ID \
--group-key GROUP_ID \
--binding-file BINDING_FILE_PATH
Reemplaza lo siguiente:
-
ORG_ID
es el ID de la organización que usaste cuando creaste la RolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. -
GROUP_ID
es el ID del grupo de usuarios que que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. -
BINDING_FILE_PATH
es la ruta de acceso al archivo YAML que contiene el esquema de vinculación de acceso. El archivo de vinculación solo admitescopedAccessSettings
.
A continuación, se muestra un ejemplo de archivo de vinculación que vincula la consola de Google Cloud. y la aplicación de OAuth de un usuario a dos niveles de acceso distintos.
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
accessLevels:
- ACCESS_LEVEL_1
- scope:
clientScope:
restrictedClientApplication:
client_id: CLIENT_ID
activeSettings:
accessLevels:
- ACCESS_LEVEL_2
Reemplaza lo siguiente:
-
ACCESS_LEVEL_1
Un nivel de acceso que define la condición de acceso a una aplicación cliente. -
CLIENT_ID
: Es el ID de cliente de OAuth de la aplicación. -
ACCESS_LEVEL_2
Un nivel de acceso que define la condición de acceso a una aplicación cliente.
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 el rolGcpAccessAdmin
. -
GROUP_ID
es el ID del grupo de usuarios que que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. -
CLIENT_ID
El ID de cliente de OAuth de la aplicación. -
ACCESS_LEVEL_1
Un nivel de acceso que define la condición de acceso a una aplicación cliente. -
ACCESS_LEVEL_2
Un nivel de acceso que define la condición de acceso a una aplicación cliente.
Método HTTP y URL:
POST
https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
El siguiente cuerpo JSON de la solicitud vincula la consola de Google Cloud y la aplicación de OAuth de un usuario a dos niveles de acceso distintos.
{
"group_key": "{GROUP_ID}",
"scoped_access_settings": [
{
"scope": {
"client_scope": {
"restricted_client_application": {
"name": "Cloud Console"
}
}
},
"active_settings": {
"access_levels": [
{ACCESS_LEVEL_1}
]
}
},
{
"scope": {
"client_scope": {
"restricted_client_application": {
"client_id": "{CLIENT_ID}"
}
}
},
"active_settings": {
"access_levels": [
"{ACCESS_LEVEL_2}"
]
}
}
]
}
Para enviar la solicitud, elige una de las siguientes opciones:
curl
Con el siguiente comando, se supone que accediste a la CLI de gcloud con tu cuenta de usuario a través de la ejecución de gcloud
init
o gcloud auth
login
, o a través del uso de Cloud Shell, que accede automáticamente a la CLI de gcloud. Para verificar la cuenta activa en este momento, haz lo siguiente:
ejecutando gcloud auth list
.
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"
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" ] }
PowerShell
En el siguiente comando, se supone que accediste a gcloud CLI con tu cuenta de usuario mediante la ejecución de gcloud
init
o gcloud auth
login
. Para comprobar la cuenta activa actual, ejecuta gcloud auth list.
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta
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" ] }
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "organizations/660620010374/gcpUserAccessBindings/aAQS-YRQXEDW8mJ4tE5U7VIDwBczxhxwtfUaDkUDLBKBIPvzH", "groupKey": "019c6y182grvb0j", "scopedAccessSettings": [ { "scope": { "clientScope": { "restrictedClientApplication": { "name": "Cloud Console" } } }, "activeSettings": { "accessLevels": [ "accessPolicies/244346580249/accessLevels/requireMutualTLS" ] } }, { "scope": { "clientScope": { "restrictedClientApplication": { "clientId": "32555940559.apps.googleusercontent.com" } } }, "activeSettings": { "accessLevels": [ "accessPolicies/244346580249/accessLevels/requireMutualTLS" ] } } ] }
Crea una vinculación de acceso que excluya las aplicaciones cliente
gcloud
Crea una vinculación de acceso.
gcloud access-context-manager cloud-bindings create \ --organization {ORG_ID} \ --group-key {GROUP_ID} \ --level {ACCESS_LEVEL} \ --binding-file {BINDING_FILE_PATH}
Reemplaza lo siguiente:
-
ORG_ID
es el ID de la organización que usaste cuando creaste la RolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. -
GROUP_ID
es el ID de grupo del grupo de usuarios que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método
get
en el recursoGroups
. -
ACCESS_LEVEL
tiene el formatoaccessPolicies/
. Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde que creaste el nivel de acceso. Este nivel de acceso define la condición de acceso que es se aplican a todas las aplicaciones cliente. -
BINDING_FILE_PATH
es la ruta al archivo YAML que contiene el archivo de acceso. de vinculación de cuentas. El archivo de vinculación solo admitescopedAccessSettings
. En el caso de uso de exención, este archivo de vinculación contiene las aplicaciones exentas del nivel de acceso.
A continuación, se muestra un ejemplo de archivo de vinculación que vincula la consola de Google Cloud y la aplicación de OAuth de un usuario a dos niveles de acceso distintos.
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
accessLevels:
- {EXEMPTION_ACCESS_LEVEL}
- scope:
clientScope:
restrictedClientApplication:
client_id: {CLIENT_ID}
activeSettings:
accessLevels:
- {EXEMPTION_ACCESS_LEVEL}
Reemplaza lo siguiente:
-
EXEMPTION_ACCESS_LEVEL
Puedes crear un nivel de acceso de exención en una de de la siguiente manera:- Crear un nivel de acceso personalizado
Proporciona
true
como el valor en la condición de expresión de CEL. - Crea un nivel de acceso básico basado en un rango de IP y proporciona
0.0.0.0/0
como el valor de las subredes de IP.
- Crear un nivel de acceso personalizado
Proporciona
-
CLIENT_ID
: Es el ID de cliente de OAuth de la aplicación.
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 el rolGcpAccessAdmin
. -
GROUP_ID
es el ID del grupo de usuarios que que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. ACCESS_LEVEL
: Es un nivel de acceso que define la condición de acceso que se aplica de forma global a todas las aplicaciones cliente.-
EXEMPTION_ACCESS_LEVEL
Puedes crear un nivel de acceso de exención de una de las siguientes maneras:- Crea un nivel de acceso personalizado y proporciona
true
como el valor en la condición de la expresión CEL. - Crea un nivel de acceso básico basado en un rango de IP y proporciona
0.0.0.0/0
como el valor de las subredes de IP.
- Crea un nivel de acceso personalizado y proporciona
-
CLIENT_ID
: Es el ID de cliente de OAuth de la aplicación.
Método HTTP y URL:
POST
https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
El siguiente cuerpo JSON de la solicitud exime a la consola de Google Cloud y una la aplicación de OAuth del usuario a partir del nivel de acceso aplicado de forma global.
{
"group_key": "{GROUP_ID}",
"access_levels": [
{ACCESS_LEVEL}
],
"scoped_access_settings": [
{
"scope": {
"client_scope": {
"restricted_client_application": {
"name": "Cloud Console"
}
}
},
"active_settings": {
"access_levels": [
{EXEMPTION_ACCESS_LEVEL}
]
}
},
{
"scope": {
"client_scope": {
"restricted_client_application": {
"client_id": "{CLIENT_ID}"
}
}
},
"active_settings": {
"access_levels": [
"{EXEMPTION_ACCESS_LEVEL}"
]
}
}
]
}
Para enviar la solicitud, elige una de las siguientes opciones:
curl
En el siguiente comando, se supone que accediste a gcloud CLI con tu cuenta de usuario mediante la ejecución de gcloud
init
o gcloud auth
login
, o bien mediante Cloud
Shell, que te permite acceder automáticamente
con gcloud CLI. Para comprobar la cuenta activa actual, ejecuta gcloud auth list
.
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"
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" ] }
PowerShell
En el siguiente comando, se supone que accediste a gcloud CLI con tu cuenta de usuario mediante la ejecución de gcloud
init
o gcloud auth
login
. Puedes consultar el estado
activa ejecutando gcloud auth list.
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" ] }
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "organizations/660620010374/gcpUserAccessBindings/aAQS-YRQXEDW8mJ4tE5U7VIDwBczxhxwtfUaDkUDLBKBIPvzH",
"groupKey": "019c6y182grvb0j",
"accessLevels": [
"accessPolicies/244346580249/accessLevels/requireMutualTLS"
],
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Cloud Console"
}
}
},
"activeSettings": {
"accessLevels": [
"accessPolicies/244346580249/accessLevels/AlwaysTrue"
]
}
},
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"clientId": "32555940559.apps.googleusercontent.com"
}
}
},
"activeSettings": {
"accessLevels": [
"accessPolicies/244346580249/accessLevels/AlwaysTrue"
]
}
}
]
}
```
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 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, crea una vinculación de acceso con un nivel de acceso de prueba.
- Para aplicar un nivel de acceso y evaluar el impacto de un nivel de acceso de ejecución de prueba 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 registra las infracciones del nivel de acceso de ejecución de prueba. 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 llamas al método
get
en el recursoGroups
. -
ORG_ID
es el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. -
POLICY_ID
es el ID de la política de acceso de tu organización. -
DRY_RUN_ACCESS_LEVEL
es elACCESS_LEVEL
(para comprender la información) el efecto.ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
y Puedes encontrarACCESS_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 RolGcpAccessAdmin
. -
GROUP_ID
es el ID del grupo de usuarios que que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. -
POLICY_ID
es el ID de la política de acceso de tu organización. -
DRY_RUN_ACCESS_LEVEL
es elACCESS_LEVEL
para el que deseas comprender el efecto.ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
y Puedes encontrarACCESS_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 un nivel de acceso 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 de grupo del grupo de usuarios que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método
get
en el recursoGroups
. -
ORG_ID
es el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. -
POLICY_ID
es el ID de la política de acceso de tu organización. -
ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde que creaste el nivel de acceso. -
DRY_RUN_ACCESS_LEVEL
es elACCESS_LEVEL
para el que deseas comprender el efecto.ACCESS_LEVEL
tiene el formatoaccessPolicies/
. Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
y Puedes encontrarACCESS_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 el rolGcpAccessAdmin
. -
GROUP_ID
es el ID de grupo del grupo de usuarios que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método
get
en el recursoGroups
. -
POLICY_ID
es el ID de la política de acceso de tu organización. -
ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
y Puedes encontrarACCESS_LEVEL_NAME
en Access Context Manager desde el momento en que creaste el nivel de acceso. -
DRY_RUN_ACCESS_LEVEL
es elACCESS_LEVEL
(para comprender la información) el efecto.ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde 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" ] }
Crea una vinculación de acceso con un mapa de aplicaciones para acceder a los niveles y realizar una prueba de los niveles de acceso
gcloud
Crea una vinculación de acceso.
gcloud access-context-manager cloud-bindings create \ --organization ORG_ID \ --group-key GROUP_ID \ --binding-file BINDING_FILE_PATH
Reemplaza lo siguiente:
-
ORG_ID
es el ID de la organización que usaste cuando creaste la RolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
. -
GROUP_ID
es el ID del grupo de usuarios que que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si llamas al método
get
en el recursoGroups
. -
BINDING_FILE_PATH
es la ruta de acceso al archivo YAML que contiene el esquema de vinculación de acceso. El archivo de vinculación solo admitescopedAccessSettings
.
A continuación, se muestra un ejemplo de archivo de vinculación que vincula la consola de Google Cloud y la aplicación de OAuth de un usuario a un nivel de acceso y uno de ejecución de prueba.
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
accessLevels:
- {ACCESS_LEVEL_1}
- scope:
clientScope:
restrictedClientApplication:
client_id: {CLIENT_ID}
dryRunSettings:
accessLevels:
- {ACCESS_LEVEL_2}
Reemplaza lo siguiente:
-
ACCESS_LEVEL_1
Un nivel de acceso que define la condición de acceso a una aplicación cliente. -
CLIENT_ID
: Es el ID de cliente de OAuth de la aplicación. -
ACCESS_LEVEL_2
Un nivel de acceso que define la condición de acceso a una aplicación cliente.
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 el rolGcpAccessAdmin
. -
GROUP_ID
es el ID de grupo del grupo de usuarios que creaste antes.Si no tienes el ID del grupo disponible, puedes recuperarlo si Con una llamada al método
get
en el recursoGroups
. -
CLIENT_ID
: Es el ID de cliente de OAuth de la aplicación. -
ACCESS_LEVEL_1
Un nivel de acceso que define la condición de acceso a una aplicación cliente. -
ACCESS_LEVEL_2
Un nivel de acceso que define la condición de acceso a una aplicación cliente.
Método HTTP y URL:
POST
https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
El siguiente cuerpo JSON de solicitud vincula la consola de Google Cloud y la interfaz la aplicación de OAuth a un nivel de acceso y uno de ejecución de prueba.
{
"group_key": "{GROUP_ID}",
"scoped_access_settings": [
{
"scope": {
"client_scope": {
"restricted_client_application": {
"name": "Cloud Console"
}
}
},
"active_settings": {
"access_levels": [
{ACCESS_LEVEL_1}
]
}
},
{
"scope": {
"client_scope": {
"restricted_client_application": {
"client_id": "{CLIENT_ID}"
}
}
},
"dry_run_settings": {
"access_levels": [
"{ACCESS_LEVEL_2}"
]
}
}
]
}
Para enviar la solicitud, elige una de las siguientes opciones:
curl
Con el siguiente comando, se supone que accediste a la CLI de gcloud con tu cuenta de usuario a través de la ejecución de gcloud
init
o gcloud auth
login
, o a través del uso de Cloud Shell, que accede automáticamente a la CLI de gcloud. Para verificar la cuenta activa en este momento, haz lo siguiente:
ejecutando gcloud auth list
.
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta
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"
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" ] }
PowerShell
En el siguiente comando, se supone que accediste a gcloud CLI con tu cuenta de usuario mediante la ejecución de gcloud
init
o gcloud auth
login
. Para comprobar la cuenta activa actual, ejecuta gcloud auth list.
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" ] }
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "organizations/660620010374/gcpUserAccessBindings/aAQS-YRQXEDW8mJ4tE5U7VIDwBczxhxwtfUaDkUDLBKBIPvzH",
"groupKey": "019c6y182grvb0j",
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Cloud Console"
}
}
},
"activeSettings": {
"accessLevels": [
"accessPolicies/244346580249/accessLevels/requireMutualTLS"
]
}
},
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"clientId": "32555940559.apps.googleusercontent.com"
}
}
},
"dryRunSettings": {
"accessLevels": [
"accessPolicies/244346580249/accessLevels/requireMutualTLS"
]
}
}
]
}
Consulta 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 enumeran los campos de registro que puedes usar para crear y ejecutar la consulta 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 |
Es el nombre de la aplicación para la que se deniega el acceso. |
protoPayload > metadata > evaluationResult |
Es el resultado de la evaluación de la política de acceso activo. 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 la ejecución de prueba. |
protoPayload > metadata > dryRunEvaluationResult |
El resultado de la evaluación de la política de acceso de la ejecución de prueba, que indica 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, consulta Lenguaje de consulta de Logging.
Console
En el menú de navegación de la consola de Google Cloud, haz clic en Logging y, luego, en Explorador de registros.
En el campo Consulta, ingresa un filtro de consulta como el siguiente 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"
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 las 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 RolGcpAccessAdmin
. . Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en el--organization
opcional. marca con el ID de la organización que usaste cuando creaste elGcpAccessAdmin
.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 el 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 RolGcpAccessAdmin
. Si no se configuró la propiedadaccess-context-manager/organization
, reemplazaORG_ID
en la marca opcional--organization
por el ID de la organización que usaste cuando creaste el rolGcpAccessAdmin
.
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 ContentDeberí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 ContentDeberí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 RolGcpAccessAdmin
. -
ACCESS_BINDING_NAME
es la cadena única que se muestra para el identificadorname
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/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde que creaste el nivel de acceso.
-
Para actualizar una vinculación de acceso con un nivel de acceso de prueba de validación, 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 formatoaccessPolicies/
.POLICY_ID
/accessLevels/DRY_ACCESS_LEVEL_NAME
Para actualizar una vinculación de acceso y cambiar el nivel de acceso y el nivel de 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
yDRY_RUN_ACCESS_LEVEL
según sea necesario.ACCESS_LEVEL
yDRY_RUN_ACCESS_LEVEL
tienen el formatoaccessPolicies/
yPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
DRY_RUN_ACCESS_LEVEL
es lo mismo queACCESS_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
Para actualizar una vinculación de acceso, como cambiar el nivel de acceso, haz lo siguiente:
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 identificadorname
cuando se creó la vinculación de acceso. -
ACCESS_LEVEL
tiene el formatoaccessPolicies/
. Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde 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 ContentDeberí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 la 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 identificadorname
cuando se creó la vinculación de acceso. -
DRY_RUN_ACCESS_LEVEL
es elACCESS_LEVEL
(para comprender la información) el efecto.ACCESS_LEVEL
está en el formulario.accessPolicies/
Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
y Puedes encontrarACCESS_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 ContentDeberí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 nivel de acceso de la 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 identificadorname
cuando se creó la vinculación de acceso. -
ACCESS_LEVEL
tiene el formatoaccessPolicies/
. Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde que creaste el nivel de acceso. -
DRY_RUN_ACCESS_LEVEL
es elACCESS_LEVEL
(para comprender la información) el efecto.ACCESS_LEVEL
tiene el formatoaccessPolicies/
. Los valores dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
yACCESS_LEVEL_NAME
se pueden encontrar en Access Context Manager desde 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 ContentDeberí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 prueba de la 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 identificadorname
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 ContentDeberí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
tiene el formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ACCESS_BINDING_NAME
es la cadena única que se muestra para el identificadorname
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 identificadorname
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?
- Para obtener más información sobre el registro de auditoría de Chrome Enterprise Premium, consulta Registro de auditoría.
- Si deseas obtener más información sobre el registro de auditoría en Access Context Manager, incluido un resumen de las operaciones de API que se registran para las acciones de administrador, consulta la Información del registro de auditoría de Access Context Manager.