Nesta página, será descrito o processo geral para conceder, alterar e revogar acesso a recursos que aceitam políticas de permissão.
No Identity and Access Management (IAM), o acesso é concedido por meio de políticas de permissão, também conhecidas como políticas do IAM. Uma política de permissão é anexada a um recurso do Google Cloud. Cada política contém uma coleção de vinculações de papéis que associam um ou mais principais, como usuários ou contas de serviço, a um papel do IAM. Essas vinculações de papéis concedem os papéis especificados aos principais no recurso ao qual a política está anexada e em todos os descendentes desse recurso. Para mais informações sobre políticas de permissão, consulte Noções básicas sobre políticas de permissão.
Esta página descreve como gerenciar o acesso a recursos usando o Console do Google Cloud, a Google Cloud CLI e a API REST. Também é possível gerenciar o acesso usando as bibliotecas de cliente do Google Cloud.
Antes de começar
Revise a lista de tipos de recursos que aceitam políticas de permissão.
Permissões necessárias
Para gerenciar o acesso a um recurso, você precisa de permissões para acessá-lo,
obter e definir a política de permissão para o recurso. Essas permissões têm o seguinte formato, em que SERVICE
é o nome do serviço que possui o recurso e
RESOURCE_TYPE
é o nome do tipo de recurso para que
você quer gerenciar o acesso:
SERVICE.RESOURCE_TYPE.get
SERVICE.RESOURCE_TYPE.getIamPolicy
SERVICE.RESOURCE_TYPE.setIamPolicy
Por exemplo, para gerenciar o acesso a uma instância do Compute Engine, você precisa das seguintes permissões:
compute.instances.get
compute.instances.getIamPolicy
compute.instances.setIamPolicy
Para receber as permissões necessárias, peça ao administrador para conceder a você um
papel predefinido ou personalizado que inclua as permissões. Por exemplo, o
administrador pode conceder a você o papel de administrador de segurança (roles/iam.securityAdmin
), que inclui permissões para gerenciar o acesso a
quase todos os recursos do Google Cloud.
Ver acesso atual
A próxima seção mostra como usar o Console do Google Cloud, a CLI gcloud e a API REST para ver quem tem acesso a um recurso. Também é possível visualizar o acesso usando as bibliotecas de cliente do Google Cloud para receber a política de permissão do recurso.
Console
No Console do Google Cloud, acesse a página que lista o recurso com o acesso que você quer ver.
Por exemplo, para gerenciar o acesso a uma instância do Compute Engine, acesse a página Instâncias de VM.
Marque a caixa de seleção ao lado do recurso que você quer ver o acesso.
Verifique se o painel de informações está visível. Se não estiver, clique em Mostrar painel de informações. A guia Permissões do painel de informações lista todos os principais que têm acesso ao recurso.
Se a opção Mostrar permissões herdadas estiver ativada, a lista incluirá principais com papéis herdados. Ou seja, principais cujo acesso vem de papéis em recursos pai em vez de papéis no próprio recurso. Para mais informações sobre herança de políticas, consulte Herança de política e a hierarquia de recursos.
gcloud
Para ver quem tem acesso ao recurso, consiga a política de permissão do recurso. Para saber como interpretar políticas de permissão, consulte Noções básicas sobre políticas de permissão.
Para conseguir a política de permissão do recurso, execute o comando
get-iam-policy
para o recurso:
O formato desse comando varia de acordo com o tipo de recurso que você está
gerenciando o acesso. Para saber o formato do recurso, encontre a referência
para o comando get-iam-policy
do recurso na referência da
Google Cloud CLI. Essa referência é organizada por serviço e por recurso.
Por exemplo, para acessar a política de permissão de uma instância de VM do Compute Engine,
siga o formato descrito na referência
do gcloud compute instances get-iam-policy
.
Se quiser, adicione os seguintes argumentos ao comando para especificar o formato e exportar os resultados:
--format=FORMAT > PATH
Forneça os valores a seguir:
FORMAT
: o formato desejado para a política. Usejson
ouyaml
.PATH
: o caminho para um novo arquivo de saída para a política.
Quando você executar o comando, a política de permissão do recurso será impressa no console ou exportada para o arquivo especificado.
REST
Para ver quem tem acesso ao recurso, consiga a política de permissão do recurso. Para saber como interpretar políticas de permissão, consulte Noções básicas sobre políticas de permissão.
Para obter a política de permissão do recurso, use o método getIamPolicy
do recurso.
O método HTTP, o URL e o corpo da solicitação dependem do recurso que você quer
ver o acesso. Para encontrar esses detalhes, encontre a referência da API do serviço
que possui o recurso e, em seguida, encontre a referência para o método getIamPolicy
do recurso. Por exemplo, o método HTTP, o URL e o corpo da solicitação de uma
instância do Compute Engine são especificados na referência getIamPolicy
de instâncias.
A resposta para o método getIamPolicy
de qualquer recurso contém a política de de permissão
do recurso.
Conceder ou revogar um único papel
Use o Console do Google Cloud e a CLI gcloud para conceder ou revogar rapidamente apenas um papel de um único principal, sem editar a política de permissão do recurso diretamente. Os tipos comuns de principais incluem Contas do Google, contas de serviço, grupos do Google e domínios. Para ver a lista de tipos de principais, consulte Conceitos relacionados à identidade.
Em geral, as alterações na política entram em vigor em até dois minutos. No entanto, em alguns casos, pode levar sete minutos ou mais para que as mudanças sejam propagadas pelo sistema.
Se você precisar de ajuda para identificar o papel predefinido mais apropriado, consulte Escolher papéis predefinidos.
Conceder um único papel
Para conceder um único papel a um principal, faça o seguinte:
Console
No Console do Google Cloud, acesse a página que lista o recurso com o acesso que você quer ver.
Por exemplo, para gerenciar o acesso a uma instância do Compute Engine, acesse a página Instâncias de VM.
Marque a caixa de seleção ao lado do recurso que você quer gerenciar o acesso.
Verifique se o painel de informações está visível. Se não estiver, clique em Mostrar painel de informações.
Selecione um principal para conceder um papel:
Para conceder um papel a um principal que já tenha outros papéis no recurso, encontre uma linha contendo o principal e clique em
Editar principal nessa linha, e clique em Adicionar outro papel.Para conceder um papel a um principal que ainda não tem outros papéis no recurso, clique em
Adicionar principal e insira um identificador para o principal, por exemplo,my-user@example.com
.
Na lista suspensa, selecione um papel a ser concedido. Como prática recomendada de segurança, escolha um papel que inclua apenas as permissões necessárias ao principal.
Opcional: adicione uma condição ao papel.
Clique em Salvar. O principal recebe o papel no recurso.
gcloud
Para conceder um papel a um principal de forma rápida, execute o comando
add-iam-policy-binding
:
O formato desse comando varia de acordo com o tipo de recurso que você está
gerenciando o acesso. Para saber o formato do recurso, encontre a referência
para o comando add-iam-policy-binding
do recurso na referência da
Google Cloud CLI. Essa referência é organizada por serviço e por recurso.
Por exemplo, para conceder a um principal um papel em uma instância do Compute Engine,
siga o formato descrito na referência do gcloud compute instances add-iam-policy-
binding
.
Revogar um único papel
Para revogar um único papel de um principal, faça o seguinte:
Console
No Console do Google Cloud, acesse a página com o recurso com o acesso que você quer revogar.
Por exemplo, para gerenciar o acesso a uma instância do Compute Engine, acesse a página Instâncias de VM:
Marque a caixa de seleção ao lado do recurso que você quer gerenciar o acesso.
Verifique se o painel de informações está visível. Se não estiver, clique em Mostrar painel de informações.
Encontre a linha que contém o principal cujo acesso você quer revogar. Em seguida, clique em
Editar principal nessa linha.Clique no botão Excluir
do papel que você quer revogar e clique em Salvar.
gcloud
Para revogar rapidamente o papel de um membro, execute o comando
remove-iam-policy-binding
.
O formato desse comando varia de acordo com o tipo de recurso que você está
gerenciando o acesso. Para saber o formato do recurso, encontre a referência
para o comando remove-iam-policy-binding
do recurso na referência da
Google Cloud CLI. Essa referência é organizada por serviço e por recurso.
Por exemplo, para conceder a um principal um papel em uma instância do Compute Engine,
siga o formato descrito na referência do gcloud compute instances
remove-iam-policy-binding
.
Conceder ou revogar vários papéis usando o console do Google Cloud
É possível usar o console do Google Cloud para conceder e revogar vários papéis para um único principal:
No Console do Google Cloud, acesse a página que lista o recurso com o acesso que você quer ver.
Por exemplo, para gerenciar o acesso a uma instância do Compute Engine, acesse a página Instâncias de VM.
Marque a caixa de seleção ao lado do recurso que você quer gerenciar o acesso.
Se o painel de informações não estiver visível, clique em Mostrar painel de informações.
Selecione o principal com os papéis que você quer modificar:
Para modificar papéis para um principal que já tem papéis no recurso, encontre a linha que contém o principal, clique em
Editar principal nessa linha e clique em Adicionar outro papel.Para conceder papéis a um principal que ainda não tem papéis no recurso, clique em
Adicionar principal e insira um identificador para o principal, por exemplo,my-user@example.com
.
Modifique os papéis do principal:
- Para conceder um papel a um principal que ainda não tem papéis no recurso, clique em Selecionar um papel e selecione um papel na lista suspensa.
- Para conceder outro papel ao principal, clique em Adicionar outro papel e selecione um papel na lista suspensa.
- Para substituir um dos papéis do principal por um diferente, clique nesse papel e escolha outro na lista suspensa.
- Para revogar um dos papéis do principal, clique no botão Excluir de cada papel que você quer revogar.
Também é possível adicionar uma condição a um papel, modificar a condição de um papel ou remover a condição de um papel.
Clique em Salvar.
Conceder ou revogar vários papéis de forma programática
Para fazer alterações de acesso em grande escala que envolvem a concessão e revogação de vários papéis para vários principais, use o padrão read-modify-write para atualizar a política de permissão do recurso:
- Leia a política de permissão atual chamando
getIamPolicy()
. - edição da política retornada usando um editor de texto ou de forma programática, para adicionar ou remover qualquer principal ou vinculação de papel;
- Escreva a política de permissão atualizada chamando
setIamPolicy()
.
Veja nesta seção como usar a CLI gcloud e a API REST para atualizar a política de permissão. Também é possível atualizar a política de permissão usando as bibliotecas de cliente do Google Cloud.
Em geral, as alterações na política entram em vigor em até dois minutos. No entanto, em alguns casos, pode levar sete minutos ou mais para que as mudanças sejam propagadas pelo sistema.
Acessar a política de permissão atual
gcloud
Para conseguir a política de permissão do recurso, execute o comando
get-iam-policy
para o recurso:
O formato desse comando varia de acordo com o tipo de recurso que você está
gerenciando o acesso. Para saber o formato do recurso, encontre a referência
para o comando get-iam-policy
do recurso na referência da
Google Cloud CLI. Essa referência é organizada por serviço e por recurso.
Por exemplo, para acessar a política de permissão de uma instância de VM do Compute Engine,
siga o formato descrito na referência
do gcloud compute instances get-iam-policy
.
Se quiser, adicione os seguintes argumentos ao comando para especificar o formato e exportar os resultados:
--format=FORMAT > PATH
Forneça os valores a seguir:
FORMAT
: o formato desejado para a política de permissão. Usejson
ouyaml
.PATH
: o caminho para um novo arquivo de saída para a política de permissão.
Quando você executar o comando, a política de permissão do recurso será impressa no console ou exportada para o arquivo especificado.
REST
Para obter a política de permissão do recurso, use o método getIamPolicy
do recurso.
O método HTTP, o URL e o corpo da solicitação dependem do recurso que você quer
ver o acesso. Para encontrar esses detalhes, encontre a referência da API do serviço
que possui o recurso e, em seguida, encontre a referência para o método getIamPolicy
do recurso. Por exemplo, o método HTTP, o URL e o corpo da solicitação de uma
instância VM do Compute Engine são especificados na referência getIamPolicy
de instâncias.
A resposta para o método getIamPolicy
de qualquer recurso contém a política de de permissão
do recurso. Salve a resposta em um arquivo do tipo apropriado (json
ou yaml
).
Modificar a política de permissão
De maneira programática ou com um editor de texto, modifique a cópia local da política de permissão do recurso para refletir os papéis que você quer conceder ou revogar.
Para garantir que você não substitua outras alterações de política, não edite ou remova
o campo etag
da política de permissão. O campo etag
identifica o estado atual da
política de permissão. Quando você define a política atualizada, o IAM
compara o valor etag
na solicitação com o etag
atual e grava
a política somente se os valores corresponderem.
Para editar os papéis que uma política de permissão concede, é necessário editar as vinculações de papéis na política de permissão. As vinculações de papéis têm o seguinte formato:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
Os marcadores têm os seguintes valores:
ROLE_NAME
: o nome do papel que você quer conceder. Use um dos seguintes formatos:- Papéis predefinidos:
roles/SERVICE.IDENTIFIER
- Papéis personalizados para envolvidos no projeto:
projects/PROJECT_ID/roles/IDENTIFIER
- Papéis personalizados no nível da organização:
organizations/ORG_ID/roles/IDENTIFIER
Para uma lista de papéis predefinidos, consulte Noções básicas sobre papéis.
- Papéis predefinidos:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificadores dos principais a que você quer conceder o papel.Os identificadores dos principais geralmente têm o seguinte formato:
PRINCIPAL-TYPE:ID
. Por exemplo,user:my-user@example.com
. Para conferir uma lista completa dos valores quePRINCIPAL
pode ter, consulte Identificadores principais.Para o tipo de principal
user
, o nome de domínio no identificador precisa ser do Google Workspace ou do Cloud Identity. Para saber como configurar um domínio do Cloud Identity, consulte a visão geral do Cloud Identity.CONDITIONS
: opcional. Todas as condições que especificam quando o acesso será concedido.
Conceder um papel
Para conceder papéis aos principais, modifique as vinculações de papéis na política. Para saber quais papéis é possível conceder, consulte Noções básicas sobre papéis ou Ver papéis atribuíveis para o recurso. Se você precisar de ajuda para identificar os papéis predefinidos mais apropriados, consulte Escolher papéis predefinidos.
Se preferir, use condições para conceder papéis somente quando determinados requisitos forem atendidos.
Para conceder um papel que já está incluído na política, adicione o principal a uma vinculação de papel:
gcloud
Edite a políticade permissão retornada adicionando o principal a uma vinculação de papel existente. Essa mudança só entrará em vigor quando você definir a política de permissão atualizada.
Por exemplo, imagine que a política de permissão contenha a seguinte vinculação de papel, que concede o papel de Administrador da instância do Compute (roles/compute.instanceAdmin
) a
Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Para conceder esse mesmo papel a Raha, adicione o identificador principal de Raha à vinculação de papel existente:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Edite a políticade permissão retornada adicionando o principal a uma vinculação de papel existente. Essa mudança só entrará em vigor quando você definir a política de permissão atualizada.
Por exemplo, imagine que a política de permissão contenha a seguinte vinculação de papel, que concede o papel de Administrador da instância do Compute (roles/compute.instanceAdmin
) a
Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Para conceder esse mesmo papel a Raha, adicione o identificador principal de Raha à vinculação de papel existente:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Para conceder um papel que ainda não está incluído na política, adicione uma nova vinculação de papel:
gcloud
Edite a política retornada adicionando uma nova vinculação de papel que conceda o papel ao principal. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.
Por exemplo, para conceder o papel de administrador do balanceador de carga do Compute
(roles/compute.loadBalancerAdmin
) a Raha, adicione a seguinte
vinculação de papel à matriz bindings
da política de permissão:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
REST
Edite a política retornada adicionando uma nova vinculação de papel que conceda o papel ao principal. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.
Por exemplo, para conceder o papel de administrador do balanceador de carga do Compute
(roles/compute.loadBalancerAdmin
) a Raha, adicione a seguinte
vinculação de papel à matriz bindings
da política de permissão:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
Revogar um papel
Para revogar um papel, remova o principal da vinculação de papel. Se não houver outros principais na vinculação de papel, remova a vinculação inteira.
gcloud
Revogue um papel editando a política JSON ou YAML retornada pelo comando get-iam-policy
. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.
Para revogar um papel de um principal, exclua os principais ou as vinculações
da matriz bindings
da política.
REST
Revogue um papel editando a política JSON ou YAML retornada pelo comando get-iam-policy
. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.
Para revogar um papel de um principal, exclua os principais ou as vinculações
da matriz bindings
da política.
Definir a política de permissão
Depois de modificar a política para conceder e revogar os papéis desejados, chame
setIamPolicy()
para fazer as atualizações.
gcloud
Para definir a política de permissão do recurso, execute o comando set-iam-policy
do
recurso.
O formato desse comando varia de acordo com o tipo de recurso que você está
gerenciando o acesso. Para saber o formato do recurso, encontre a referência
para o comando set-iam-policy
do recurso na referência da
Google Cloud CLI. Essa referência é organizada por serviço e por recurso.
Por exemplo, para acessar a política de permissão de uma instância de VM do Compute Engine,
siga o formato descrito na referência
do gcloud compute instances set-iam-policy
.
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 da solicitação dependem do recurso que você quer
ver o acesso. Para encontrar esses detalhes, encontre a referência da API do serviço
que possui o recurso e, em seguida, encontre a referência para o método setIamPolicy
do recurso. Por exemplo, o método HTTP, o URL e o corpo da solicitação de uma
instância VM do Compute Engine são especificados na referência setIamPolicy
de instâncias.
A resposta para o método setIamPolicy
de qualquer recurso contém a política de permissão atualizada
do recurso.
A seguir
- Saiba como gerenciar o acesso a projetos, pastas e organizações ou como gerenciar o acesso a contas de serviço.
- Saiba como escolher os papéis predefinidos mais apropriados.
- Use o Solucionador de problemas de políticas para entender por que um usuário tem ou não acesso a um recurso ou permissão para chamar uma API.
- Descubra como visualizar os papéis que podem ser atribuídos em um recurso específico.
- Aprenda a tornar o acesso de um principal condicional com as vinculações de papéis condicionais.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Comece a usar gratuitamente