Esta página explica como negar o acesso a responsáveis impedindo-os de usar autorizações específicas da gestão de identidade e de acesso (IAM).
No IAM, nega o acesso com políticas de negação. Cada política de recusa está anexada a uma Trusted Cloud by S3NS organização, uma pasta ou um projeto. Uma política de negação contém regras de negação, que identificam os responsáveis e enumeram as autorizações que os responsáveis não podem usar.
As políticas de negação são separadas das políticas de permissão, também conhecidas como políticas IAM. Uma política de permissão concede acesso a recursos através da atribuição de funções do IAM a responsáveis.
Pode gerir políticas de recusa com a Trusted Cloud consola, a Google Cloud CLI
ou a API REST v2
do IAM.
Antes de começar
Enable the IAM API.
Configurar autenticação.
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
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Terraform
Para usar os exemplos do Terraform nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade 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 mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Ir
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade 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 mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade 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 mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Node.js
Para usar os Node.js exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade 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 mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade 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 mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na Trusted Cloud documentação de autenticação.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Funções necessárias
Para obter as autorizações de que precisa para gerir políticas de negação, peça ao seu administrador que lhe conceda as seguintes funções do IAM na organização:
-
Para ver políticas de recusa:
Revisor de negação (
roles/iam.denyReviewer
) -
Para ver, criar, atualizar e eliminar políticas de recusa:
Administrador de recusas (
roles/iam.denyAdmin
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para gerir as políticas de negação. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para gerir políticas de recusa:
-
Para ver as políticas de recusa:
-
iam.denypolicies.get
-
iam.denypolicies.list
-
-
Para criar, atualizar e eliminar políticas de recusa:
-
iam.denypolicies.create
-
iam.denypolicies.delete
-
iam.denypolicies.get
-
iam.denypolicies.update
-
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Identifique autorizações a recusar
Antes de criar uma política de recusa, tem de decidir que autorizações quer recusar e a que responsáveis devem ser recusadas estas autorizações.
Só é possível recusar algumas autorizações. Para ver uma lista de autorizações que pode recusar, consulte o artigo Autorizações suportadas em políticas de recusa.
Em alguns casos, também pode usar grupos de autorizações para negar conjuntos de autorizações. Para mais informações, consulte o artigo Grupos de autorizações.
Pode gerir as políticas de recusa com a API REST
v2
, que requer um formato especial para os nomes das autorizações. Por exemplo, a autorização para criar uma função personalizada do IAM tem o seguinte nome:v1
API:iam.roles.create
v2
API:iam.googleapis.com/roles.create
Crie uma política de recusa
Pode adicionar políticas de recusa a organizações, pastas e projetos. Cada recurso pode ter até 500 políticas de recusa.
As políticas de recusa contêm regras de recusa, que especificam o seguinte:
- As autorizações a recusar.
- Os principais aos quais essas autorizações são recusadas.
Opcional: principais isentos da recusa de autorizações.
Por exemplo, pode recusar uma autorização a um grupo, mas isentar utilizadores específicos que pertencem a esse grupo.
Opcional: uma expressão de condição que especifica quando os principais não podem usar as autorizações. Nas políticas de recusa, as expressões de condição só podem usar funções para etiquetas de recursos. Não são suportadas outras funções e operadores.
Cada recurso pode ter até 500 regras de recusa em todas as respetivas políticas de recusa anexadas.
As políticas de recusa são herdadas através da hierarquia de recursos. Por exemplo, se negar uma autorização ao nível da organização, essa autorização também é negada nas pastas e nos projetos dessa organização, bem como nos recursos específicos do serviço em cada projeto.
As políticas de negação substituem as políticas de permissão. Se a um principal for concedida uma função que contenha uma autorização específica, mas uma política de negação indicar que o principal não pode usar essa autorização, o principal não pode usar a autorização.
Consola
Na Trusted Cloud consola, aceda ao separador Recusar na página IAM.
Selecione um projeto, uma pasta ou uma organização.
Clique em
Criar política de recusa.Na secção Nome da política, defina o ID da política através de uma das seguintes ações:
- No campo Nome a apresentar, introduza um nome a apresentar para a política. O preenchimento deste campo preenche automaticamente o campo ID. Se quiser alterar o ID da política, atualize o texto no campo ID.
- No campo ID, introduza um ID para a política.
Na secção Regras de recusa, defina as regras de recusa da política. Cada política de recusa tem de ter, pelo menos, uma regra de recusa. Para adicionar mais regras de recusa, clique em Adicionar regra de recusa.
Para cada regra de recusa, faça o seguinte:
- No campo Principais recusados, adicione um ou mais principais que quer impedir de usar as autorizações especificadas. O principal pode ser qualquer um dos tipos de principais nos identificadores principais para políticas de recusa, exceto os principais cujos IDs começam com
deleted:
. Opcional: no campo Principais de exceção, adicione os principais que quer que possam usar as autorizações especificadas, mesmo que esses principais estejam incluídos na secção Principais recusados. Por exemplo, pode usar este campo para criar uma exceção para utilizadores específicos que pertencem a um grupo recusado.
Nas secções Autorizações recusadas, adicione as autorizações que quer recusar. As autorizações têm de ser suportadas em políticas de recusa.
Em alguns casos, também pode usar grupos de autorizações para negar conjuntos de autorizações. Para mais informações, consulte Grupos de autorizações.
Opcional: adicione autorizações de exceção. As autorizações de exceção são autorizações que não quer que esta regra de recusa recuse, mesmo que estejam incluídas na lista de autorizações recusadas. Por exemplo, pode usar este campo para criar exceções para autorizações específicas num grupo de autorizações.
Para adicionar autorizações de exceção, clique em Autorizações de exceção, clique em
Adicionar outra autorização e, de seguida, introduza a autorização no campo Autorização 1. Continue a adicionar autorizações até ter adicionado todas as autorizações que quer excluir da política de recusa.Opcional: adicione uma condição de recusa para especificar quando os responsáveis não podem usar a autorização. Para adicionar uma condição de recusa, clique em
Adicionar condição de recusa e, de seguida, defina os seguintes campos:- Título: opcional. Um breve resumo da finalidade da condição.
- Descrição: opcional. Uma descrição mais longa da condição.
Expressão condicional: pode adicionar uma expressão condicional através do criador de condições ou do editor de condições. O criador de condições oferece uma interface interativa para selecionar o tipo de condição, o operador e outros detalhes aplicáveis sobre a expressão desejada. O editor de condições oferece uma interface baseada em texto para introduzir manualmente uma expressão através da sintaxe do Idioma de expressão comum (IEC).
As condições de recusa têm de se basear em etiquetas de recursos. Não são suportadas outras funções e operadores.
- No campo Principais recusados, adicione um ou mais principais que quer impedir de usar as autorizações especificadas. O principal pode ser qualquer um dos tipos de principais nos identificadores principais para políticas de recusa, exceto os principais cujos IDs começam com
Clique em Criar.
gcloud
Para criar uma política de recusa para um recurso, comece por criar um ficheiro JSON que contenha a política. Uma política de recusa usa o seguinte formato:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Indique os seguintes valores:
POLICY_NAME
: o nome a apresentar da política de recusa.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: as regras de recusa na política. Cada regra de recusa pode conter estes campos:-
deniedPermissions
: uma lista de autorizações que os principais especificados não podem usar. As autorizações têm de ser suportadas em políticas de recusa.Em alguns casos, também pode usar grupos de autorizações para negar conjuntos de autorizações. Para mais informações, consulte Grupos de autorizações.
-
exceptionPermissions
: uma lista de autorizações que os principais especificados podem usar, mesmo que essas autorizações estejam incluídas emdeniedPermissions
. Por exemplo, pode usar este campo para criar exceções para autorizações específicas num grupo de autorizações. -
deniedPrincipals
: uma lista de responsáveis que não podem usar as autorizações especificadas. Para saber como formatar os identificadores principais, consulte o artigo Identificadores principais para políticas de recusa. -
exceptionPrincipals
: opcional. Uma lista de responsáveis que podem usar as autorizações especificadas, mesmo que esses responsáveis estejam incluídos emdeniedPrincipals
. Por exemplo, pode usar este campo para criar uma exceção para utilizadores específicos que pertencem a um grupo recusado. Para saber como formatar os identificadores principais, consulte o artigo Identificadores principais para políticas de recusa. -
denialCondition
: opcional. Uma expressão de condição que especifica quando os principais não podem usar as autorizações. Contém os seguintes campos:-
expression
: uma expressão de condição que usa a sintaxe do Idioma de expressão comum (IEC). A expressão tem de usar as funções CEL para avaliar etiquetas de recursos. Não são suportadas outras funções e operadores. -
title
: opcional. Um breve resumo da finalidade da condição. -
description
: opcional. Uma descrição mais longa da condição.
-
Para ver exemplos de regras de recusa, consulte o artigo Exemplos de utilização comuns.
-
Por exemplo, a seguinte política de recusa contém uma regra de recusa, que recusa uma permissão 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" ] } } ] }
Em seguida, execute o comando
gcloud iam policies create
:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Indique os seguintes valores:
-
POLICY_ID
: o identificador da política de recusa. -
ATTACHMENT_POINT
: um identificador do recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte o artigo Ponto de fixação. -
POLICY_FILE
: O caminho do ficheiro JSON que contém a política de recusa.
Por predefinição, se este comando for executado com êxito, não imprime qualquer resultado. Para imprimir uma resposta detalhada, adicione a flag
--format=json
ao comando.Por exemplo, o comando seguinte cria uma política de recusa denominada
my-deny-policy
para o projetomy-project
, usando um ficheiro denominadopolicy.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 como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform. Para mais informações, consulte a Terraform documentação de referência do fornecedor.
Go
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Node.js
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Node.js IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
policies.createPolicy
cria uma política de negação para um recurso.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação. POLICY_ID
: um identificador da política de recusa.POLICY_NAME
: o nome a apresentar da política de recusa.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: as regras de recusa na política. Cada regra de recusa pode conter estes campos:-
deniedPermissions
: uma lista de autorizações que os principais especificados não podem usar. As autorizações têm de ser suportadas em políticas de recusa.Em alguns casos, também pode usar grupos de autorizações para negar conjuntos de autorizações. Para mais informações, consulte Grupos de autorizações.
-
exceptionPermissions
: uma lista de autorizações que os principais especificados podem usar, mesmo que essas autorizações estejam incluídas emdeniedPermissions
. Por exemplo, pode usar este campo para criar exceções para autorizações específicas num grupo de autorizações. -
deniedPrincipals
: uma lista de responsáveis que não podem usar as autorizações especificadas. Para saber como formatar os identificadores principais, consulte o artigo Identificadores principais para políticas de recusa. -
exceptionPrincipals
: opcional. Uma lista de responsáveis que podem usar as autorizações especificadas, mesmo que esses responsáveis estejam incluídos emdeniedPrincipals
. Por exemplo, pode usar este campo para criar uma exceção para utilizadores específicos que pertencem a um grupo recusado. Para saber como formatar os identificadores principais, consulte o artigo Identificadores principais para políticas de recusa. -
denialCondition
: opcional. Uma expressão de condição que especifica quando os principais não podem usar as autorizações. Contém os seguintes campos:-
expression
: uma expressão de condição que usa a sintaxe do Idioma de expressão comum (IEC). A expressão tem de usar as funções CEL para avaliar etiquetas de recursos. Não são suportadas outras funções e operadores. -
title
: opcional. Um breve resumo da finalidade da condição. -
description
: opcional. Uma descrição mais longa da condição.
-
Para ver exemplos de regras de recusa, consulte o artigo Exemplos de utilização comuns.
-
Método HTTP e URL:
POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID
Corpo JSON do pedido:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" ] } } ] } }
A resposta identifica uma operação de longa duração. Pode monitorizar o estado da operação de longa duração para saber quando está concluída. Para ver detalhes, consulte a secção Verifique o estado de uma operação de longa duração nesta página.
Indique políticas de recusa
Um recurso pode ter várias políticas de recusa. Pode listar todas as políticas de recusa anexadas a um recurso e, em seguida, ver cada política de recusa para ver as regras de recusa em cada política.
Consola
Na Trusted Cloud consola, aceda ao separador Recusar na página IAM.
Selecione um projeto, uma pasta ou uma organização.
A Trusted Cloud consola lista todas as políticas de recusa que se aplicam a esse projeto, pasta ou organização. Isto inclui políticas de negação que foram herdadas de outros recursos. Para mais informações acerca da herança da política de recusa, consulte o artigo Recuse a herança de políticas.
gcloud
Para listar as políticas de recusa de um recurso, execute o comando
gcloud iam policies list
:gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Indique o seguinte valor:
-
ATTACHMENT_POINT
: um identificador do recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte o artigo Ponto de fixação.
Por exemplo, o seguinte comando apresenta as políticas de recusa anexadas a uma organização cujo ID numérico é
123456789012
:gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=json
Go
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Node.js
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Node.js IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
policies.listPolicies
apresenta as políticas de negação de um recurso.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação.
Método HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" } ] }
Veja uma política de recusa
Pode ver uma política de recusa para ver as regras de recusa que contém, incluindo as autorizações que são recusadas e os principais que não podem usar essas autorizações.
Consola
Na Trusted Cloud consola, aceda ao separador Recusar na página IAM.
Selecione um projeto, uma pasta ou uma organização.
Na coluna ID da política, clique no ID da política que quer ver.
A Trusted Cloud consola mostra os detalhes da política de recusa, incluindo o ID da política, quando a política foi criada e as regras de recusa na política de recusa.
gcloud
Para obter a política de recusa de um recurso, execute o comando
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Indique os seguintes valores:
-
POLICY_ID
: o identificador da política de recusa. -
ATTACHMENT_POINT
: um identificador do recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte o artigo Ponto de fixação.
Por exemplo, o comando seguinte obtém a política de recusa denominada
my-deny-policy
para o projetomy-project
e guarda-a num ficheiro denominadopolicy.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 como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Node.js
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Node.js IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
policies.get
obtém uma política de negação para um recurso.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação. POLICY_ID
: um identificador da política de recusa.
Método HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" ] } } ] }
Atualize uma política de recusa
Depois de criar uma política de recusa, pode atualizar as regras de recusa que contém, bem como o respetivo nome a apresentar.
Pode atualizar uma política de recusa através da Trusted Cloud consola ou de um dos seguintes métodos programáticos:
- A CLI gcloud
- A API REST
- As bibliotecas cliente da IAM
Atualize uma política de recusa através da Trusted Cloud consola
Na Trusted Cloud consola, aceda ao separador Recusar na página IAM.
Selecione um projeto, uma pasta ou uma organização.
Na coluna ID da política, clique no ID da política que quer editar.
Clique em
Editar.Atualize a política de recusa:
- Para alterar o nome a apresentar da política, edite o campo Nome a apresentar.
- Para editar uma regra de recusa existente, clique na regra de recusa e, em seguida, modifique os principais da regra, os principais de exceção, as autorizações recusadas, as autorizações de exceção ou a condição de recusa.
- Para remover uma regra de recusa, encontre a regra de recusa que quer eliminar e, em seguida, clique em Eliminar nessa linha.
- Para adicionar uma regra de recusa, clique em Adicionar regra de recusa e, de seguida, crie uma regra de recusa tal como faz quando cria uma política de recusa.
Quando terminar de atualizar a política de recusa, clique em Guardar.
Atualize uma política de recusa através de programação
Para atualizar uma política de recusa através da CLI gcloud, da API REST ou das bibliotecas cliente do IAM, use o padrão read-modify-write:
- Leia a versão atual da política.
- Modifique as informações na política conforme necessário.
- Escreva a política atualizada.
Leia a política de recusa
gcloud
Para obter a política de recusa de um recurso, execute o comando
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Indique os seguintes valores:
-
POLICY_ID
: o identificador da política de recusa. -
ATTACHMENT_POINT
: um identificador do recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte o artigo Ponto de fixação.
Por exemplo, o comando seguinte obtém a política de recusa denominada
my-deny-policy
para o projetomy-project
e guarda-a num ficheiro denominadopolicy.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 como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Node.js
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Node.js IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
policies.get
obtém uma política de negação para um recurso.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação. POLICY_ID
: um identificador da política de recusa.
Método HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" ] } } ] }
Modifique a política de recusa
Para modificar a política de negação, altere a cópia da política que leu anteriormente do IAM. Pode atualizar o nome a apresentar ou adicionar, alterar ou remover regras de recusa. As alterações não entram em vigor até escrever a política atualizada.
Por exemplo, pode adicionar uma autorização a uma regra de recusa existente:
{ "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" ] } } ] }
Escreva a política de recusa atualizada
Depois de modificar a política de negação localmente, tem de escrever a política de negação atualizada no IAM.
Cada política de recusa contém um campo
etag
que identifica a versão da política. Oetag
muda sempre que atualiza a política. Quando escreve a política atualizada, oetag
no seu pedido tem de corresponder aoetag
atual armazenado no IAM. Se os valores não corresponderem, o pedido falha. Esta funcionalidade ajuda a evitar que as alterações simultâneas se substituam mutuamente.gcloud
Para atualizar a política de recusa de um recurso, execute o comando
gcloud iam policies update
:gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Indique os seguintes valores:
-
POLICY_ID
: o identificador da política de recusa. -
ATTACHMENT_POINT
: um identificador do recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte o artigo Ponto de fixação. -
POLICY_FILE
: O caminho do ficheiro JSON que contém a política de recusa.
Por predefinição, se este comando for executado com êxito, não imprime qualquer resultado. Para imprimir uma resposta detalhada, adicione a flag
--format=json
ao comando.Por exemplo, o seguinte comando atualiza uma política de recusa denominada
my-deny-policy
para o projetomy-project
, usando um ficheiro denominadopolicy.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 como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Node.js
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Node.js IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
policies.update
atualiza uma política de recusa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação. POLICY_ID
: um identificador da política de recusa.-
POLICY
: a política de recusa atualizada.Por exemplo, para adicionar uma autorização à política apresentada no passo anterior, substitua
POLICY
pelo seguinte:{ "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 e URL:
PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Corpo JSON do pedido:
POLICY
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" ] } } ] } }
A resposta identifica uma operação de longa duração. Pode monitorizar o estado da operação de longa duração para saber quando está concluída. Para ver detalhes, consulte a secção Verifique o estado de uma operação de longa duração nesta página.
Elimine uma política de recusa
Se já não quiser aplicar as regras numa política de recusa, pode eliminar a política de recusa.
Opcionalmente, pode especificar o
etag
da versão da política que está a eliminar. Se especificar oetag
, este tem de corresponder aoetag
atual armazenado pelo IAM. Se os valores não corresponderem, o pedido falha. Pode usar esta funcionalidade para garantir que está a eliminar a política pretendida e não uma versão atualizada dessa política.Se omitir o
etag
do pedido, o IAM elimina a política incondicionalmente.Consola
Na Trusted Cloud consola, aceda ao separador Recusar na página IAM.
Selecione um projeto, uma pasta ou uma organização.
Na coluna ID da política, clique no ID da política que quer eliminar.
Clique em
Eliminar. Na caixa de diálogo de confirmação, clique em Confirmar.
gcloud
Para eliminar uma política de recusa de um recurso, execute o comando
gcloud iam policies delete
:gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies
Indique os seguintes valores:
-
POLICY_ID
: o identificador da política de recusa. -
ATTACHMENT_POINT
: um identificador do recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte o artigo Ponto de fixação.
Opcionalmente, pode adicionar o sinalizador
--etag=ETAG
. SubstituaETAG
pelo valoretag
atual da política de recusa.Por predefinição, se este comando for executado com êxito, não imprime qualquer resultado. Para imprimir uma resposta detalhada, adicione a flag
--format=json
ao comando.Por exemplo, o seguinte comando elimina uma política de negação denominada
my-deny-policy
do projetomy-project
:gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies
Go
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Go IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Java
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Java IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Node.js
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Node.js IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.Python
Para saber como instalar e usar a biblioteca cliente para a IAM, consulte o artigo Bibliotecas cliente da IAM. Para mais informações, consulte a documentação de referência da API Python IAM.
Para se autenticar no IAM, configure as Credenciais padrão da aplicação. Para mais informações, consulte a secção Antes de começar.
Antes de executar exemplos de código, defina a variável
GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment comos3nsapis.fr
.REST
O método
policies.delete
elimina uma política de recusa de um recurso.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação. POLICY_ID
: um identificador da política de recusa.-
ETAG
: opcional. Um identificador da versão da política. Se estiver presente, este valor tem de corresponder ao valoretag
atual da política.
Método HTTP e URL:
DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" ] } } ] } }
A resposta identifica uma operação de longa duração. Pode monitorizar o estado da operação de longa duração para saber quando está concluída. Para ver detalhes, consulte a secção Verifique o estado de uma operação de longa duração nesta página.
Verifique o estado de uma operação de longa duração
Quando usa a API REST ou as bibliotecas cliente, qualquer método que altere uma política de recusa devolve uma operação de longa duração ou LRO. A operação de longa duração monitoriza o estado do pedido e indica se a alteração à política está concluída.
Go
Os exemplos de código nesta página mostram como aguardar a conclusão de uma operação de longa duração e, em seguida, aceder ao respetivo resultado.
Java
Os exemplos de código nesta página mostram como aguardar a conclusão de uma operação de longa duração e, em seguida, aceder ao respetivo resultado.
Node.js
Os exemplos de código nesta página mostram como aguardar a conclusão de uma operação de longa duração e, em seguida, aceder ao respetivo resultado.
Python
Os exemplos de código nesta página mostram como aguardar a conclusão de uma operação de longa duração e, em seguida, aceder ao respetivo resultado.
REST
O método
policies.operations.get
devolve o estado de uma operação de longa duração.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ENCODED_ATTACHMENT_POINT
: Um identificador codificado por URL para o recurso ao qual a política de recusa está anexada. Para saber como formatar este valor, consulte Ponto de fixação. -
OPERATION_ID
: o identificador da operação. Recebe este identificador na resposta ao seu pedido original, como parte do nome da operação. Use o valor hexadecimal no final do nome da operação. Por exemplo,89cb3e508bf1ff01
.
Método HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }
Se o campo
done
da operação não estiver presente, continue a monitorizar o respetivo estado obtendo a operação repetidamente. Use a retirada exponencial truncada para introduzir um atraso entre cada pedido. Quando o campodone
está definido comotrue
, a operação está concluída e pode parar de receber a operação.O que se segue?
- Identifique as autorizações suportadas nas políticas de recusa.
- Obtenha o formato dos identificadores principais nas políticas de recusa.
- Saiba como resolver problemas de acesso com políticas de recusa.
- Saiba mais sobre como negar o acesso a responsáveis.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-20 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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,[]]