Analisar políticas de permissão

Nesta página, mostramos como usar a ferramenta Análise de políticas para políticas de permissão e descobrir quais principais têm acesso a quais recursos do Google Cloud .

Os principais podem incluir:

  • Usuários, grupos ou domínios
  • Contas de serviço
  • Identidades do agente
  • Identidades de carga de trabalho
  • Identidades da força de trabalho

Os exemplos nesta página mostram como executar uma consulta de análise de políticas e ver os resultados imediatamente. Se quiser exportar os resultados para uma análise mais detalhada, use AnalyzeIamPolicyLongrunning para gravar os resultados da consulta no BigQuery ou no Cloud Storage.

Antes de começar

Papéis e permissões necessárias

As seguintes funções e permissões são necessárias para analisar políticas de permissão.

Papéis necessários do IAM

Para receber as permissões necessárias para analisar uma política de permissão, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto, na pasta ou na organização em que você vai definir o escopo da sua consulta:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para analisar uma política de permissão. Para acessar 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 e 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 um principal tem determinadas funções ou permissões como resultado da associação a um grupo do Google Workspace, você precisa da permissão groups.read do Google Workspace. Essa permissão está incluída no papel de administrador do leitor de grupos e em papéis mais avançados, como administrador de grupos ou superadministrador. Para saber como conceder essas funções, consulte 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 que inclua o recurso em que você quer analisar o acesso e um ou mais papéis ou permissões para verificar.

Console

  1. No console do Google Cloud , acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Analisar políticas, encontre o painel Consulta personalizada e clique em Criar consulta personalizada.

  3. 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.

  4. Escolha o recurso e o papel ou a permissão a serem verificados:

    1. No campo Parâmetro 1, selecione Recurso no menu suspenso.
    2. 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.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Papel ou Permissão.
    5. No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
    6. 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.
  5. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  6. No painel Consulta personalizada, clique em Analisar > Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os principais com as permissões e os papéis especificados no recurso especificado.

    As consultas de análise de política no console do Google Cloud podem levar um minuto para serem executadas. Após um minuto, o console Google Cloud interrompe a consulta e mostra todos os resultados disponíveis. Se a consulta não for concluída nesse período, o console Google Cloud vai mostrar um banner indicando que os resultados estão incompletos. Para ter mais resultados dessas consultas, exporte os resultados para o BigQuery.

    Para gerar uma visualização da consulta, clique em Visualizar resultados. Para mais informações, consulte Visualizar resultados (Prévia).

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: o nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome do recurso.
  • PERMISSIONS: 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árias permissões, o Analisador de políticas vai verificar qualquer uma delas.

Execute o comando gcloud asset analyze-iam-policy:

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ê vai receber uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de acessos, identidades e recursos relevantes para sua consulta, seguidos da vinculação de papel do IAM relacionada. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será CONDITIONAL.

Os principais que têm alguma das permissões especificadas no recurso especificado são listados nos campos identities da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyze-iam-policy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

REST

Para determinar quais principais têm determinadas permissões em um recurso, use o método analyzeIamPolicy da API Inventário de recursos do Cloud.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: o nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome do recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: as permissões que você quer verificar, por exemplo, compute.instances.get. Se você listar várias permissões, o Analisador de políticas vai verificar qualquer uma delas.

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 papel do IAM relevante e lista o recurso, os acessos e os principais nessa vinculação. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será listado como CONDITIONAL.

Os principais que têm alguma das permissões especificadas no recurso especificado são listados nos campos identities da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyzeIamPolicy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

Determinar quais principais têm determinados papéis ou permissões

Use a ferramenta Análise de políticas para verificar quais principais têm papéis ou permissões específicas em qualquer recurso Google Cloud da organização. Para conseguir essas informações, crie uma consulta que inclua um ou mais papéis ou permissões a serem verificados, mas não especifique um recurso.

