Esta página descreve o processo geral de concessão, alteração e revogação do acesso a recursos que aceitam políticas de autorização.
Na gestão de identidade e de acesso (IAM), o acesso é concedido através de políticas de autorização, também conhecidas como políticas de IAM. Uma política de permissão está anexada a um recursoGoogle Cloud . Cada política de autorização contém uma coleção de associações de funções que associam um ou mais responsáveis, como utilizadores ou contas de serviço, a uma função do IAM. Estas associações de funções concedem as funções especificadas aos principais, tanto no recurso ao qual a política de autorização está anexada como em todos os descendentes desse recurso. Para mais informações sobre as políticas de autorização, consulte o artigo Compreender as políticas de autorização.
Esta página descreve como gerir o acesso aos recursos através da Google Cloud consola, da CLI Google Cloud e da API REST. Também pode gerir o acesso através das Google Cloud bibliotecas de cliente.
Antes de começar
Reveja a lista de tipos de recursos que aceitam políticas de permissão.
Autorizações necessárias
Para gerir o acesso a um recurso, precisa de autorizações para obter o recurso e para obter e definir a política de autorização para o recurso. Estas autorizações têm o seguinte formato, em que SERVICE
é o nome do serviço que detém o recurso e RESOURCE_TYPE
é o nome do tipo de recurso ao qual quer gerir o acesso:
SERVICE.RESOURCE_TYPE.get
SERVICE.RESOURCE_TYPE.getIamPolicy
SERVICE.RESOURCE_TYPE.setIamPolicy
Por exemplo, para gerir o acesso a uma instância do Compute Engine, precisa das seguintes autorizações:
compute.instances.get
compute.instances.getIamPolicy
compute.instances.setIamPolicy
Para obter as autorizações necessárias, peça ao seu administrador para lhe conceder uma função predefinida ou personalizada que inclua as autorizações. Por exemplo, o seu administrador pode conceder-lhe a função de administrador de segurança (roles/iam.securityAdmin
), que inclui autorizações para gerir o acesso a quase todos os recursos Google Cloud .
Veja o acesso atual
A secção seguinte mostra como usar a Google Cloud consola, a CLI gcloud e a API REST para ver quem tem acesso a um recurso. Também pode ver o acesso através das Google Cloud bibliotecas de cliente para obter a política de autorização do recurso.
Consola
Na Google Cloud consola, aceda à página que lista o recurso ao qual quer ver o acesso.
Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM.
Selecione a caixa de verificação junto ao recurso ao qual quer ver o acesso.
Certifique-se de que o painel de informações está visível. Se não estiver visível, clique em Mostrar painel de informações. O separador Autorizações do painel de informações apresenta todos os diretores que têm acesso ao recurso.
Se o interruptor Mostrar autorizações herdadas estiver ativado, a lista inclui diretores com funções herdadas, ou seja, diretores cujo acesso provém de funções em recursos principais e não de funções no próprio recurso. Para mais informações sobre a herança de políticas, consulte o artigo Herança de políticas e a hierarquia de recursos.
gcloud
Para ver quem tem acesso ao seu recurso, obtenha a política de autorização para o recurso. Para saber como interpretar as políticas de permissão, consulte o artigo Compreender as políticas de permissão.
Para obter a política de autorização para o recurso, execute o comando get-iam-policy
para o recurso.
O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando get-iam-policy
do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso.
Por exemplo, para obter a política de autorização de uma instância de VM do Compute Engine, siga o formato descrito na gcloud compute instances get-iam-policy
referência.
Opcionalmente, adicione os seguintes argumentos ao comando para especificar o formato e exportar os resultados:
--format=FORMAT > PATH
Indique os seguintes valores:
FORMAT
: o formato pretendido para a política. Usejson
ouyaml
.PATH
: o caminho para um novo ficheiro de saída para a política.
Quando executa o comando, a política de autorização do recurso é impressa na consola ou exportada para o ficheiro especificado.
REST
Para ver quem tem acesso ao seu recurso, obtenha a política de autorização do recurso. Para saber como interpretar as políticas de permissão, consulte o artigo Compreender as políticas de permissão.
Para obter a política de autorização do recurso, use o método getIamPolicy
do recurso.
O método HTTP, o URL e o corpo do pedido dependem do recurso ao qual quer ver o acesso. Para encontrar estes detalhes, procure a referência da API do serviço que detém o recurso e, em seguida, procure a referência do método getIamPolicy
do recurso. Por exemplo, o método HTTP, o URL e o corpo do pedido de uma instância do Compute Engine são especificados na referência getIamPolicy
instances.
A resposta para o método getIamPolicy
de qualquer recurso contém a política de permissão do recurso.
Conceda ou revogue uma única função de IAM
Pode usar a Google Cloud consola e a CLI gcloud para conceder ou revogar rapidamente uma única função para um único principal, sem editar diretamente a política de autorização do recurso. Os tipos comuns de principais incluem contas Google, contas de serviço, grupos Google e domínios.Para ver uma lista de todos os tipos de principais, consulte Tipos de principais.
Em geral, as alterações às políticas entram em vigor no prazo de 2 minutos. No entanto, em alguns casos, a propagação das alterações por todo o sistema pode demorar 7 minutos ou mais.
Se precisar de ajuda para identificar a função predefinida mais adequada, consulte o artigo Encontre as funções predefinidas certas.
Conceda uma única função de IAM
Para conceder uma única função a um principal, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página que apresenta o recurso ao qual quer ver o acesso.
Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM.
Selecione a caixa de verificação junto ao recurso cujo acesso quer gerir.
Certifique-se de que o painel de informações está visível. Se não estiver visível, clique em Mostrar painel de informações.
Selecione um principal ao qual atribuir uma função:
Para conceder uma função a um principal que já tenha outras funções no recurso, encontre uma linha que contenha o principal, clique em
Editar principal nessa linha e clique em Adicionar outra função.Para conceder uma função a um principal que ainda não tenha outras funções no recurso, clique em
Adicionar principal e, em seguida, introduza um identificador para o principal, por exemplo,my-user@example.com
ou//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
.
Selecione uma função a conceder na lista pendente. Para as melhores práticas de segurança, escolha uma função que inclua apenas as autorizações de que o seu principal precisa.
Opcional: adicione uma condição à função.
Clique em Guardar. O principal recebe a função no recurso.
gcloud
Para conceder rapidamente uma função a um principal, execute o comando add-iam-policy-binding
.
O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando add-iam-policy-binding
do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso.
Por exemplo, para conceder a um principal uma função numa instância do Compute Engine,
siga o formato descrito na referência gcloud compute instances add-iam-policy-
binding
.
Revogue uma única função de IAM
Para revogar uma única função de um principal, faça o seguinte:
Consola
Na Google Cloud consola, aceda à página que apresenta o recurso do qual quer revogar o acesso.
Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM:
Selecione a caixa de verificação junto ao recurso cujo acesso quer gerir.
Certifique-se de que o painel de informações está visível. Se não estiver visível, clique em Mostrar painel de informações.
Procure a linha que contém o principal cujo acesso quer revogar. Em seguida, clique em
Editar principal nessa linha.Clique no botão Eliminar
para a função que quer revogar e, de seguida, clique em Guardar.
gcloud
Para revogar rapidamente uma função de um principal, execute o comando remove-iam-policy-binding
.
O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando remove-iam-policy-binding
do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso.
Por exemplo, para conceder a um principal uma função numa instância do Compute Engine,
siga o formato descrito na referência gcloud compute instances
remove-iam-policy-binding
.
Conceda ou revogue várias funções IAM através da Google Cloud consola
Pode usar a Google Cloud consola para conceder e revogar várias funções para um único principal:
Na Google Cloud consola, aceda à página que apresenta o recurso ao qual quer ver o acesso.
Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM.
Selecione a caixa de verificação junto ao recurso cujo acesso quer gerir.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações.
Selecione o principal cujas funções quer modificar:
Para modificar as funções de um principal que já tem funções no recurso, encontre uma linha que contenha o principal, clique em
Editar principal nessa linha e clique em Adicionar outra função.Para conceder funções a um principal que não tenha funções existentes no recurso, clique em
Adicionar principal e, de seguida, introduza um identificador para o principal, por exemplo,my-user@example.com
ou//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
.
Modifique as funções do principal:
- Para conceder uma função a um principal que não tenha funções existentes no recurso, clique em Selecionar uma função e, de seguida, selecione uma função a conceder na lista pendente.
- Para conceder uma função adicional ao principal, clique em Adicionar outra função e, em seguida, selecione uma função a conceder na lista pendente.
- Para substituir uma das funções do principal por uma função diferente, clique na função existente e, de seguida, escolha uma função diferente para conceder na lista pendente.
- Para revogar uma das funções do principal, clique no botão Eliminar para cada função que quer revogar.
Também pode adicionar uma condição a uma função, modificar a condição de uma função ou remover a condição de uma função.
Clique em Guardar.
Conceda ou revogue várias funções do IAM por programação
Para fazer alterações de acesso em grande escala que envolvam a concessão e a revogação de várias funções para vários responsáveis, use o padrão read-modify-write para atualizar a política de autorização do recurso:
- Leia a política de permissão atual chamando
getIamPolicy()
. - Edite a política de autorização, através de um editor de texto ou programaticamente, para adicionar ou remover quaisquer responsáveis ou associações de funções.
- Escreva a política de permissão atualizada chamando
setIamPolicy()
.
Esta secção mostra como usar a CLI gcloud e a API REST para atualizar a política de autorização. Também pode atualizar a política de permissão através das Google Cloud bibliotecas de cliente.
Em geral, as alterações às políticas entram em vigor no prazo de 2 minutos. No entanto, em alguns casos, a propagação das alterações por todo o sistema pode demorar 7 minutos ou mais.
Obtenha a política de permissão atual
gcloud
Para obter a política de autorização para o recurso, execute o comando get-iam-policy
para o recurso.
O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando get-iam-policy
do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso.
Por exemplo, para obter a política de autorização de uma instância de VM do Compute Engine, siga o formato descrito na gcloud compute instances get-iam-policy
referência.
Opcionalmente, adicione os seguintes argumentos ao comando para especificar o formato e exportar os resultados:
--format=FORMAT > PATH
Indique os seguintes valores:
FORMAT
: o formato pretendido para a política de permissão. Usejson
ouyaml
.PATH
: o caminho para um novo ficheiro de saída para a política allow.
Quando executa o comando, a política de autorização do recurso é impressa na consola ou exportada para o ficheiro especificado.
REST
Para obter a política de autorização do recurso, use o método getIamPolicy
do recurso.
O método HTTP, o URL e o corpo do pedido dependem do recurso ao qual quer ver o acesso. Para encontrar estes detalhes, procure a referência da API do serviço que detém o recurso e, em seguida, procure a referência do método getIamPolicy
do recurso. Por exemplo, o método HTTP, o URL e o corpo do pedido de uma instância de VM do Compute Engine são especificados na referência instances getIamPolicy
.
A resposta para o método getIamPolicy
de qualquer recurso contém a política de permissão do recurso. Guarde a resposta num ficheiro do tipo adequado (json
ou yaml
).
Modifique a política de autorização
Modifique a cópia local da política de autorização do recurso de forma programática ou através de um editor de texto para refletir as funções que quer conceder ou revogar.
Para garantir que não substitui outras alterações, não edite nem remova o campo etag
da política de permissão. O campo etag
identifica o estado atual da política de autorização. Quando define a política de permissão atualizada, o IAM compara o valor etag
no pedido com o etag
existente e só escreve a política de permissão se os valores corresponderem.
Para editar as funções que uma política de autorização concede, tem de editar as associações de funções na política de autorização. As associações de funções têm o seguinte formato:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
Os marcadores de posição têm os seguintes valores:
ROLE_NAME
: o nome da função que quer conceder. Use um dos seguintes formatos:- Funções predefinidas:
roles/SERVICE.IDENTIFIER
- Funções personalizadas ao nível do projeto:
projects/PROJECT_ID/roles/IDENTIFIER
- Funções personalizadas ao nível da organização:
organizations/ORG_ID/roles/IDENTIFIER
Para ver uma lista das funções predefinidas, consulte o artigo Compreender as funções.
- Funções predefinidas:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificadores dos principais aos quais quer conceder a função.Normalmente, os identificadores principais têm o seguinte formato:
PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
ouprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Para ver uma lista completa dos valores quePRINCIPAL
pode ter, consulte Identificadores principais.Para o tipo principal
user
, o nome do domínio no identificador tem de ser um domínio do Google Workspace ou um domínio do Cloud ID. Para saber como configurar um domínio do Cloud ID, consulte a vista geral do Cloud ID.CONDITIONS
: opcional. Quaisquer condições que especifiquem quando o acesso é concedido.
Conceda uma função
Para conceder funções aos seus principais, modifique as associações de funções na política de autorização. Para saber que funções pode conceder, consulte o artigo Compreender as funções ou ver as funções concedíveis para o recurso. Se precisar de ajuda para identificar as funções predefinidas mais adequadas, consulte o artigo Encontre as funções predefinidas certas.
Opcionalmente, pode usar condições para conceder funções apenas quando determinados requisitos são cumpridos.
Para conceder uma função que já está incluída na política de autorização, adicione o principal a uma associação de funções existente:
gcloud
Edite a política de autorização adicionando o principal a uma associação de funções existente. Tenha em atenção que esta alteração não entra em vigor até definir a política de autorização atualizada.
Por exemplo, imagine que a política de permissão contém a seguinte associação de funções, que
concede a função de administrador da instância de computação (roles/compute.instanceAdmin
) a
Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Para conceder essa mesma função a Raha, adicione o identificador principal de Raha à associação de funções existente:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Edite a política de autorização adicionando o principal a uma associação de funções existente. Tenha em atenção que esta alteração não entra em vigor até definir a política de autorização atualizada.
Por exemplo, imagine que a política de permissão contém a seguinte associação de funções, que
concede a função de administrador da instância de computação (roles/compute.instanceAdmin
) a
Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Para conceder essa mesma função a Raha, adicione o identificador principal de Raha à associação de funções existente:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Para conceder uma função que ainda não esteja incluída na política de autorização, adicione uma nova associação de funções:
gcloud
Edite a política de autorização adicionando uma nova associação de funções que conceda a função ao principal. Esta alteração não entra em vigor até que defina a política de permissão atualizada.
Por exemplo, para conceder a função de administrador do balanceador de carga do Compute
(roles/compute.loadBalancerAdmin
) a Raha, adicione a seguinte associação de funções à matriz bindings
para a política de autorização:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
REST
Edite a política de autorização adicionando uma nova associação de funções que conceda a função ao principal. Esta alteração não entra em vigor até que defina a política de permissão atualizada.
Por exemplo, para conceder a função de administrador do balanceador de carga do Compute
(roles/compute.loadBalancerAdmin
) a Raha, adicione a seguinte associação de funções à matriz bindings
para a política de autorização:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
Revogue uma função
Para revogar uma função, remova o principal da associação de funções. Se não existirem outros principais na associação de funções, remova toda a associação de funções.
gcloud
Revogue uma função editando a política de autorização JSON ou YAML devolvida pelo comando get-iam-policy
. Esta alteração não entra em vigor até que
defina a política de permissão atualizada.
Para revogar uma função de um principal, elimine os principais ou as associações pretendidos da matriz bindings
para a política de autorização.
REST
Revogue uma função editando a política de autorização JSON ou YAML devolvida pelo comando get-iam-policy
. Esta alteração não entra em vigor até que
defina a política de permissão atualizada.
Para revogar uma função de um principal, elimine os principais ou as associações pretendidos da matriz bindings
para a política de autorização.
Defina a política de permissão
Depois de modificar a política de autorização para conceder e revogar as funções pretendidas, chame setIamPolicy()
para fazer as atualizações.
gcloud
Para definir a política de permissão para o recurso, execute o comando set-iam-policy
para o recurso.
O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando set-iam-policy
do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso.
Por exemplo, para obter a política de autorização de uma instância de VM do Compute Engine, siga o formato descrito na gcloud compute instances set-iam-policy
referência.
A resposta ao comando set-iam-policy
de qualquer recurso contém a política de permissão atualizada do recurso.
REST
Para definir a política de permissão do recurso, use o método setIamPolicy
do recurso.
O método HTTP, o URL e o corpo do pedido dependem do recurso ao qual quer ver o acesso. Para encontrar estes detalhes, procure a referência da API do serviço que detém o recurso e, em seguida, procure a referência do método setIamPolicy
do recurso. Por exemplo, o método HTTP, o URL e o corpo do pedido de uma instância de VM do Compute Engine são especificados na referência instances setIamPolicy
.
A resposta para o método setIamPolicy
de qualquer recurso contém a política de autorização atualizada do recurso.
O que se segue?
- Saiba como gerir o acesso a projetos, pastas e organizações ou como gerir o acesso a contas de serviço.
- Saiba como escolher as funções predefinidas mais adequadas.
- Use a Resolução de problemas de políticas para compreender por que motivo um utilizador tem ou não acesso a um recurso ou tem autorização para chamar uma API.
- Descubra como ver as funções que pode conceder num recurso específico.
- Saiba como tornar o acesso de um principal condicional com associações de funções condicionais.
Experimente
Se for um novo utilizador do Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Comece gratuitamente