A maioria dos recursos do Google Cloud expõe o método testIamPermissions()
, que
permite verificar programaticamente se o autor da chamada
autenticado recebeu uma ou mais permissões específicas do IAM no
recurso. O método testIamPermissions()
usa um identificador de recurso e um conjunto de permissões como parâmetros de entrada e retorna o conjunto de permissões dado ao autor da chamada.
É possível usar o método testIamPermissions()
para determinar se um usuário deve ter acesso a uma ferramenta administrativa em um aplicativo da Web. Por exemplo, é possível usar esse método para decidir, com base nas permissões do usuário, se serão exibidas informações detalhadas sobre um recurso do Google Cloud.
Por exemplo, para determinar se o usuário atualmente autenticado tem permissão para excluir um projeto, chame o projects.testIamPermissions()
usando o ID do projeto, como foo-project
, e a permissão resourcemanager.projects.delete
como parâmetros de entrada. Se o autor da chamada tiver recebido a permissão resourcemanager.projects.delete
, ele será listado no corpo da resposta. Se o autor da chamada não tiver essa permissão, o corpo da resposta não listará nenhuma permissão.
O método testIamPermissions()
destina-se a interfaces gráficas do usuário (GUIs) de terceiros que precisam exibir recursos do Google Cloud com base no que o usuário autenticado tem permissão para ver. Por exemplo, o
Console do Google Cloud usa internamente o método testIamPermissions()
para determinar quais recursos e funcionalidades ficam visíveis para você após
a autenticação. Normalmente, usuários diferentes recebem permissões distintas,
e o Console do Google Cloud oculta ou expõe os itens adequadamente.
Antes de começar
Enable the Resource Manager API.
Configure a autenticação.
Select the tab for how you plan to use the samples on this page:
C++
Para usar os exemplos C++ desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
C#
Para usar os exemplos .NET desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Nenhum papel do IAM é necessário para testar as permissões.
Como testar permissões
Este exemplo mostra como testar as permissões
resourcemanager.projects.get
eresourcemanager.projects.delete
para um projeto do Google Cloud. Para testar as permissões de outros recursos do Google Cloud, use o métodotestIamPermissions()
exposto por cada recurso. Por exemplo, é possível testar as permissões do IAM para um bucket do Cloud Storage.C++
Para saber como instalar e usar a biblioteca de cliente do IAM, consulte Bibliotecas de cliente do IAM. Para mais informações, consulte a documentação de referência da API C++ do IAM.
Para autenticar no IAM, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
C#
Para autenticar no Resource Manager, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
Para saber como instalar e usar a biblioteca de cliente do Resource Manager, consulte Bibliotecas de cliente do Resource Manager.
O IAM testa as permissões da conta de serviço que você está usando para gerar credenciais.
Java
Para autenticar no Resource Manager, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
Para saber como instalar e usar a biblioteca de cliente do Resource Manager, consulte Bibliotecas de cliente do Resource Manager.
O IAM testa as permissões da conta de serviço que você está usando para gerar credenciais.
Python
Para autenticar no Resource Manager, configure o Application Default Credentials. Para mais informações, consulte Antes de começar.
Para saber como instalar e usar a biblioteca de cliente do Resource Manager, consulte Bibliotecas de cliente do Resource Manager.
O IAM testa as permissões da conta de serviço que você está usando para gerar credenciais.
REST
Neste exemplo, o usuário tem um papel do IAM que permite receber informações sobre um projeto, mas não excluir projetos.
O método
projects.testIamPermissions
da API Resource Manager aceita uma lista de permissões e testa qual permissão um principal tem.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do projeto do Google Cloud. Os IDs do projeto são strings alfanuméricas, comomy-project
.
Método HTTP e URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
Corpo JSON da solicitação:
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "permissions": [ "resourcemanager.projects.get" ] }
A seguir
Saiba como conceder, alterar e revogar acesso a principais.
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 2024-11-26 UTC.