Console

  1. No console do Google Cloud , acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Analisar políticas, encontre o painel Consulta personalizada e clique em Criar consulta personalizada.

  3. 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.

  4. No campo Parâmetro 1, selecione Papel ou Permissão.

  5. No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.

  6. Opcional: para verificar papéis e permissões adicionais, faça o seguinte:

    1. Clique em Adicionar seletor.
    2. No campo Parâmetro 2, selecione Papel ou Permissão.
    3. No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
    4. Continue adicionando os seletores Papel e Permissão até que todos os papéis e as permissões que você quer verificar estejam listados.
  7. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  8. No painel Consulta personalizada, clique em Analisar > Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os principais com as permissões ou os papéis especificados em qualquer recurso no escopo.

    As consultas de análise de política no console do Google Cloud podem levar um minuto para serem executadas. Após um minuto, o console Google Cloud interrompe a consulta e mostra todos os resultados disponíveis. Se a consulta não for concluída nesse período, o console Google Cloud vai mostrar um banner indicando que os resultados estão incompletos. Para ter mais resultados dessas consultas, exporte os resultados para o BigQuery.

    Para gerar uma visualização da consulta, clique em Visualizar resultados. Para mais informações, consulte Visualizar resultados (Prévia).

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • ROLES: uma lista separada por vírgulas dos papéis que você quer verificar. Por exemplo, roles/compute.admin,roles/compute.imageUser. Se você listar vários papéis, o Analisador de políticas vai verificar qualquer um deles.
  • PERMISSIONS: 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árias permissões, o Analisador de políticas vai verificar qualquer uma delas.

Execute o comando gcloud asset analyze-iam-policy:

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 papel do IAM relevante e lista o recurso, os acessos e os principais nessa vinculação. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será listado como CONDITIONAL.

Os principais que têm qualquer um dos papéis ou permissões especificados são listados nos campos identities da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyze-iam-policy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

REST

Para determinar quais principais têm determinados papéis ou permissões, use o método analyzeIamPolicy da API Inventário de recursos do Cloud.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • ROLE_1, ROLE_2... ROLE_N: os papéis que você quer verificar. Por exemplo, roles/compute.admin. Se você listar várias funções, a Análise de políticas vai verificar qualquer uma delas.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: as permissões que você quer verificar, por exemplo, compute.instances.get. Se você listar várias permissões, o Analisador de políticas vai verificar qualquer uma delas.

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 papel do IAM relevante e lista o recurso, os acessos e os principais nessa vinculação. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será listado como CONDITIONAL.

Os principais que têm qualquer um dos papéis ou permissões especificados são listados nos campos identities da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyzeIamPolicy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

Determinar o acesso de um principal 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

  1. No console do Google Cloud , acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Analisar políticas, encontre o painel Consulta personalizada e clique em Criar consulta personalizada.

  3. 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.

  4. Escolha o recurso e o principal para verificar:

    1. No campo Parâmetro 1, selecione Recurso no menu suspenso.
    2. 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.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Principal no menu suspenso.
    5. 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.
  5. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  6. No painel Consulta personalizada, clique em Analisar > Executar consulta. A página do 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 definido.

    As consultas de análise de política no console do Google Cloud podem levar um minuto para serem executadas. Após um minuto, o console Google Cloud interrompe a consulta e mostra todos os resultados disponíveis. Se a consulta não for concluída nesse período, o console Google Cloud vai mostrar um banner indicando que os resultados estão incompletos. Para ter mais resultados dessas consultas, exporte os resultados para o BigQuery.

    Para gerar uma visualização da consulta, clique em Visualizar resultados. Para mais informações, consulte Visualizar resultados (Prévia).

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: o nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome do recurso.
  • PRINCIPAL: o principal cujo acesso você quer analisar, no formato PRINCIPAL_TYPE:ID. Por exemplo, user:my-user@example.com. Para uma lista completa dos tipos de principais, consulte Identificadores de principais.

Execute o comando gcloud asset analyze-iam-policy:

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ê vai receber uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de acessos, identidades e recursos relevantes para sua consulta, seguidos da vinculação de papel do IAM relacionada. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será CONDITIONAL.

As funções que o principal tem no recurso especificado são listadas nos campos accesses da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyze-iam-policy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

REST

Para determinar o acesso de um principal em um recurso, use o método analyzeIamPolicy da API Inventário de recursos do Cloud.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: o nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome do recurso.
  • PRINCIPAL: o principal cujo acesso você quer analisar, no formato PRINCIPAL_TYPE:ID. Por exemplo, user:my-user@example.com. Para uma lista completa dos tipos de principais, consulte Identificadores de 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 papel do IAM relevante e lista o recurso, os acessos e os principais nessa vinculação. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será listado como CONDITIONAL.

