Analisador de políticas para políticas do IAM

O Policy Analyzer permite que você descubra quais principais (por exemplo, usuários, contas de serviço, grupos e domínios) têm que acesso a quais recursos do Google Cloud com base nas suas 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 o Policy Analyzer funciona

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

Consultas de análise

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

  • Principal: 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 você não especificou. Por exemplo, se você quiser 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 mais exemplos dos tipos de consulta que podem ser criados, consulte Tipos de consulta comuns.

Escopo da análise

Para executar uma consulta de análise, é preciso especificar o escopo para análise. 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, especifique 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 no momento.

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, o Policy Analyzer 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, o acesso (papel e permissões) que a vinculação concede e o recurso ao qual a vinculação concede acesso.

Analise esses resultados para entender melhor o acesso no 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, revise os principais nos resultados da consulta.

É possível ajustar as informações nos resultados da consulta ativando as opções de consulta.

Tipos de políticas compatíveis

O Analisador de políticas do IAM só oferece suporte a políticas de permissão do IAM.

O Analisador de políticas não é compatível com as seguintes formas de controle de acesso:

Os resultados da consulta do Analisador de políticas não consideram tipos de política não compatíveis. Por exemplo, imagine que um usuário tenha a permissão iam.roles.get em um projeto por causa de uma política de permissão, mas uma política de negação o impeça de usar a permissão. O Analisador de políticas informará que ele 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, o Analisador 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, o Policy Analyzer vai analisar a política de permissão da conta de serviço e do projeto.
  • Se você definir o escopo da consulta para uma organização, o Policy Analyzer vai analisar a política de permissão da conta de serviço, a política de permissão do projeto que é proprietário da 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. O Policy Analyzer sempre informa as condições vinculadas a vinculações de papéis relevantes. As vinculações de papéis relevantes contêm os principais, o acesso e os recursos especificados na consulta de análise.

Em alguns casos, o Analisador de políticas também pode analisar a condição, o que significa que ele pode informar se a condição seria atendida. O Analisador de políticas pode analisar os seguintes tipos de condições:

Se uma vinculação de papel relevante contiver uma condição, o Policy Analyzer realizará uma das seguintes ações:

  • Se o Policy Analyzer puder analisar a condição, ele vai fazer um dos seguintes procedimentos:

    • Se a condição for avaliada como verdadeira, o Policy Analyzer 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, o Policy Analyzer não vai incluir o papel nos resultados da consulta.
  • Se o Policy Analyzer não conseguir analisar uma condição de uma vinculação de papel relevante, ele vai incluir o papel nos resultados da consulta e marcar a avaliação da condição como CONDITIONAL.

Atualização de dados

O Analisador de políticas usa a API Cloud Asset, que oferece a melhor atualização de dados possível. Embora quase todas as atualizações de políticas apareçam no Analisador de políticas em minutos, é possível que ele 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 ajudá-lo a responder a perguntas como as seguintes:

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

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

Quais principais têm estes 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 ajudá-lo a responder a perguntas como as seguintes:

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

Para saber como 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 no 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 ajudá-lo a responder a perguntas como as seguintes:

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

Para saber como criar e enviar essas consultas, consulte Determinar qual acesso uma 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 permissões que você quer verificar.

Essas consultas podem ajudá-lo a responder a perguntas como as seguintes:

  • Quais conjuntos de dados do BigQuery o usuário Mahan tem permissão para ler?
  • O grupo dev-testers é o proprietário dos dados de quais conjuntos de dados do BigQuery?
  • Quais VMs o Tal pode excluir no projeto A?
  • (Somente CLI da 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 uma principal pode acessar.

Consultas de análise salvas

Se estiver usando a API REST, será possível salvar as consultas de análise para reutilizar ou compartilhar com outras pessoas. Você pode executar uma consulta salva como faria com qualquer outra.

Para saber como salvar consultas, consulte 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

O Policy Analyzer 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ó é 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 o Policy Analyzer encontrar algum grupo com a permissão storage.buckets.delete, os resultados da consulta vão listar não apenas o identificador do grupo, mas também todos os membros individuais do grupo.

Essa opção permite que você entenda 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 permissões ou papéis na consulta.

Por exemplo, imagine que você ative a expansão de papel para a consulta "Que acesso my-user@example.com tem no bucket bucket-1?". Se o Policy Analyzer encontrar qualquer papel que conceda acesso 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 os principais têm.

Expansão de recursos

Se você ativar a expansão de recursos em uma consulta do Policy Analyzer, os resultados da consulta vão listar todos os recursos descendentes relevantes para os recursos pais (projetos, pastas e organizações) nos resultados da consulta. 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 do Policy Analyzer.

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 essa consulta e o Policy Analyzer 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 do projeto.

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

Representação da conta de serviço:

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

Se esta opção estiver ativada, o Policy Analyzer vai executar outras consultas de análise para determinar quem pode representar as contas de serviço que têm o acesso especificado aos recursos especificados. O Analisador de políticas executa uma consulta para cada conta de serviço nos resultados da consulta. Essas consultas analisam quem tem qualquer 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 grupos e a expansão de recursos dentro da hierarquia de recursos.

Para consultar as cotas e os limites padrão do Policy Analyzer, consulte Cotas e limites na documentação do Inventário de recursos do Cloud.

A seguir