En esta página se explica cómo denegar el acceso a las principales impidiendo que usen permisos específicos de Gestión de Identidades y Accesos (IAM).
En Gestión de Identidades y Accesos, se deniega el acceso con políticas de denegación. Cada política de denegación se adjunta a una organización, una carpeta o un proyecto. Trusted Cloud by S3NS Una política de denegación contiene reglas de denegación, que identifican a las entidades principales y enumeran los permisos que no pueden usar.
Las políticas de denegación son independientes de las políticas de permiso, también conocidas como políticas de gestión de identidades y accesos. Una política de permiso proporciona acceso a los recursos concediendo roles de gestión de identidades y accesos a los principales.
Puedes gestionar las políticas de denegación con la consola de Trusted Cloud , la CLI de Google Cloud o la API REST de v2
de gestión de identidades y accesos.
Antes de empezar
Enable the IAM API.
Configura la autenticación.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada. Después de iniciar sesión, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Node.js
Para usar las Node.js muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Trusted Cloud
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada.
Para obtener más información, consulta el artículo Autenticación para usar REST de la documentación sobre autenticación de Trusted Cloud .
Consulta la información general sobre las políticas de denegación.
Roles obligatorios
Para obtener los permisos que necesitas para gestionar las políticas de denegación, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en la organización:
-
Para ver las políticas de denegación, sigue estos pasos:
Revisor de denegaciones (
roles/iam.denyReviewer
) -
Para ver, crear, actualizar y eliminar políticas de denegación, haz lo siguiente:
Deny Admin (
roles/iam.denyAdmin
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para gestionar las políticas de denegación. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Se necesitan los siguientes permisos para gestionar las políticas de denegación:
-
Para ver las políticas de denegación, sigue estos pasos:
-
iam.denypolicies.get
-
iam.denypolicies.list
-
-
Para crear, actualizar y eliminar políticas de denegación, sigue estos pasos:
-
iam.denypolicies.create
-
iam.denypolicies.delete
-
iam.denypolicies.get
-
iam.denypolicies.update
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Identificar los permisos que se deben denegar
Antes de crear una política de denegación, debes decidir qué permisos quieres denegar y a qué principales.
Solo se pueden denegar algunos permisos. Para ver una lista de los permisos que puedes denegar, consulta Permisos admitidos en las políticas de denegación.
En algunos casos, también puedes usar grupos de permisos para denegar conjuntos de permisos. Para obtener más información, consulta Grupos de permisos.
Las políticas de denegación se gestionan con la API REST
v2
, que requiere un formato especial para los nombres de los permisos. Por ejemplo, el permiso para crear un rol personalizado de gestión de identidades y accesos se denomina de la siguiente manera:v1
API:iam.roles.create
v2
API:iam.googleapis.com/roles.create
Crear una política de denegación
Puedes añadir políticas de denegación a organizaciones, carpetas y proyectos. Cada recurso puede tener hasta 500 políticas de denegación.
Las políticas de denegación contienen reglas de denegación, que especifican lo siguiente:
- Los permisos que se van a denegar.
- Las entidades a las que se les deniegan esos permisos.
Opcional: principales que están exentos de la denegación de permisos.
Por ejemplo, puedes denegar un permiso a un grupo, pero eximir a usuarios específicos que pertenezcan a ese grupo.
Opcional: una expresión de condición que especifica cuándo no pueden usar los principales los permisos. En las políticas de denegación, las expresiones de condición solo pueden usar funciones para etiquetas de recursos. No se admiten otras funciones ni operadores.
Cada recurso puede tener hasta 500 reglas de denegación en todas las políticas de denegación asociadas.
Las políticas de denegación se heredan a través de la jerarquía de recursos. Por ejemplo, si deniegas un permiso a nivel de organización, también se denegará en las carpetas y los proyectos de esa organización, así como en los recursos específicos del servicio de cada proyecto.
Las políticas de denegación prevalecen sobre las de permiso. Si a una entidad se le asigna un rol que contiene un permiso específico, pero una política de denegación indica que la entidad no puede usar ese permiso, la entidad no podrá usarlo.
Consola
En la Trusted Cloud consola, ve a la pestaña Deny (Denegar) de la página IAM (Gestión de identidades y accesos).
Selecciona un proyecto, una carpeta o una organización.
Haz clic en
Crear política de denegación.En la sección Nombre de la política, define el ID de la política de una de las siguientes formas:
- En el campo Nombre visible, introduce un nombre visible para la política. Al rellenar este campo, se rellena automáticamente el campo ID. Si quieres cambiar el ID de la política, actualiza el texto del campo ID.
- En el campo ID, introduce un ID para la política.
En la sección Reglas de denegación, define las reglas de denegación de la política. Cada política de denegación debe tener al menos una regla de denegación. Para añadir reglas de denegación adicionales, haz clic en Añadir regla de denegación.
En cada regla de denegación, haga lo siguiente:
- En el campo Principales denegados, añade uno o varios principales a los que quieras impedir que usen los permisos especificados. La entidad principal puede ser cualquiera de los tipos de entidades principales de los identificadores de entidades principales de las políticas de denegación, excepto las entidades principales cuyos IDs empiecen por
deleted:
. Opcional: En el campo Entidades principales de excepción, añada las entidades principales que quiera que puedan usar los permisos especificados, aunque estén incluidas en la sección Entidades principales denegadas. Por ejemplo, puedes usar este campo para hacer una excepción con usuarios concretos que pertenezcan a un grupo denegado.
En las secciones Permisos denegados, añade los permisos que quieras denegar. Los permisos deben admitirse en las políticas de denegación.
En algunos casos, también puedes usar grupos de permisos para denegar conjuntos de permisos. Para obtener más información, consulta Grupos de permisos.
Opcional: Añade permisos de excepción. Los permisos de excepción son permisos que no quieres que deniegue esta regla de denegación, aunque estén incluidos en la lista de permisos denegados. Por ejemplo, puedes usar este campo para crear excepciones de permisos específicos en un grupo de permisos.
Para añadir permisos de excepción, haz clic en Permisos de excepción, en
Añadir otro permiso y, a continuación, introduce el permiso en el campo Permiso 1. Sigue añadiendo permisos hasta que hayas añadido todos los que quieras excluir de la política de denegación.Opcional: Añade una condición de denegación para especificar cuándo no pueden usar los principales el permiso. Para añadir una condición de denegación, haga clic en
Añadir condición de denegación y, a continuación, defina los siguientes campos:- Título: opcional. Un breve resumen del propósito de la condición.
- Descripción: opcional. Una descripción más larga de la afección.
Expresión condicional: puedes añadir una expresión condicional con el creador de condiciones o el editor de condiciones. El creador de condiciones proporciona una interfaz interactiva para seleccionar el tipo de condición, el operador y otros detalles aplicables de la expresión. El editor de condiciones proporciona una interfaz basada en texto para introducir manualmente una expresión mediante la sintaxis del lenguaje de expresión común (CEL).
Las condiciones de denegación deben basarse en etiquetas de recursos. No se admiten otras funciones ni operadores.
- En el campo Principales denegados, añade uno o varios principales a los que quieras impedir que usen los permisos especificados. La entidad principal puede ser cualquiera de los tipos de entidades principales de los identificadores de entidades principales de las políticas de denegación, excepto las entidades principales cuyos IDs empiecen por
Haz clic en Crear.
gcloud
Para crear una política de denegación para un recurso, empieza por crear un archivo JSON que contenga la política. Una política de denegación usa el siguiente formato:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Proporciona los siguientes valores:
POLICY_NAME
: nombre visible de la política de denegación.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: las reglas de denegación de la política. Cada regla de denegación puede contener los siguientes campos:-
deniedPermissions
: lista de permisos que no pueden usar las entidades de seguridad especificadas. Los permisos deben admitirse en las políticas de denegación.En algunos casos, también puedes usar grupos de permisos para denegar conjuntos de permisos. Para obtener más información, consulta Grupos de permisos.
-
exceptionPermissions
: lista de permisos que pueden usar las entidades de seguridad especificadas, aunque esos permisos estén incluidos endeniedPermissions
. Por ejemplo, puede usar este campo para crear excepciones de permisos específicos en un grupo de permisos. -
deniedPrincipals
: Lista de principales que no pueden usar los permisos especificados. Para saber cómo dar formato a los identificadores de principales, consulte Identificadores de principales de las políticas de denegación. -
exceptionPrincipals
: opcional. Lista de principales que pueden usar los permisos especificados, aunque estén incluidos endeniedPrincipals
. Por ejemplo, puedes usar este campo para hacer una excepción con usuarios concretos que pertenezcan a un grupo denegado. Para saber cómo dar formato a los identificadores de principales, consulte Identificadores de principales de las políticas de denegación. -
denialCondition
: opcional. Una expresión de condición que especifica cuándo no pueden usar los permisos las entidades. Contiene los siguientes campos:-
expression
: una expresión de condición que usa la sintaxis del lenguaje de expresión común (CEL). La expresión debe usar las funciones de CEL para evaluar etiquetas de recursos. No se admiten otras funciones ni operadores. -
title
: opcional. Un breve resumen del propósito de la condición. -
description
: opcional. Una descripción más larga de la afección.
-
Para ver ejemplos de reglas de denegación, consulta Casos prácticos habituales.
-
Por ejemplo, la siguiente política de denegación contiene una regla de denegación que deniega un permiso a Lucian:
{ "displayName": "My deny policy.", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
A continuación, ejecuta el comando
gcloud iam policies create
:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Proporciona los siguientes valores:
-
POLICY_ID
: identificador de la política de denegación. -
ATTACHMENT_POINT
: identificador del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. -
POLICY_FILE
: ruta del archivo JSON que contiene la política de denegación.
De forma predeterminada, si este comando se ejecuta correctamente, no imprime ningún resultado. Para imprimir una respuesta detallada, añade la marca
--format=json
al comando.Por ejemplo, el siguiente comando crea una política de denegación llamada
my-deny-policy
para el proyectomy-project
, usando un archivo llamadopolicy.json
:gcloud iam policies create my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Terraform
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform. Para obtener más información, consulta la documentación de referencia del proveedor Terraform.
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Node.js
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Node.js de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
policies.createPolicy
crea una política de denegación para un recurso.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. POLICY_ID
: identificador de la política de denegación.POLICY_NAME
: nombre visible de la política de denegación.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: las reglas de denegación de la política. Cada regla de denegación puede contener los siguientes campos:-
deniedPermissions
: lista de permisos que no pueden usar las entidades de seguridad especificadas. Los permisos deben admitirse en las políticas de denegación.En algunos casos, también puedes usar grupos de permisos para denegar conjuntos de permisos. Para obtener más información, consulta Grupos de permisos.
-
exceptionPermissions
: lista de permisos que pueden usar las entidades de seguridad especificadas, aunque esos permisos estén incluidos endeniedPermissions
. Por ejemplo, puede usar este campo para crear excepciones de permisos específicos en un grupo de permisos. -
deniedPrincipals
: Lista de principales que no pueden usar los permisos especificados. Para saber cómo dar formato a los identificadores de principales, consulte Identificadores de principales de las políticas de denegación. -
exceptionPrincipals
: opcional. Lista de principales que pueden usar los permisos especificados, aunque estén incluidos endeniedPrincipals
. Por ejemplo, puedes usar este campo para hacer una excepción con usuarios concretos que pertenezcan a un grupo denegado. Para saber cómo dar formato a los identificadores de principales, consulte Identificadores de principales de las políticas de denegación. -
denialCondition
: opcional. Una expresión de condición que especifica cuándo no pueden usar los permisos las entidades. Contiene los siguientes campos:-
expression
: una expresión de condición que usa la sintaxis del lenguaje de expresión común (CEL). La expresión debe usar las funciones de CEL para evaluar etiquetas de recursos. No se admiten otras funciones ni operadores. -
title
: opcional. Un breve resumen del propósito de la condición. -
description
: opcional. Una descripción más larga de la afección.
-
Para ver ejemplos de reglas de denegación, consulta Casos prácticos habituales.
-
Método HTTP y URL:
POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID
Cuerpo JSON de la solicitud:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2022-06-28T19:06:12.455151Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
La respuesta identifica una operación de larga duración. Puedes monitorizar el estado de la operación de larga duración para saber cuándo se completa. Para obtener más información, consulta la sección Comprobar el estado de una operación de larga duración de esta página.
Mostrar políticas de denegación
Un recurso puede tener varias políticas de denegación. Puedes enumerar todas las políticas de denegación que estén asociadas a un recurso y, a continuación, ver cada política de denegación para consultar las reglas de denegación de cada política.
Consola
En la Trusted Cloud consola, ve a la pestaña Deny (Denegar) de la página IAM (Gestión de identidades y accesos).
Selecciona un proyecto, una carpeta o una organización.
La Trusted Cloud consola muestra todas las políticas de denegación que se aplican a ese proyecto, carpeta u organización. Esto incluye las políticas de denegación que se han heredado de otros recursos. Para obtener más información sobre la herencia de la política de denegación, consulta Herencia de la política de denegación.
gcloud
Para enumerar las políticas de denegación de un recurso, ejecuta el comando
gcloud iam policies list
:gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Proporciona el siguiente valor:
-
ATTACHMENT_POINT
: identificador del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación.
Por ejemplo, el siguiente comando muestra las políticas de denegación adjuntas a una organización cuyo ID numérico es
123456789012
:gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=json
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Node.js
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Node.js de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
policies.listPolicies
muestra las políticas de denegación de un recurso.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación.
Método HTTP y URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "policies": [ { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-2", "uid": "8465d710-ea20-0a08-d92c-b2a3ebf766ab", "kind": "DenyPolicy", "displayName": "My second deny policy.", "createTime": "2022-06-05T19:21:53.595455Z", "updateTime": "2022-06-05T19:21:53.595455Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-3", "uid": "ee9f7c2f-7e8c-b05c-d4e5-e03bfb2954e0", "kind": "DenyPolicy", "displayName": "My third deny policy.", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z" } ] }
Ver una política de denegación
Puedes ver una política de denegación para consultar las reglas de denegación que contiene, incluidos los permisos que se deniegan y las entidades de seguridad que no pueden usar esos permisos.
Consola
En la Trusted Cloud consola, ve a la pestaña Deny (Denegar) de la página IAM (Gestión de identidades y accesos).
Selecciona un proyecto, una carpeta o una organización.
En la columna ID de la política, haga clic en el ID de la política que quiera ver.
La consola Trusted Cloud muestra los detalles de la política de denegación, como el ID de la política, cuándo se creó y las reglas de denegación de la política.
gcloud
Para obtener la política de denegación de un recurso, ejecuta el comando
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Proporciona los siguientes valores:
-
POLICY_ID
: identificador de la política de denegación. -
ATTACHMENT_POINT
: identificador del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación.
Por ejemplo, el siguiente comando obtiene la política de denegación llamada
my-deny-policy
del proyectomy-project
y la guarda en un archivo llamadopolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Node.js
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Node.js de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
policies.get
obtiene una política de denegación de un recurso.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. POLICY_ID
: identificador de la política de denegación.
Método HTTP y URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Actualizar una política de denegación
Después de crear una política de denegación, puedes actualizar las reglas de denegación que contiene, así como su nombre visible.
Puedes actualizar una política de denegación mediante la Trusted Cloud consola o con uno de los siguientes métodos programáticos:
- La CLI de gcloud
- API REST
- Las bibliotecas de cliente de IAM
Actualizar una política de denegación con la consola Trusted Cloud
En la Trusted Cloud consola, ve a la pestaña Deny (Denegar) de la página IAM (Gestión de identidades y accesos).
Selecciona un proyecto, una carpeta o una organización.
En la columna ID de política, haga clic en el ID de la política que quiera editar.
Haz clic en
Editar.Actualiza la política de denegación:
- Para cambiar el nombre visible de la política, edite el campo Nombre visible.
- Para editar una regla de denegación, haga clic en ella y modifique los principales de la regla, los principales de la excepción, los permisos denegados, los permisos de la excepción o la condición de denegación.
- Para eliminar una regla de denegación, busca la regla que quieras eliminar y haz clic en Eliminar en esa fila.
- Para añadir una regla de denegación, haz clic en Añadir regla de denegación y, a continuación, crea una regla de denegación como cuando creaste una política de denegación.
Cuando hayas terminado de actualizar la política de denegación, haz clic en Guardar.
Actualizar una política de denegación mediante programación
Para actualizar una política de denegación con la CLI de gcloud, la API REST o las bibliotecas de cliente de IAM, utiliza el patrón lectura, modificación y escritura:
- Lee la versión actual de la política.
- Modifica la información de la política según sea necesario.
- Escribe la política actualizada.
Leer la política de denegación
gcloud
Para obtener la política de denegación de un recurso, ejecuta el comando
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Proporciona los siguientes valores:
-
POLICY_ID
: identificador de la política de denegación. -
ATTACHMENT_POINT
: identificador del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación.
Por ejemplo, el siguiente comando obtiene la política de denegación llamada
my-deny-policy
del proyectomy-project
y la guarda en un archivo llamadopolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Node.js
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Node.js de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
policies.get
obtiene una política de denegación de un recurso.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. POLICY_ID
: identificador de la política de denegación.
Método HTTP y URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Modificar la política de denegación
Para modificar la política de denegación, debes cambiar la copia de la política que has leído previamente en Gestión de identidades y accesos. Puede actualizar el nombre visible o añadir, cambiar o quitar reglas de denegación. Los cambios no se aplicarán hasta que escriba la política actualizada.
Por ejemplo, puedes añadir un permiso a una regla de denegación que ya tengas:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2021-10-05T19:22:26.770543Z", "updateTime": "2021-10-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Escribe la política de denegación actualizada
Después de modificar la política de denegación de forma local, debes escribir la política de denegación actualizada en Gestión de Identidades y Accesos.
Cada política de denegación contiene un campo
etag
que identifica la versión de la política. Eletag
cambia cada vez que actualizas la política. Cuando escriba la política actualizada, eletag
de su solicitud debe coincidir con eletag
actual almacenado en IAM. Si los valores no coinciden, la solicitud fallará. Esta función ayuda a evitar que los cambios simultáneos se sobrescriban entre sí.gcloud
Para actualizar la política de denegación de un recurso, ejecuta el comando
gcloud iam policies update
:gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Proporciona los siguientes valores:
-
POLICY_ID
: identificador de la política de denegación. -
ATTACHMENT_POINT
: identificador del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. -
POLICY_FILE
: ruta del archivo JSON que contiene la política de denegación.
De forma predeterminada, si este comando se ejecuta correctamente, no imprime ningún resultado. Para imprimir una respuesta detallada, añade la marca
--format=json
al comando.Por ejemplo, el siguiente comando actualiza una política de denegación llamada
my-deny-policy
para el proyectomy-project
, usando un archivo llamadopolicy.json
:gcloud iam policies update my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Node.js
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Node.js de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
policies.update
actualiza una política de denegación.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. POLICY_ID
: identificador de la política de denegación.-
POLICY
: la política de denegación actualizada.Por ejemplo, para añadir un permiso a la política que se muestra en el paso anterior, sustituya
POLICY
por lo siguiente:{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Método HTTP y URL:
PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Cuerpo JSON de la solicitud:
POLICY
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8b2d0ab2daf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T22:26:21.968687Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTgxNTIxNDE3NTYxNjQxODYxMTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T22:26:21.968687Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } }
La respuesta identifica una operación de larga duración. Puedes monitorizar el estado de la operación de larga duración para saber cuándo se completa. Para obtener más información, consulta la sección Comprobar el estado de una operación de larga duración de esta página.
Eliminar una política de denegación
Si ya no quieres aplicar las reglas de una política de denegación, puedes eliminarla.
También puedes especificar el
etag
de la versión de la política que vas a eliminar. Si especifica eletag
, debe coincidir con eletag
actual almacenado por IAM. Si los valores no coinciden, la solicitud fallará. Puedes usar esta función para asegurarte de que eliminas la política que quieres y no una versión actualizada de esa política.Si omite el
etag
de la solicitud, IAM eliminará la política incondicionalmente.Consola
En la Trusted Cloud consola, ve a la pestaña Deny (Denegar) de la página IAM (Gestión de identidades y accesos).
Selecciona un proyecto, una carpeta o una organización.
En la columna ID de la política, haga clic en el ID de la política que quiera eliminar.
Haz clic en
Eliminar. En el cuadro de diálogo de confirmación, haz clic en Confirmar.
gcloud
Para eliminar una política de denegación de un recurso, ejecuta el comando
gcloud iam policies delete
:gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies
Proporciona los siguientes valores:
-
POLICY_ID
: identificador de la política de denegación. -
ATTACHMENT_POINT
: identificador del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación.
También puedes añadir la marca
--etag=ETAG
. SustituyeETAG
por el valoretag
actual de la política de denegación.De forma predeterminada, si este comando se ejecuta correctamente, no imprime ningún resultado. Para imprimir una respuesta detallada, añade la marca
--format=json
al comando.Por ejemplo, el siguiente comando elimina una política de denegación llamada
my-deny-policy
del proyectomy-project
:gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Node.js
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Node.js de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Antes de ejecutar los ejemplos de código, asigna el valor
s3nsapis.fr
a la variable de entornoGOOGLE_CLOUD_UNIVERSE_DOMAIN
.REST
El método
policies.delete
elimina una política de denegación de un recurso.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. POLICY_ID
: identificador de la política de denegación.-
ETAG
: opcional. Identificador de la versión de la política. Si está presente, este valor debe coincidir con el valoretag
actual de la política.
Método HTTP y URL:
DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8223fe308bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T19:45:00.133311Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-07-05T19:45:00.133311Z", "deleteTime": "2022-07-05T19:45:00.133311Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
La respuesta identifica una operación de larga duración. Puedes monitorizar el estado de la operación de larga duración para saber cuándo se completa. Para obtener más información, consulta la sección Comprobar el estado de una operación de larga duración de esta página.
Comprobar el estado de una operación de larga duración
Cuando usas la API REST o las bibliotecas de cliente, cualquier método que cambie una política de denegación devuelve una operación de larga duración (OLD). La operación de larga duración hace un seguimiento del estado de la solicitud e indica si se ha completado el cambio en la política.
Go
En los ejemplos de código de esta página se muestra cómo esperar a que finalice una operación de larga duración y, a continuación, acceder a su resultado.
Java
En los ejemplos de código de esta página se muestra cómo esperar a que finalice una operación de larga duración y, a continuación, acceder a su resultado.
Node.js
En los ejemplos de código de esta página se muestra cómo esperar a que finalice una operación de larga duración y, a continuación, acceder a su resultado.
Python
En los ejemplos de código de esta página se muestra cómo esperar a que finalice una operación de larga duración y, a continuación, acceder a su resultado.
REST
El método
policies.operations.get
devuelve el estado de una operación de larga duración.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
ENCODED_ATTACHMENT_POINT
: identificador codificado como URL del recurso al que se adjunta la política de denegación. Para saber cómo dar formato a este valor, consulta Punto de fijación. -
OPERATION_ID
: identificador de la operación. Recibirás este identificador en la respuesta a tu solicitud original, como parte del nombre de la operación. Usa el valor hexadecimal al final del nombre de la operación. Por ejemplo,89cb3e508bf1ff01
.
Método HTTP y URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }
Si el campo
done
de la operación no está presente, sigue monitorizando su estado obteniendo la operación repetidamente. Usa un tiempo de espera exponencial truncado para introducir un retraso entre cada solicitud. Cuando el campodone
se define comotrue
, la operación se completa y puedes dejar de obtenerla.Siguientes pasos
- Identifica los permisos que se admiten en las políticas de denegación.
- Obtener el formato de los identificadores principales de las políticas de denegación.
- Consulta cómo solucionar problemas de acceso con políticas de denegación.
- Más información sobre cómo denegar el acceso a principales
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-20 (UTC).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Me falta la información que necesito","missingTheInformationINeed","thumb-down"],["Es demasiado complicado o hay demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Está obsoleto","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema de muestras o código","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-20 (UTC)."],[[["\u003cp\u003eDeny policies in Google Cloud IAM prevent specified principals from using certain permissions, overriding allow policies and ensuring specific access restrictions.\u003c/p\u003e\n"],["\u003cp\u003eThese policies are managed at the organization, folder, or project level and can be configured through the Google Cloud console, gcloud CLI, or IAM \u003ccode\u003ev2\u003c/code\u003e REST API, and supports up to 500 rules per resource.\u003c/p\u003e\n"],["\u003cp\u003eCreating and updating deny policies requires defining deny rules, which include denied permissions, principals, exception principals, and optional conditions, using a defined policy ID.\u003c/p\u003e\n"],["\u003cp\u003eManaging deny policies involves listing, viewing, updating, and deleting them using the console, \u003ccode\u003egcloud\u003c/code\u003e commands, client libraries (Go, Java, Node.js, Python), or REST API calls, often using long-running operations to track changes.\u003c/p\u003e\n"],["\u003cp\u003eDeny policies are attached to a specific resource (attachment point), use an \u003ccode\u003eetag\u003c/code\u003e for version control, and require appropriate permissions such as \u003ccode\u003eDeny Reviewer\u003c/code\u003e or \u003ccode\u003eDeny Admin\u003c/code\u003e roles for viewing or managing policies.\u003c/p\u003e\n"]]],[],null,[]]