As funções que o principal tem no recurso especificado são listadas nos campos accesses da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyzeIamPolicy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no 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 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

  1. No console do Google Cloud , acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Analisar políticas, encontre o painel Consulta personalizada e clique em Criar consulta personalizada.

  3. 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.

  4. Escolha o principal a ser verificado e o papel ou a permissão a ser verificada:

    1. No campo Parâmetro 1, selecione Principal no menu suspenso.
    2. 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.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Papel ou Permissão.
    5. No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
    6. 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.
  5. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  6. No painel Consulta personalizada, clique em Analisar > Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados com todos os recursos em que o principal especificado tem os papéis ou permissões definidos.

    As consultas de análise de política no console do Google Cloud podem levar um minuto para serem executadas. Após um minuto, o console Google Cloud interrompe a consulta e mostra todos os resultados disponíveis. Se a consulta não for concluída nesse período, o console Google Cloud vai mostrar um banner indicando que os resultados estão incompletos. Para ter mais resultados dessas consultas, exporte os resultados para o BigQuery.

    Para gerar uma visualização da consulta, clique em Visualizar resultados. Para mais informações, consulte Visualizar resultados (Prévia).

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • PRINCIPAL: o principal cujo acesso você quer analisar, no formato PRINCIPAL_TYPE:ID. Por exemplo, user:my-user@example.com. Para uma lista completa dos tipos de principais, consulte Identificadores de principais.
  • PERMISSIONS: 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árias permissões, o Analisador de políticas vai verificar qualquer uma delas.

Execute o comando gcloud asset analyze-iam-policy:

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ê vai receber uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de acessos, identidades e recursos relevantes para sua consulta, seguidos da vinculação de papel do IAM relacionada. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será CONDITIONAL.

Os recursos em que o principal especificado tem alguma das permissões listadas estão nos campos resources da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyze-iam-policy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

REST

Para determinar quais recursos um principal pode acessar, use o método analyzeIamPolicy da API Inventário de recursos do Cloud.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • PRINCIPAL: o principal cujo acesso você quer analisar, no formato PRINCIPAL_TYPE:ID. Por exemplo, user:my-user@example.com. Para uma lista completa dos tipos de principais, consulte Identificadores de principais.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: as permissões que você quer verificar, por exemplo, compute.instances.get. Se você listar várias permissões, o Analisador de políticas vai verificar qualquer uma delas.

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 papel do IAM relevante e lista o recurso, os acessos e os principais nessa vinculação. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será listado como CONDITIONAL.

Os recursos em que o principal especificado tem alguma das permissões listadas estão nos campos resources da resposta. O exemplo a seguir mostra um único resultado de análise 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyzeIamPolicy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

Determinar o acesso em um horário específico

Se tiver contexto suficiente, a ferramenta Análise de políticas poderá analisar vinculações de papéis condicionais do IAM que concedem acesso apenas em horários específicos. Essas condições são chamadas de condições de data/hora. Para que a ferramenta Análise de políticas analise com precisão as vinculações de papéis com condições de data/hora, é necessário definir o horário de acesso na solicitação.

A ferramenta Análise de políticas também pode analisar condições de recursos sem entrada do usuário adicional. Para mais informações sobre como a ferramenta 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 de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • 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árias permissões, o Analisador de políticas vai verificar qualquer uma delas.
  • FULL_RESOURCE_NAME: opcional. O nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome de 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árias permissões, o Analisador de políticas vai verificar qualquer uma delas.
  • ACCESS_TIME: o período que você quer verificar. Esse horário precisa ser no futuro. Use um carimbo de data/hora no formato RFC 3339. Por exemplo, 2099-02-01T00:00:00Z.

Execute o comando gcloud asset analyze-iam-policy:

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ê vai receber uma resposta YAML com os resultados da análise. Cada resultado da análise lista um conjunto de acessos, identidades e recursos relevantes para sua consulta, seguidos da vinculação de papel do IAM relacionada. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será CONDITIONAL.

Quando você inclui o horário de acesso na solicitação, a Análise de políticas pode avaliar condições de data/hora. Se a condição for avaliada como falsa, essa função não será incluída na resposta. Se a condição for avaliada como verdadeira, o resultado da avaliaçã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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyze-iam-policy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

REST

