Nesta página, mostramos como usar a ferramenta Análise de políticas para descobrir quais principais (usuários, contas de serviço, grupos e domínios), têm qual acesso a quais recursos do Google Cloud.
Os exemplos nesta página mostram como executar uma consulta de análise de política e
visualizar os resultados imediatamente. Se você quiser exportar os resultados para
análise, você pode usar
AnalyzeIamPolicyLongrunning
para gravar
os resultados da consulta para o BigQuery ou
Cloud Storage:
Antes de começar
Ative a Cloud Asset API.
É necessário ativar a API no projeto ou na organização que você usará para enviar o consulta. Não precisa ser o mesmo recurso que está no escopo da sua consulta.
Opcional: entenda como a ferramenta Análise de políticas políticas funciona.
Opcional: se você quiser executar mais de 20 consultas de análise de política por organização por dia, verifique se você tem uma ativação do nível Premium no nível da organização camada de o Security Command Center. Para mais informações, consulte Faturamento perguntas.
Papéis e permissões necessárias
As seguintes funções e permissões são necessárias para analisar as políticas de permissão.
Papéis do IAM obrigatórios
Para ter as permissões necessárias para analisar uma política de permissão, peça ao administrador para conceder a você seguintes papéis do IAM no projeto, na pasta ou na organização que terão escopo sua consulta para:
-
Leitor de recursos do Cloud (
roles/cloudasset.viewer
) -
Para analisar políticas com papéis personalizados do IAM:
Leitor de papéis (
roles/iam.roleViewer
) -
Para usar a Google Cloud CLI para analisar políticas:
Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esses papéis predefinidos têm as permissões necessárias para analisar uma política de permissão. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para analisar uma política de permissão:
-
cloudasset.assets.analyzeIamPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
Para analisar políticas com papéis personalizados do IAM:
iam.roles.get
-
Para usar a Google Cloud CLI para analisar políticas:
serviceusage.services.use
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Permissões necessárias do Google Workspace
Se você quiser expandir grupos nos resultados da consulta para ver se uma principal
tem certas funções ou permissões como resultado de sua participação em um
grupo do Google Workspace, você precisa da permissão groups.read
do Google Workspace.
Essa permissão está contida na função "Administrador de leitor de grupos" e em outros
funções avançadas, como as de "Administrador de grupos" ou "Superadministrador". Para saber como
conceder essas funções em Atribuir funções administrativas específicas.
Determinar quais principais podem acessar um recurso
Use a ferramenta Análise de políticas para verificar quais principais têm determinados papéis ou permissões em um recurso específico no projeto, na pasta ou na organização. Para conseguir essas informações, crie uma consulta com o recurso em que você quer analisar o acesso e um ou mais papéis ou permissões para verificar.
Console
No console do Google Cloud, acesse a página Policy Analyzer.
Na seção Analisar políticas, encontre o painel Consulta personalizada. e clique em Criar consulta personalizada nesse painel.
No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização em que você quer definir o escopo da consulta. a ferramenta Análise de políticas vai analisar o acesso referente ao projeto, à pasta ou à organização, bem como quaisquer recursos que estiverem dentro.
Escolha o recurso e o papel ou a permissão a serem verificados:
- No campo Parâmetro 1, selecione Recurso no menu suspenso.
- No campo Recurso, insira o nome completo do recurso em que você quer analisar o acesso. Se você não souber o nome completo do recurso, comece a digitar o nome de exibição do recurso e, em seguida, selecione-o na lista de recursos fornecida.
- Clique em Adicionar seletor.
- No campo Parâmetro 2, selecione Papel ou Permissão.
- No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
- Opcional: para verificar outros papéis e permissões, continue adicionando os seletores Papel e Permissão até que todos os papéis e as permissões que você quer verificar estejam listados.
Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.
No painel Consulta personalizada, clique em Analisar > Executar consulta. A página "Relatório" mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os principais com os papéis ou permissões especificados no recurso.
As consultas de análise de política no console do Google Cloud são executadas por até um minuto. Depois um minuto, o console do Google Cloud interrompe a consulta e exibe todos os resultados disponíveis. Se o consulta não for concluída nesse período, o console do Google Cloud exibirá um banner indicando que o e os resultados estejam incompletos. Para obter mais resultados para essas consultas, exportar o no BigQuery.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorproject
,folder
ouorganization
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.FULL_RESOURCE_NAME
: O nome completo do recurso com o acesso que você quer analisar. Para uma lista de de nomes de recursos, consulte Nomes de recursos formato.PERMISSIONS
: A lista separada por vírgulas das permissões que você quer verificar, por exemplo,compute.instances.get,compute.instances.start
. Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.
Execute o gcloud asset analyze-iam-policy (link em inglês) comando:
Linux, macOS ou Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --full-resource-name=FULL_RESOURCE_NAME \ --permissions='PERMISSIONS'
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --full-resource-name=FULL_RESOURCE_NAME ` --permissions='PERMISSIONS'
Windows (cmd.exe)
.gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --full-resource-name=FULL_RESOURCE_NAME ^ --permissions='PERMISSIONS'
Você recebe uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de
acessos, identidades e recursos relevantes à consulta, seguidos pelas
vinculação de papel do IAM relacionada. Se a vinculação do papel for condicional, o resultado da análise
também inclui o resultado da avaliação da condição. Se não for possível avaliar a condição,
resultado é CONDITIONAL
.
Os principais que têm qualquer uma das permissões no recurso especificado estão listados em
os campos identities
na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo identities
destacado.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: members: - user: my-user@example.com role: roles/compute.admin --- ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyze-iam-policy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
REST
Para determinar quais principais têm determinadas permissões em um
use o recurso da API Cloud Asset Inventory
analyzeIamPolicy
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorprojects
,folders
ouorganizations
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.FULL_RESOURCE_NAME
: O nome completo do recurso com o acesso que você quer analisar. Para uma lista de de nomes de recursos, consulte Nomes de recursos formato.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: as permissões que que você quer verificar, por exemplo,compute.instances.get
. Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
Corpo JSON da solicitação:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] } } }
Para enviar a solicitação, expanda uma destas opções:
Você recebe uma resposta JSON com os resultados da análise. Cada resultado da análise descreve uma
vinculação de papéis do IAM e lista os recursos, os acessos e os principais
essa vinculação. Se a vinculação do papel for condicional, o resultado da análise também incluirá o resultado
da avaliação da condição. Se não for possível avaliar a condição, o resultado será listado como
CONDITIONAL
:
Os principais que têm qualquer uma das permissões no recurso especificado estão listados em
os campos identities
na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo identities
destacado.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "permission": "compute.instances.get" }, { "permission": "compute.instances.start" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyzeIamPolicy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
Determinar quais principais têm determinados papéis ou permissões
É possível usar a ferramenta Análise de políticas para verificar quais principais têm papéis ou permissões específicas em qualquer recurso do Google Cloud na organização. Para conseguir essas informações, crie uma consulta que inclua um ou mais papéis ou permissões que você quer verificar, mas não especifique um recurso.
Console
No console do Google Cloud, acesse a página Policy Analyzer.
Na seção Analisar políticas, encontre o painel Consulta personalizada. e clique em Criar consulta personalizada nesse painel.
No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização em que você quer definir o escopo da consulta. a ferramenta Análise de políticas vai analisar o acesso referente ao projeto, à pasta ou à organização, bem como quaisquer recursos que estiverem dentro.
No campo Parâmetro 1, selecione Papel ou Permissão.
No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
Opcional: para verificar papéis e permissões adicionais, faça o seguinte:
- Clique em Adicionar seletor.
- No campo Parâmetro 2, selecione Papel ou Permissão.
- No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
- Continue adicionando os seletores Papel e Permissão até que todos os papéis e as permissões que você quer verificar estejam listados.
Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.
No painel Consulta personalizada, clique em Analisar > Executar consulta. A página "Relatório" mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os principais com papéis ou permissões especificados em qualquer escopo recurso.
As consultas de análise de política no console do Google Cloud são executadas por até um minuto. Depois um minuto, o console do Google Cloud interrompe a consulta e exibe todos os resultados disponíveis. Se o consulta não for concluída nesse período, o console do Google Cloud exibirá um banner indicando que o e os resultados estejam incompletos. Para obter mais resultados para essas consultas, exportar o no BigQuery.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorproject
,folder
ouorganization
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.ROLES
: uma lista separada por vírgulas das funções que você quer verificar, por exemplo,roles/compute.admin,roles/compute.imageUser
. Se você listar vários papéis, o Policy O Analyzer verificará se há algum dos papéis listados.PERMISSIONS
: A lista separada por vírgulas das permissões que você quer verificar, por exemplo,compute.instances.get,compute.instances.start
. Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.
Execute o gcloud asset analyze-iam-policy (link em inglês) comando:
Linux, macOS ou Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --roles='ROLES' \ --permissions='PERMISSIONS'
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --roles='ROLES' ` --permissions='PERMISSIONS'
Windows (cmd.exe)
.gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --roles='ROLES' ^ --permissions='PERMISSIONS'
Você recebe uma resposta JSON com os resultados da análise. Cada resultado da análise descreve uma
vinculação de papéis do IAM e lista os recursos, os acessos e os principais
essa vinculação. Se a vinculação do papel for condicional, o resultado da análise também incluirá o resultado
da avaliação da condição. Se não for possível avaliar a condição, o resultado será listado como
CONDITIONAL
:
Os principais que têm qualquer um dos papéis ou permissões especificados são listados no
identities
na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo identities
destacado.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start - role: roles/compute.admin identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: members: - user: my-user@example.com role: roles/compute.admin --- ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyze-iam-policy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
REST
Para determinar quais principais têm determinados papéis ou permissões, use o
analyzeIamPolicy
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorprojects
,folders
ouorganizations
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.ROLE_1
,ROLE_2
...ROLE_N
: os papéis que que você quer verificar, por exemplo,roles/compute.admin
. Se você listar vários a ferramenta, a Análise de políticas verifica se há um dos papéis listados.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: as permissões que que você quer verificar, por exemplo,compute.instances.get
. Se você listar vários permissões, a Análise de políticas vai verificar as permissões listadas.
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
Corpo JSON da solicitação:
{ "analysisQuery": { "accessSelector": { "roles": [ "ROLE_1", "ROLE_2", "ROLE_N" ], "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] } } }
Para enviar a solicitação, expanda uma destas opções:
Você recebe uma resposta JSON com os resultados da análise. Cada resultado da análise descreve uma
vinculação de papéis do IAM e lista os recursos, os acessos e os principais
essa vinculação. Se a vinculação do papel for condicional, o resultado da análise também incluirá o resultado
da avaliação da condição. Se não for possível avaliar a condição, o resultado será listado como
CONDITIONAL
:
Os principais que têm qualquer um dos papéis ou permissões especificados são listados no
identities
na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo identities
destacado.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "permission": "compute.instances.get" }, { "role": "roles/compute.admin" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyzeIamPolicy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
Determinar qual acesso um principal tem a um recurso
Use a ferramenta Análise de políticas para verificar quais papéis ou permissões um principal tem em um recurso na sua organização. Para conseguir essas informações, crie uma consulta que inclua o principal em que você quer analisar o acesso e o recurso para o qual você quer verificar as permissões.
Console
No console do Google Cloud, acesse a página Policy Analyzer.
Na seção Analisar políticas, encontre o painel Consulta personalizada. e clique em Criar consulta personalizada nesse painel.
No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização em que você quer definir o escopo da consulta. a ferramenta Análise de políticas vai analisar o acesso referente ao projeto, à pasta ou à organização, bem como quaisquer recursos que estiverem dentro.
Escolha o recurso e o principal para verificar:
- No campo Parâmetro 1, selecione Recurso no menu suspenso.
- No campo Recurso, insira o nome completo do recurso em que você quer analisar o acesso. Se você não souber o nome completo do recurso, comece a digitar o nome de exibição do recurso e, em seguida, selecione-o na lista de recursos fornecida.
- Clique em Adicionar seletor.
- No campo Parâmetro 2, selecione Principal no menu suspenso.
- No campo Principal, comece a digitar o nome de um usuário, conta de serviço ou grupo. Em seguida, selecione o usuário, a conta de serviço ou o grupo com o acesso que você quer analisar na lista de principais fornecida.
Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.
No painel Consulta personalizada, clique em Analisar > Executar consulta. A página "Relatório" mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os papéis que o principal especificado tem no recurso especificado.
As consultas de análise de política no console do Google Cloud são executadas por até um minuto. Depois um minuto, o console do Google Cloud interrompe a consulta e exibe todos os resultados disponíveis. Se o consulta não for concluída nesse período, o console do Google Cloud exibirá um banner indicando que o e os resultados estejam incompletos. Para obter mais resultados para essas consultas, exportar o no BigQuery.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorproject
,folder
ouorganization
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.FULL_RESOURCE_NAME
: O nome completo do recurso com o acesso que você quer analisar. Para uma lista de de nomes de recursos, consulte Nomes de recursos formato.PRINCIPAL
: o principal com de acesso que você quer analisar, no formatoPRINCIPAL_TYPE:ID
. Por exemplo,user:my-user@example.com
Para uma lista completa dos tipos principais, consulte Identificadores principais.
Execute o gcloud asset analyze-iam-policy (link em inglês) comando:
Linux, macOS ou Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --full-resource-name=FULL_RESOURCE_NAME \ --identity=PRINCIPAL
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --full-resource-name=FULL_RESOURCE_NAME ` --identity=PRINCIPAL
Windows (cmd.exe)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --full-resource-name=FULL_RESOURCE_NAME ^ --identity=PRINCIPAL
Você recebe uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de
acessos, identidades e recursos relevantes à consulta, seguidos pelas
vinculação de papel do IAM relacionada. Se a vinculação do papel for condicional, o resultado da análise
também inclui o resultado da avaliação da condição. Se não for possível avaliar a condição,
resultado é CONDITIONAL
.
Os papéis que o principal tem no recurso especificado estão listados no accesses
campos na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo accesses
destacado.
... --- ACLs: - accesses: - roles/iam.serviceAccountUser identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: members: - user: my-user@example.com role: roles/iam.serviceAccountUser --- ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyze-iam-policy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
REST
Para determinar qual acesso um principal tem a um recurso, use o método
analyzeIamPolicy
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorprojects
,folders
ouorganizations
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.FULL_RESOURCE_NAME
: O nome completo do recurso com o acesso que você quer analisar. Para uma lista de de nomes de recursos, consulte Nomes de recursos formato.PRINCIPAL
: o principal com de acesso que você quer analisar, no formatoPRINCIPAL_TYPE:ID
. Por exemplo,user:my-user@example.com
Para uma lista completa dos tipos principais, consulte Identificadores principais.
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
Corpo JSON da solicitação:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "identitySelector": { "identity": "PRINCIPAL" } } }
Para enviar a solicitação, expanda uma destas opções:
Você recebe uma resposta JSON com os resultados da análise. Cada resultado da análise descreve uma
vinculação de papéis do IAM e lista os recursos, os acessos e os principais
essa vinculação. Se a vinculação do papel for condicional, o resultado da análise também incluirá o resultado
da avaliação da condição. Se não for possível avaliar a condição, o resultado será listado como
CONDITIONAL
:
Os papéis que o principal tem no recurso especificado estão listados no accesses
campos na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo accesses
destacado.
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/iam.serviceAccountUser", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "roles": "iam.serviceAccountUser" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyzeIamPolicy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
Determinar quais recursos um principal pode acessar
Use a ferramenta Análise de políticas para verificar em quais recursos da organização um papel principal tem determinados papéis ou permissões. Para conseguir essas informações, crie uma consulta que inclua o principal com o acesso você quer analisar e um ou mais papéis ou permissões para verificar.
Console
No console do Google Cloud, acesse a página Policy Analyzer.
Na seção Analisar políticas, encontre o painel Consulta personalizada. e clique em Criar consulta personalizada nesse painel.
No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização em que você quer definir o escopo da consulta. a ferramenta Análise de políticas vai analisar o acesso referente ao projeto, à pasta ou à organização, bem como quaisquer recursos que estiverem dentro.
Escolha o principal a ser verificado e o papel ou a permissão a ser verificada:
- No campo Parâmetro 1, selecione Principal no menu suspenso.
- No campo Principal, comece a digitar o nome de um usuário, conta de serviço ou grupo. Em seguida, selecione o usuário, a conta de serviço ou o grupo com o acesso que você quer analisar na lista de principais fornecida.
- Clique em Adicionar seletor.
- No campo Parâmetro 2, selecione Papel ou Permissão.
- No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
- Opcional: para verificar outros papéis e permissões, continue adicionando os seletores Papel e Permissão até que todos os papéis e as permissões que você quer verificar estejam listados.
Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.
No painel Consulta personalizada, clique em Analisar > Executar consulta. A página "Relatório" mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os recursos em que o principal especificado tem os papéis especificados ou permissões.
As consultas de análise de política no console do Google Cloud são executadas por até um minuto. Depois um minuto, o console do Google Cloud interrompe a consulta e exibe todos os resultados disponíveis. Se o consulta não for concluída nesse período, o console do Google Cloud exibirá um banner indicando que o e os resultados estejam incompletos. Para obter mais resultados para essas consultas, exportar o no BigQuery.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorproject
,folder
ouorganization
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.PRINCIPAL
: o principal com de acesso que você quer analisar, no formatoPRINCIPAL_TYPE:ID
. Por exemplo,user:my-user@example.com
Para uma lista completa dos tipos principais, consulte Identificadores principais:PERMISSIONS
: A lista separada por vírgulas das permissões que você quer verificar, por exemplo,compute.instances.get,compute.instances.start
. Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.
Execute o gcloud asset analyze-iam-policy (link em inglês) comando:
Linux, macOS ou Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --identity=PRINCIPAL \ --permissions='PERMISSIONS'
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --identity=PRINCIPAL ` --permissions='PERMISSIONS'
Windows (cmd.exe)
.gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --identity=PRINCIPAL ^ --permissions='PERMISSIONS'
Você recebe uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de
acessos, identidades e recursos relevantes à consulta, seguidos pelas
vinculação de papel do IAM relacionada. Se a vinculação do papel for condicional, o resultado da análise
também inclui o resultado da avaliação da condição. Se não for possível avaliar a condição,
resultado é CONDITIONAL
.
Os recursos em que o principal especificado tem qualquer uma das permissões especificadas estão listados em
os campos resources
na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo resources
destacado.
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start identities: - name: user:my-user@example.com resources: - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image policy: attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image binding: members: - user: my-user@example.com role: roles/compute.admin --- ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyze-iam-policy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
REST
Para determinar quais recursos um principal pode acessar, use o método
analyzeIamPolicy
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorprojects
,folders
ouorganizations
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.PRINCIPAL
: o principal com de acesso que você quer analisar, no formatoPRINCIPAL_TYPE:ID
. Por exemplo,user:my-user@example.com
Para uma lista completa dos tipos principais, consulte Identificadores principais.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: as permissões que que você quer verificar, por exemplo,compute.instances.get
. Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
Corpo JSON da solicitação:
{ "analysisQuery": { "identitySelector": { "identity": "PRINCIPAL" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] } } }
Para enviar a solicitação, expanda uma destas opções:
Você recebe uma resposta JSON com os resultados da análise. Cada resultado da análise descreve uma
vinculação de papéis do IAM e lista os recursos, os acessos e os principais
essa vinculação. Se a vinculação do papel for condicional, o resultado da análise também incluirá o resultado
da avaliação da condição. Se não for possível avaliar a condição, o resultado será listado como
CONDITIONAL
:
Os recursos em que o principal especificado tem qualquer uma das permissões especificadas estão listados em
os campos resources
na resposta. O exemplo a seguir mostra uma única análise
resultado com o campo resources
destacado.
... { "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ] }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image" } ], "accesses": [ { "permission": "compute.instances.get" }, { "permission": "compute.instances.start" } ] } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyzeIamPolicy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
Determinar o acesso em um horário específico
Se houver contexto suficiente, a ferramenta Análise de políticas políticas pode analisar vinculações de papéis condicionais que concedem acesso apenas em vezes. Essas condições são chamadas de condições de data/hora. Para a ferramenta Análise de políticas políticas analisar com precisão as vinculações de papéis com data/hora é necessário definir o horário de acesso na solicitação.
A Análise de políticas também pode analisar recursos condições sem entrada adicional do usuário. Para para mais informações sobre como a ferramenta Análise de políticas políticas funciona com condições, consulte Acesso condicional.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorproject
,folder
ouorganization
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.PERMISSIONS
: Opcional. Uma lista separada por vírgulas das permissões que você quer verificar. Por exemplo,compute.instances.get,compute.instances.start
: Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.-
FULL_RESOURCE_NAME
: opcional. O nome completo do recurso que você quer analisar o acesso. Para uma lista de formatos de nomes de recursos completos, consulte Formato do nome do recurso. PERMISSIONS
: Opcional. Uma lista separada por vírgulas das permissões que você quer verificar. Por exemplo,compute.instances.get,compute.instances.start
: Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.ACCESS_TIME
: a hora que você quiser para verificar. Esse horário precisa estar no futuro. Use um carimbo de data/hora em RFC 3339: para exemplo:2099-02-01T00:00:00Z
.
Execute o gcloud asset analyze-iam-policy (link em inglês) comando:
Linux, macOS ou Cloud Shell
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \ --identity=PRINCIPAL \ --full-resource-name=FULL_RESOURCE_NAME \ --permissions='PERMISSIONS' \ --access-time=ACCESS_TIME
Windows (PowerShell)
gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ` --identity=PRINCIPAL ` --full-resource-name=FULL_RESOURCE_NAME ` --permissions='PERMISSIONS' ` --access-time=ACCESS_TIME
Windows (cmd.exe)
.gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^ --identity=PRINCIPAL ^ --full-resource-name=FULL_RESOURCE_NAME ^ --permissions='PERMISSIONS' ^ --access-time=ACCESS_TIME
Você recebe uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de
acessos, identidades e recursos relevantes à consulta, seguidos pelas
vinculação de papel do IAM relacionada. Se a vinculação do papel for condicional, o resultado da análise
também inclui o resultado da avaliação da condição. Se não for possível avaliar a condição,
resultado é CONDITIONAL
.
Quando você inclui a hora de acesso na solicitação, a ferramenta Análise de políticas políticas pode avaliar a data/hora
conditions. Se a condição for avaliada como falsa, esse papel não será incluído na resposta. Se o
condição for avaliada como verdadeira, o resultado da avaliação da condição será listado como
TRUE
:
... --- ACLs: - accesses: - permission: compute.instances.get - permission: compute.instances.start conditionEvaluationValue: 'TRUE' identities: - name: user:my-user@example.com resources: - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project policy: attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project binding: condition: expression: request.time.getHours("America/Los_Angeles") >= 5 title: No access before 5am PST members: - user: my-user@example.com role: roles/compute.admin --- ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyze-iam-policy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
REST
Para determinar quais principais terão determinadas permissões em um recurso em
um horário específico, use o método
analyzeIamPolicy
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorprojects
,folders
ouorganizations
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. Os IDs do projeto são strings alfanuméricas, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: opcional. O permissões que você quer verificar, por exemplo,compute.instances.get
. Se você várias permissões, a Análise de políticas vai procurar qualquer uma delas.-
FULL_RESOURCE_NAME
: opcional. O nome completo do recurso que você quer analisar o acesso. Para uma lista de formatos de nomes de recursos completos, consulte Formato do nome do recurso. PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: opcional. O permissões que você quer verificar, por exemplo,compute.instances.get
. Se você várias permissões, a Análise de políticas vai procurar qualquer uma delas.ACCESS_TIME
: a hora que você quiser para verificar. Esse horário precisa estar no futuro. Use um carimbo de data/hora em RFC 3339: para exemplo:2099-02-01T00:00:00Z
.
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy
Corpo JSON da solicitação:
{ "analysisQuery": { "identitySelector": { "identity": "PRINCIPAL" }, "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] }, "conditionContext": { "accessTime": "ACCESS_TIME" } } }
Para enviar a solicitação, expanda uma destas opções:
Você recebe uma resposta JSON com os resultados da análise. Cada resultado da análise descreve uma
vinculação de papéis do IAM e lista os recursos, os acessos e os principais
essa vinculação. Se a vinculação do papel for condicional, o resultado da análise também incluirá o resultado
da avaliação da condição. Se não for possível avaliar a condição, o resultado será listado como
CONDITIONAL
:
Quando você inclui a hora de acesso na solicitação, a ferramenta Análise de políticas políticas pode avaliar a data/hora
conditions. Se a condição for avaliada como falsa, esse papel não será incluído na resposta. Se o
condição for avaliada como verdadeira, o valor de avaliação da condição na resposta da análise será
TRUE
:
... { "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project", "iamBinding": { "role": "roles/compute.admin", "members": [ "user:my-user@example.com" ], "condition": { "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5", "title": "No access before 5am PST" } }, "accessControlLists": [ { "resources": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" } ], "accesses": [ { "permission": "compute.instances.get" }, { "permission": "compute.instances.start" } ], "conditionEvaluation": { "evaluationValue": "TRUE" } } ], "identityList": { "identities": [ { "name": "user:my-user@example.com" } ] }, "fullyExplored": true }, ...
Se a solicitação expirar antes de a consulta terminar, você receberá uma
DEADLINE_EXCEEDED
erro. Para obter mais resultados para essas consultas, escreva
os resultados para o BigQuery ou o Cloud Storage usando a versão de longa duração
de analyzeIamPolicy
. Para instruções, consulte
Grave análises de políticas nos
BigQuery ou
Grave análises de políticas em
Cloud Storage.
Ativar opções
Você pode ativar as opções a seguir para receber resultados de consulta mais detalhados.
Console
Opção | Descrição |
---|---|
Listar recursos nos recursos que correspondem à consulta | Se você ativar essa opção, os resultados da consulta listarão até 1.000 descendentes relevantes recursos para qualquer recurso pai (projetos, pastas e organizações) nos resultados da consulta. |
Listar usuários individuais nos grupos |
Se você ativar essa opção, todos os grupos nos resultados da consulta serão expandidos em membros individuais. Se você tiver permissões de grupo suficientes, os grupos aninhados também podem ser expandidas. Essa expansão é limitada a 1.000 membros por grupo. Esta opção só vai estar disponível se você não especificar um principal no consulta. |
Listar permissões nos papéis |
Se você ativar esta opção, os resultados da consulta listarão todas as permissões dentro de cada além da função em si. Esta opção só estará disponível se você não especificar nenhuma permissão ou na sua consulta. |
gcloud
Esta seção descreve várias sinalizações comuns que você pode adicionar ao usar o CLI gcloud para analisar as políticas de permissão. Para uma lista completa de opções, consulte Sinalizações opcionais.
Bandeira | Descrição |
---|---|
--analyze-service-account-impersonation |
Se essa opção estiver ativada, a ferramenta Análise de políticas políticas vai executar outra análise para determinar quem pode representar as contas de serviço que têm o acesso especificado aos recursos especificados. Análise de políticas executa uma consulta para cada conta de serviço nos resultados da consulta. Esses as consultas analisam quem tem alguma das seguintes permissões no conta de serviço:
Essa é uma operação muito cara, porque ela executa automaticamente
muitas consultas. Recomendamos que você
exportar
para o BigQuery ou
exportar
para o Cloud Storage usando
|
--expand-groups |
Se você ativar essa opção, todos os grupos nos resultados da consulta serão expandidos em membros individuais. Se você tiver permissões de grupo suficientes, os grupos aninhados também podem ser expandidas. Essa expansão é limitada a 1.000 membros por grupo. Essa opção só é eficaz se você não especificar um principal no consulta. |
--expand-resources |
Se você ativar essa opção, os resultados da consulta listarão até 1.000 descendentes relevantes recursos para qualquer recurso pai (projetos, pastas e organizações) nos resultados da consulta. |
--expand-roles |
Se você ativar esta opção, os resultados da consulta listarão todas as permissões dentro de cada além da função em si. Esta opção só estará disponível se você não especificar nenhuma permissão ou na sua consulta. |
--output-group-edges |
Se você ativar essa opção, os resultados da consulta vão gerar a associação relevante as relações entre grupos. |
--output-resource-edges |
Se você ativar esta opção, os resultados da consulta terão a saída pai/filho as relações entre os recursos. |
REST
Para ativar qualquer opção, primeiro adicione um campo options
à sua análise
consulta. Exemplo:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" }, "accessSelector": { "permissions": [ "iam.roles.get", "iam.roles.list" ] }, "options": { OPTIONS } } }
Substitua OPTIONS
pelas opções que você quer
ativar, no formato "OPTION": true
. A tabela a seguir
descreve as opções disponíveis:
Opção | Descrição |
---|---|
analyzeServiceAccountImpersonation |
Se essa opção estiver ativada, a ferramenta Análise de políticas políticas vai executar outra análise para determinar quem pode representar as contas de serviço que têm o acesso especificado aos recursos especificados. Análise de políticas executa uma consulta para cada conta de serviço nos resultados da consulta. Esses as consultas analisam quem tem alguma das seguintes permissões no conta de serviço:
Essa é uma operação muito cara, porque ela executa automaticamente
muitas consultas. Recomendamos que você
exportar
para o BigQuery ou
exportar
para o Cloud Storage usando
|
expandGroups |
Se você ativar essa opção, todos os grupos nos resultados da consulta serão expandidos em membros individuais. Se você tiver permissões de grupo suficientes, os grupos aninhados também podem ser expandidas. Essa expansão é limitada a 1.000 membros por grupo. Essa opção só é eficaz se você não especificar um principal no consulta. |
expandResources |
Se você ativar essa opção, os resultados da consulta listarão até 1.000 descendentes relevantes recursos para qualquer recurso pai (projetos, pastas e organizações) nos resultados da consulta. |
expandRoles |
Se você ativar esta opção, os resultados da consulta listarão todas as permissões dentro de cada além da função em si. Esta opção só estará disponível se você não especificar nenhuma permissão ou na sua consulta. |
outputGroupEdges |
Se você ativar essa opção, os resultados da consulta vão gerar a associação relevante as relações entre grupos. |
outputResourceEdges |
Se você ativar esta opção, os resultados da consulta terão a saída pai/filho as relações entre os recursos. |
A seguir
- Saiba como usar
AnalyzeIamPolicyLongrunning
para escrever no BigQuery ou gravar no Cloud Storage. - Veja como usar a API REST para salvar a análise de políticas comuns.
- Conheça as ferramentas de solução de problemas de acesso disponíveis, que você pode usar para descobrir por que um principal não tem um determinado tipo de acesso.