Análise de políticas para políticas do IAM

A ferramenta Análise de políticas permite descobrir quais principais (por exemplo, usuários, contas de serviço, grupos e domínios) têm qual acesso a quais recursos do Google Cloud com base nas políticas de permissão do IAM.

a ferramenta Análise de políticas políticas ajuda a responder perguntas como estas:

  • Quem pode acessar esta conta de serviço do IAM?
  • Quem pode ler os dados neste conjunto do BigQuery que contêm informações de identificação pessoal (PII)?
  • Que papéis e permissões o grupo dev-testers tem em qualquer recurso neste projeto?
  • Que instâncias de máquina virtual (VM) do Compute Engine o Tal pode excluir no projeto A?
  • Quem pode acessar este bucket do Cloud Storage às 19h?

Como a ferramenta Análise de políticas políticas funciona

Para usar a ferramenta Análise de políticas políticas, crie uma consulta de análise, especifique um escopo para ela e execute a consulta.

Consultas de análise

Para usar a ferramenta Análise de políticas políticas, crie uma consulta de análise especificando um ou mais dos seguintes campos:

  • Participantes: as identidades (por exemplo, usuários, contas de serviço, grupos e domínios) com o acesso que você quer verificar
  • Acesso: as permissões e os papéis que você quer verificar
  • Recursos: os recursos aos quais você quer verificar o acesso.
  • (Somente API) Contexto da condição: o contexto (por exemplo, hora do dia) em que você quer verificar o acesso.

Normalmente, você especifica um ou dois desses campos na consulta de análise e, em seguida, usa os resultados da consulta para ver mais informações sobre os campos que não especificou. Por exemplo, para saber quem tem uma determinada permissão em um determinado recurso, especifique o acesso e o recurso na consulta de análise, mas não especifique o principal.

Para acessar mais exemplos dos tipos de consultas que você pode criar, consulte Tipos de consulta comuns.

Escopo da análise

Para executar uma consulta de análise, é preciso especificar um escopo a ser analisado. O escopo é uma organização, uma pasta ou um projeto ao qual você quer restringir sua análise. Somente as políticas de permissão do IAM anexadas ao recurso usado como escopo e aos descendentes dele serão analisadas.

Na API REST e na CLI gcloud, você especifica o escopo manualmente. No console do Google Cloud, o escopo é determinado automaticamente com base no projeto, na pasta ou na organização que você está gerenciando.

Depois de criar uma consulta de análise e especificar o escopo, execute a consulta para analisar as políticas nesse escopo.

Resultados da consulta

Quando você executa uma consulta de análise, a ferramenta Análise de políticas políticas informa todas as vinculações de papéis que contêm os principais, o acesso e os recursos especificados na consulta. Para cada vinculação de papel, ela informa os principais dela, o acesso (papel e permissões) que a vinculação concede e o recurso a que a vinculação concede acesso.

É possível analisar esses resultados para entender melhor o acesso em seu projeto, pasta ou organização. Por exemplo, se você executar uma consulta para descobrir quais principais têm acesso a um recurso específico, revisará os principais nos resultados da consulta.

Ative as opções de consulta para ajustar as informações nos resultados da consulta.

Tipos de políticas compatíveis

A ferramenta Análise de políticas do IAM é compatível apenas com políticas de permissão do IAM.

A ferramenta Análise de políticas políticas não oferece suporte às seguintes formas de controle de acesso:

Os resultados da consulta da ferramenta Análise de políticas políticas não consideram tipos de políticas sem suporte. Por exemplo, imagine que um usuário tenha a permissão iam.roles.get em um projeto devido a uma política de permissão, mas uma política de negação impeça o uso da permissão. A ferramenta Análise de políticas políticas vai informar que ela tem a permissão iam.roles.get, apesar da política de negação.

Herança de políticas

Para considerar a herança de políticas, a ferramenta Análise de políticas analisa automaticamente todas as políticas de permissão relevantes no escopo especificado, independente de onde elas estão na hierarquia de recursos.

Por exemplo, imagine que você esteja tentando descobrir quem pode acessar uma conta de serviço do IAM:

  • Se você definir o escopo da consulta para um projeto, a ferramenta Análise de políticas políticas vai analisar a política de permissão da conta de serviço e a política de permissão do projeto.
  • Se você definir o escopo da consulta para uma organização, o Policy Analyzer analisará a política de permissão da conta de serviço, a política de permissão do projeto que tem a conta de serviço, as políticas de permissão de todas as pastas que contenham o projeto e a política de permissão da organização.