Para determinar quais principais terão determinadas permissões em um recurso em um momento específico, use o método analyzeIamPolicy da API Inventário de recursos do Cloud.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, pasta ou organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: opcional. As permissões que você quer verificar, por exemplo, compute.instances.get. Se você listar várias permissões, o Analisador de políticas vai verificar qualquer uma delas.
  • FULL_RESOURCE_NAME: opcional. O nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome de recurso.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: opcional. As permissões que você quer verificar, por exemplo, compute.instances.get. Se você listar várias permissões, o Analisador de políticas vai verificar qualquer uma delas.
  • ACCESS_TIME: o período que você quer verificar. Esse horário precisa ser no futuro. Use um carimbo de data/hora no formato RFC 3339. Por 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 papel do IAM relevante e lista o recurso, os acessos e os principais nessa vinculação. Se a vinculação de função for condicional, o resultado da análise também vai incluir o resultado da avaliação da condição. Se a condição não puder ser avaliada, o resultado será listado como CONDITIONAL.

Quando você inclui o horário de acesso na solicitação, a Análise de políticas pode avaliar condições de data/hora. Se a condição for avaliada como falsa, essa função não será incluída na resposta. Se a condição for avaliada como verdadeira, o valor da 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 atingir o tempo limite antes da conclusão da consulta, você vai receber um erro DEADLINE_EXCEEDED. Para ter mais resultados dessas consultas, grave-os no BigQuery ou no Cloud Storage usando a versão de longa duração de analyzeIamPolicy. Para instruções, consulte Gravar análise de políticas no BigQuery ou Gravar análise de políticas no Cloud Storage.

Ativar opções

Você pode ativar as seguintes opções 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 vão listar até 1.000 recursos descendentes relevantes 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 serão expandidos. Essa expansão é limitada a 1.000 membros por grupo.

Essa opção só está disponível se você não especificar uma conta principal na consulta.

Listar permissões nos papéis

Se você ativar essa opção, os resultados da consulta vão listar todas as permissões em cada papel, além do próprio papel.

Essa opção só está disponível se você não especificar permissões ou funções na consulta.

gcloud

Nesta seção, descrevemos várias flags comuns que podem ser adicionadas ao usar a CLI gcloud para analisar políticas de permissão. Para uma lista completa de opções, consulte Flags opcionais.

Sinalização Descrição
--analyze-service-account-impersonation

Se essa opção estiver ativada, o Analisador de políticas vai executar outras consultas de análise para determinar quem pode personificar as contas de serviço que têm o acesso especificado aos recursos especificados. A ferramenta Análise de políticas executa uma consulta para cada conta de serviço nos resultados da consulta. Essas consultas analisam quem tem alguma das seguintes permissões na conta de serviço:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Essa é uma operação muito cara, porque executa automaticamente muitas consultas. Recomendamos que você exporte para o BigQuery ou exporte para o Cloud Storage usando analyze-iam-policy-longrunning em vez de usar analyze-iam-policy.

--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 serão expandidos. Essa expansão é limitada a 1.000 membros por grupo.

Essa opção só é eficaz se você não especificar uma conta principal na consulta.

--expand-resources Se você ativar essa opção, os resultados da consulta vão listar até 1.000 recursos descendentes relevantes para qualquer recurso pai (projetos, pastas e organizações) nos resultados da consulta.
--expand-roles

Se você ativar essa opção, os resultados da consulta vão listar todas as permissões em cada papel, além do próprio papel.

Essa opção só está disponível se você não especificar permissões ou funções na consulta.

--output-group-edges Se você ativar essa opção, os resultados da consulta vão mostrar as relações de associação relevantes entre os grupos.
--output-resource-edges Se você ativar essa opção, os resultados da consulta vão mostrar os relacionamentos principal/secundário relevantes entre os recursos.

REST

Para ativar qualquer opção, primeiro adicione um campo options à consulta de análise. 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, o Analisador de políticas vai executar outras consultas de análise para determinar quem pode personificar as contas de serviço que têm o acesso especificado aos recursos especificados. A ferramenta Análise de políticas executa uma consulta para cada conta de serviço nos resultados da consulta. Essas consultas analisam quem tem alguma das seguintes permissões na conta de serviço:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Essa é uma operação muito cara, porque executa automaticamente muitas consultas. Recomendamos que você exporte para o BigQuery ou exporte para o Cloud Storage usando AnalyzeIamPolicyLongrunning em vez de usar AnalyzeIamPolicy.

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 serão expandidos. Essa expansão é limitada a 1.000 membros por grupo.

