Antes de conceder uma função da gestão de identidade e de acesso (IAM) a um utilizador para um recurso, é recomendável saber que funções estão disponíveis para conceder num recurso específico.
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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Para usar os .NET 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.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
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 Google Cloud documentação de autenticação.
C++
Para usar os C++ 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.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
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 Google 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.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
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 Google 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.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
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 Google 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.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
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 Google 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.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações de que precisa para listar as funções atribuíveis, peça ao seu administrador que lhe atribua a função de IAM Revisor de segurança (
Esta função contém as autorizaçõesroles/iam.securityReviewer
) no recurso para o qual quer listar as funções atribuíveis. 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.getIamPolicy
para todos os tipos de recursos. Para listar funções atribuíveis, precisa da autorizaçãogetIamPolicy
para o recurso para o qual quer listar funções atribuíveis. Por exemplo, para listar funções atribuíveis para um projeto, precisa da autorizaçãoresourcemanager.projects.getIamPolicy
.Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Compreender que funções são atribuíveis
Uma função é atribuível num recurso ou acima deste se contiver autorizações para esse tipo de recurso. Por exemplo, a função
storage.admin
concede autorizações às APIsstorage.buckets.get
estorage.objects.get
, pelo que é atribuível aos tipos de recursos Storage Buckets e Storage Objects.As funções também podem ser concedidas "acima" dos tipos de recursos para os quais as respetivas autorizações estão definidas. Por outras palavras, as funções para recursos de nível inferior podem ser concedidas num recurso que esteja num nível superior da Google Cloud hierarquia de recursos. Por exemplo, a função
storage.admin
também pode ser concedida ao nível do projeto ou da organização, além de contentores do Storage.As autorizações concedidas por uma função só afetam os recursos no nível especificado ou inferior; não afetam os recursos de nível superior ou de pares. Além disso, quando é concedido um papel num recurso, apenas são concedidas autorizações aplicáveis ao recurso em questão, independentemente do nome, da descrição ou de outras autorizações que contenha. Por exemplo, a atribuição da função
resourcemanager.organizationAdmin
(que concede a autorizaçãoresourcemanager.projects.list
) a um utilizador ao nível do projeto só lhe concede autorizações para esse projeto específico. Não lhes permite listar nem administrar todos os projetos na organização. Da mesma forma, a atribuição da funçãocompute.admin
numa instância específica do Compute Engine só concede autorizações para essa instância e não para outras no projeto.Funções atribuíveis da ficha
Pode listar as funções atribuíveis através da Google Cloud consola, da CLI do Google Cloud, da API IAM ou das bibliotecas de cliente IAM.
A Google Cloud consola apresenta sempre todas as funções atribuíveis para o recurso que está a ver. A CLI Google Cloud, a API IAM e as bibliotecas cliente apenas listam as funções atribuíveis para APIs ativadas.
Consola
Para ver as funções atribuíveis a um projeto, uma pasta ou uma organização, faça o seguinte:
Na Google Cloud consola, aceda à página IAM.
Clique em Selecionar um projeto na parte superior da página.
Selecione o projeto, a pasta ou a organização para os quais quer ver funções atribuíveis.
Clique em
Conceder acesso.Clique em Selecionar uma função. Este menu apresenta todas as funções, incluindo as funções personalizadas, que pode conceder neste recurso.
Para ver as funções atribuíveis para outros tipos de recursos, faça o seguinte:
Na Google Cloud consola, aceda à página que apresenta o recurso para o qual quer ver as funções atribuíveis.
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 para o qual quer ver as funções atribuíveis.
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.
Clique em
Adicionar principal.Clique em Selecionar uma função. Este menu apresenta todas as funções, incluindo quaisquer funções personalizadas, que pode conceder neste recurso.
gcloud
Use o comando
gcloud iam list-grantable-roles
para devolver uma lista de todas as funções que podem ser aplicadas a um determinado recurso.gcloud iam list-grantable-roles full-resource-name
Consoante o recurso pretendido, pode ser devolvido um grande número de funções. Para limitar os resultados, pode especificar uma expressão de filtro.
O resultado vai ter um aspeto semelhante a:
description: Full control of all Compute Engine resources. name: roles/compute.admin title: Compute Admin --- description: Full control of Compute Engine instance resources. name: roles/compute.instanceAdmin title: Compute Instance Admin # Additional results here...
C++
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 C++ 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.
C#
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 C# 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.
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.
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.
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.
REST
O método
roles.queryGrantableRoles
devolve uma lista de todas as funções atribuíveis num recurso.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
FULL_RESOURCE_NAME
: um URI composto pelo nome do serviço e o caminho para o recurso. Para ver exemplos, consulte o artigo Nomes de recursos completos.
Método HTTP e URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
Corpo JSON do pedido:
{ "fullResourceName": "FULL_RESOURCE_NAME" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
Nos exemplos acima, o nome completo do recurso é um URI sem esquema constituído por um nome do serviço da API compatível com DNS e um caminho do recurso.
Por exemplo, para devolver todas as funções atribuíveis num projeto, use:
//cloudresourcemanager.googleapis.com/projects/project-id
Os recursos de nível inferior têm um nome totalmente qualificado mais detalhado. Por exemplo, use o seguinte para devolver todas as funções atribuíveis numa instância do Compute Engine:
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
O que se segue?
- Leia sobre as funções de IAM disponíveis.
- Saiba como escolher as funções predefinidas mais adequadas.
- Saiba como conceder, alterar e revogar o acesso de um principal.
- Veja exemplos de nomes de recursos para diferentes tipos de recursos.
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.