Acesso condicional

Se uma vinculação de papel tiver uma condição, ela só concederá um acesso principal quando essa condição for atendida. A ferramenta Análise de políticas sempre informa as condições que estão anexadas a vinculações de papéis relevantes. As vinculações de papéis relevantes são vinculações de papéis que contêm os principais, o acesso e os recursos especificados na consulta de análise.

Em alguns casos, a ferramenta Análise de políticas também pode analisar a condição, o que significa que pode informar se a condição seria atendida. A ferramenta Análise de políticas políticas pode analisar os seguintes tipos de condições:

Se uma vinculação de papel relevante contiver uma condição, a ferramenta Análise de políticas políticas fará uma das seguintes ações:

  • Se a ferramenta Análise de políticas políticas puder analisar a condição, ela vai fazer uma das seguintes ações:

    • Se a condição for avaliada como verdadeira, a ferramenta Análise de políticas políticas vai incluir a vinculação de papel nos resultados da consulta e marcar a avaliação da condição como TRUE.
    • Se a condição for avaliada como falsa, a ferramenta Análise de políticas políticas não vai incluir o papel nos resultados da consulta.
  • Se a ferramenta Análise de políticas políticas não conseguir analisar uma condição de uma vinculação de papel relevante, ela vai incluir o papel nos resultados da consulta e marcar a avaliação da condição como CONDITIONAL.

Atualização de dados

A ferramenta Análise de políticas usa a API Cloud Asset, que oferece atualização de dados de melhor esforço. Embora quase todas as atualizações de política apareçam na ferramenta Análise de políticas políticas em minutos, é possível que ela não inclua as atualizações mais recentes.

Tipos de consulta comuns

Esta seção descreve como usar consultas de análise para responder a perguntas comuns relacionadas ao acesso.

Quais principais podem acessar este recurso?

Para determinar quais principais podem acessar um recurso, crie uma consulta de análise que especifique o recurso e, opcionalmente, os papéis e as permissões que você quer verificar.

Essas consultas podem ajudar você a responder perguntas como estas:

  • Quem tem acesso a esta conta de serviço do IAM?
  • Quem tem permissão para representar esta conta de serviço do IAM?
  • Quem são os administradores de faturamento no projeto A?
  • (Somente API e CLI gcloud): quem pode atualizar o projeto A representando uma conta de serviço?

Para aprender a criar e enviar essas consultas, consulte Determinar quais principais podem acessar um recurso.

Quais principais têm esses papéis e permissões?

Para determinar quais principais têm determinados papéis e permissões, crie uma consulta de análise que especifique um principal e um conjunto de papéis e permissões que você quer verificar.

Essas consultas podem ajudar você a responder perguntas como estas:

  • Quem tem permissão para representar contas de serviço na minha organização?
  • Quem são os administradores de faturamento na minha organização?
  • Quem pode ler os dados neste conjunto do BigQuery que contêm informações de identificação pessoal (PII)?
  • (Somente API e CLI gcloud): quem na minha organização pode ler um conjunto de dados do BigQuery representando uma conta de serviço?

Para aprender a criar e enviar essas consultas, consulte Determinar quais principais têm determinados papéis ou permissões.

Quais papéis e permissões o principal tem neste recurso?

Para determinar quais papéis e permissões um principal tem em um recurso específico, crie uma consulta de análise que especifique um principal e um recurso em que você quer verificar as permissões.

Essas consultas podem ajudar você a responder perguntas como estas:

  • Quais papéis e permissões o usuário Sasha tem neste conjunto de dados do BigQuery?
  • Que papéis e permissões o grupo dev-testers tem em qualquer recurso neste projeto?
  • (Somente CLI de API e gcloud): quais papéis e permissões a usuário Dana terá nesse conjunto de dados do BigQuery se ela representa uma conta de serviço?

Para saber como criar e enviar essas consultas, consulte Determinar qual acesso um principal tem em um recurso.

Quais recursos este principal pode acessar?

Para determinar quais recursos um principal específico pode acessar, crie uma consulta de análise que especifique um principal e os papéis e as permissões que você quer verificar.

Essas consultas podem ajudar você a responder perguntas como estas:

  • O usuário Mahan tem permissão para ler quais conjuntos de dados do BigQuery?
  • O grupo dev-testers é o proprietário dos dados de quais conjuntos de dados do BigQuery?
  • Quais VMs podem ser excluídas por Tal no projeto A?
  • (Somente CLI de API e gcloud): quais VMs o usuário John pode excluir representando uma conta de serviço?