Essa opção só é eficaz se você não especificar uma conta principal na consulta.

expandResources Se você ativar essa opção, os resultados da consulta vão listar até 1.000 recursos descendentes relevantes para qualquer recurso pai (projetos, pastas e organizações) nos resultados da consulta.
expandRoles

Se você ativar essa opção, os resultados da consulta vão listar todas as permissões em cada papel, além do próprio papel.

Essa opção só está disponível se você não especificar permissões ou funções na consulta.

outputGroupEdges Se você ativar essa opção, os resultados da consulta vão mostrar as relações de associação relevantes entre os grupos.
outputResourceEdges Se você ativar essa opção, os resultados da consulta vão mostrar os relacionamentos principal/secundário relevantes entre os recursos.

Visualizar resultados

Use a Análise de políticas para visualizar uma consulta de política de permissão. Isso pode ajudar você a entender a relação entre identidades, papéis, permissões e recursos na hierarquia de recursos. Você também pode usar essas visualizações para avaliar quais permissões não são usadas ou são excessivas para seus principais.

O Policy Analyzer mostra as relações com base nos papéis que concedem permissões. As consultas restritas a uma permissão específica mostram as vinculações de política de permissão para o papel que fornece essa permissão.

As consultas no escopo de uma pasta ou um recurso da organização mostram as vinculações de política de permissão no escopo especificado se nenhum recurso for especificado na consulta. Para ver as vinculações de política de permissão em recursos dentro de projetos quando a consulta é definida para uma organização ou pasta, especifique um recurso na consulta e selecione Mostrar vinculações no escopo.

Por padrão, as consultas no escopo de um recurso de projeto mostram vinculações de políticas de permissão em recursos de projeto e recursos dentro de projetos. Para ver apenas vinculações de políticas de permissão em recursos de projeto, desmarque Mostrar vinculações no escopo.

O número ao lado de um recurso do projeto indica quantos recursos dentro desse projeto podem ser acessados usando a função concedida. Clique em Expandir em um recurso de projeto com um número para ver os recursos que podem ser acessados usando o papel concedido nesse projeto, agregados por serviço. Por exemplo, as tabelas e os conjuntos de dados do BigQuery são coletados em "BigQuery".

As vinculações diretas de principais são mostradas primeiro. As vinculações aninhadas das associações a grupos são carregadas depois. Se o acesso for concedido por um grupo aninhado, o link para o grupo específico com a vinculação será mostrado se você tiver as permissões necessárias. Para ver mais associações a grupos, clique em Carregar mais.

O exemplo a seguir demonstra a visualização de uma consulta para determinar quais principais podem acessar um recurso, mas outros tipos de consulta podem ser visualizados usando o mesmo processo.

  1. No console do Google Cloud , acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Analisar políticas, encontre o painel Consulta personalizada e clique em Criar consulta personalizada.

  3. 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.

  4. Escolha o principal a ser verificado e o papel ou a permissão a ser verificada:

    1. No campo Parâmetro 1, selecione Principal no menu suspenso.
    2. No campo Principal, comece a inserir o nome de um principal, conta de serviço ou grupo. Em seguida, selecione o principal, a conta de serviço ou o grupo com o acesso que você quer analisar na lista de principais fornecidos.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Papel ou Permissão.
    5. No campo Selecionar papel ou Selecionar permissão, selecione o papel ou a permissão que você quer verificar.
    6. 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. É possível selecionar até uma combinação de 10 papéis e permissões.
  5. No painel Consulta personalizada, clique em Analisar > Executar consulta. A página do 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 ou permissões definidos.

    As consultas de análise de política no console do Google Cloud podem levar um minuto para serem executadas. Após um minuto, o console Google Cloud interrompe a consulta e mostra todos os resultados disponíveis. Se a consulta não for concluída nesse período, o console Google Cloud vai mostrar um banner indicando que os resultados estão incompletos. Para ter mais resultados dessas consultas, exporte os resultados para o BigQuery.

  6. Na página do relatório, clique em Visualizar resultados.

    A visualização é organizada da esquerda para a direita em até quatro colunas. As linhas na visualização conectam principais a grupos, principais ou grupos a papéis e papéis a recursos.

    1. À esquerda, estão os principais retornados pela consulta.
    2. Se o principal tiver uma função porque ela foi concedida a um grupo, uma linha rotulada como "membro de" vai conectar o principal ao grupo. Se a função foi concedida diretamente ao principal, essa coluna não aparece.
    3. Uma linha marcada como "tem" conecta cada principal ou grupo a uma função.
    4. Uma linha marcada como "com acesso a" conecta cada função ao recurso em que ela é concedida.
    5. O número de recursos afetados pela função concedida é representado por um número ao lado do recurso.
    6. Se houver uma recomendação de função ou um insight de política, a função será marcada com um círculo e terá um ícone de lâmpada . Clique na função para mais informações sobre a recomendação e use o link para revisar e aplicar.
  7. Para ajustar a consulta, clique em Alternar painel "Visualizar resultados".

    1. No campo Escopo, clique em Procurar para mudar o projeto, a pasta ou a organização em que você quer definir o escopo da consulta.
    2. No campo Principal, comece a digitar o nome de um principal, conta de serviço ou grupo. Em seguida, selecione o principal, a conta de serviço ou o grupo com o acesso que você quer analisar na lista de principais fornecidos.
    3. Para mudar a função da sua consulta, no campo Selecionar uma função ou Permissão, escolha a função ou permissão que você quer verificar.
    4. Para mudar o recurso da sua consulta, no campo Recurso, insira o nome completo do recurso em que você quer analisar o acesso. Se você não souber o nome completo, comece a digitar o nome de exibição do recurso e selecione-o na lista de recursos fornecidos.
    5. Clique em Pesquisar para atualizar a visualização.

Limitações

O Policy Analyzer tem as seguintes limitações ao analisar o acesso para tipos específicos de principais:

  • Principais do agente:quando você pesquisa quais papéis e recursos uma identidade de agente pode acessar, os resultados da pesquisa são limitados a vinculações diretas com identidades de agente e os seguintes conjuntos de principais:

    • Todas as identidades de agente em um domínio de confiança, usando o formato principalSet://<var>TRUST_DOMAIN</var>/*. Por exemplo, principalSet://agents.global.org-123456789012.system.id.goog/*.

    • Todas as identidades de agente com o atributo platformContainer, usando o formato principalSet://<var>TRUST_DOMAIN</var>/attribute.platformContainer/aiplatform/projects/<var>PROJECT_NUMBER</var>. Por exemplo, principalSet://agents.global.org-123456789012.system.id.goog/attribute.platformContainer/aiplatform/projects/9876543210.

    • Todas as identidades de agente com o atributo platform, usando o formato principalSet://<var>TRUST_DOMAIN</var>/attribute.platform/aiplatform. Por exemplo, principalSet://agents.global.org-123456789012.system.id.goog/attribute.platform/aiplatform.

    • Todas as identidades de agente com o atributo container, usando o formato principalSet://<var>TRUST_DOMAIN</var>/attribute.container/projects/<var>PROJECT_NUMBER</var>. Por exemplo, principalSet://agents.global.org-123456789012.system.id.goog/attribute.container/projects/9876543210.

  • Identidade da carga de trabalho ou principais da força de trabalho: ao pesquisar quais papéis e recursos uma única identidade em um pool de carga de trabalho ou de força de trabalho pode acessar, os resultados da pesquisa são limitados aos seguintes conjuntos principais:

    • Todas as identidades no pool de Identidades da carga de trabalho respectivo, usando o formato principalSet://iam.googleapis.com/projects/<var>PROJECT_NUMBER</var>/locations/global/workloadIdentityPools/<var>POOL_ID</var>/*. Por exemplo, principalSet://iam.googleapis.com/projects/9876543210/locations/global/workloadIdentityPools/altostrat-contractors/*

    • Todas as identidades no pool de força de trabalho respectivo, usando o formato principalSet://iam.googleapis.com/locations/global/workforcePools/<var>POOL_ID</var>/*. Por exemplo, principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/*.

As visualizações do Analisador de políticas têm as seguintes limitações:

  • Ao criar uma consulta, as seleções feitas em opções avançadas podem não ser refletidas na visualização.

  • Se a consulta resultar em uma visualização muito grande ou complexa para ser renderizada de maneira eficaz, uma mensagem de aviso será exibida. Para resolver esse problema, refine os parâmetros de consulta e reduza o conjunto de resultados exibidos.

  • Até 1.000 grupos podem ser mostrados em uma visualização.

A seguir