Para saber como criar e enviar essas consultas, consulte Determinar quais recursos um principal pode acessar.

Consultas de análise salvas

Se estiver usando a API REST, você poderá salvar consultas de análise para reutilizar ou compartilhar com outras pessoas. É possível executar uma consulta salva da mesma forma que você executaria qualquer outra consulta.

Para saber como salvar consultas, confira Gerenciar consultas salvas.

Exportar resultados da consulta

É possível executar consultas de forma assíncrona e exportar os resultados para o BigQuery ou o Cloud Storage usando analyzeIamPolicyLongrunning.

Para saber como exportar os resultados da consulta para o BigQuery, consulte Gravar análise de política no BigQuery.

Para saber como exportar os resultados da consulta para o Cloud Storage, consulte Gravar análise de política no Cloud Storage.

Opções de consulta

A ferramenta Análise de políticas oferece várias opções que adicionam mais detalhes aos resultados da consulta.

Para saber como ativar essas opções, consulte Ativar opções.

Expansão do grupo

Se você ativar a expansão de grupo, todos os grupos nos resultados da consulta serão expandidos para membros individuais. Essa expansão é limitada a 1.000 membros por grupo. Se você tiver permissões de grupo suficientes, os grupos aninhados também serão expandidos. Essa opção só será eficaz se você não especificar um principal na consulta.

Por exemplo, imagine que você ative a expansão de grupo para a consulta "Quem tem a permissão storage.buckets.delete para project-1"? Se a ferramenta Análise de políticas políticas encontrar grupos com a permissão storage.buckets.delete, os resultados da consulta listarão não apenas o identificador do grupo, mas também todos os membros individuais do grupo.

Essa opção permite entender o acesso de usuários individuais, mesmo que esse acesso seja resultado da participação deles em um grupo.

Expansão de papéis

Se você ativar a expansão de papel, os resultados da consulta listarão todas as permissões dentro de cada papel, além do próprio papel. Essa opção só estará disponível se você não especificar nenhuma permissão ou papel na consulta.

Por exemplo, imagine que você ative a expansão de papel para a consulta "Qual acesso my-user@example.com tem no bucket bucket-1?". Se a ferramenta Análise de políticas encontrar qualquer papel que conceda acesso a my-user@example.com a bucket-1, os resultados da consulta vão listar não apenas o nome do papel, mas também todas as permissões incluídas nele.

Essa opção permite que você veja exatamente quais permissões seus principais têm.

Expansão de recursos

Se você ativar a expansão de recursos para uma consulta da ferramenta Análise de políticas políticas, os resultados da consulta vão listar todos os recursos descendentes relevantes de qualquer recurso pai (projetos, pastas e organizações) nos resultados. Essa expansão é limitada a 1.000 recursos por recurso pai para consultas do Policy Analyzer e 100.000 recursos por recurso pai para consultas de longa duração da ferramenta Análise de políticas políticas.

Por exemplo, considere como a expansão de recursos afetaria as seguintes consultas:

  • Quem tem a permissão storage.buckets.delete para project-1?

    Se você ativar a expansão de recursos para essa consulta, a seção de recursos dos resultados da consulta listará não apenas o projeto, mas também todos os buckets de armazenamento dentro dele.

  • Em quais recursos my-user@example.com tem a permissão compute.instances.setIamPolicy?

    Se você ativar a expansão de recursos para esta consulta e a ferramenta Análise de políticas políticas descobrir que my-user@example.com tem um papel para envolvidos no projeto que contém essa permissão, a seção de recursos dos resultados da consulta listará não apenas o projeto, mas também todas as instâncias do Compute Engine dentro dele.

Essa opção permite uma compreensão detalhada dos recursos que seus principais podem acessar.

Identidade temporária de conta de serviço

Se você estiver usando a API REST ou a CLI gcloud, poderá ativar a análise de representação da conta de serviço.

Se essa opção estiver ativada, a ferramenta Análise de políticas 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. Essas consultas analisam quem tem uma 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

Cotas e limites

O Inventário de recursos do Cloud aplica a taxa de solicitações recebidas, incluindo solicitações de análise de política, com base no projeto do consumidor. O Inventário de recursos do Cloud também limita a expansão de grupo dentro das associações de grupo e a expansão de recursos dentro da hierarquia de recursos.

Para conferir as cotas e os limites padrão da ferramenta Análise de políticas políticas, consulte Cotas e limites na documentação do Inventário de recursos do Cloud.

A seguir