Analisador de políticas para políticas do IAM

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Policy Analyzer permite que você descubra quais principais (por exemplo, usuários, contas de serviço, grupos e domínios) têm acesso a quais recursos do Google Cloud com base nas suas políticas de permissão do IAM.

O analisador de políticas pode ajudar você a responder a perguntas como estas:

  • Quem pode acessar essa 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 esse bucket do Cloud Storage às 19h?

Como o Analisador de políticas 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 Policy Analyzer, crie uma consulta de análise especificando um ou mais dos seguintes campos:

  • Principais: as identidades (por exemplo, usuários, contas de serviço, grupos e domínios) cujo acesso 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: por exemplo, a hora do dia em que você quer verificar o acesso

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

Para mais exemplos dos tipos de consultas que podem ser criados, consulte Tipos de consulta comuns.

Escopo da análise

Para executar uma consulta de análise, é necessário especificar um escopo para a análise. O escopo é uma organização, uma pasta ou um projeto ao qual você quer restringir a 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 no momento.

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

Resultados da consulta

Quando você executa uma consulta de análise, o analisador de políticas relata 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, são informados os principais na vinculação, o acesso (papel e permissões) que a vinculação concede e o recurso a que 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 IAM Policy Analyzer é compatível apenas com 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 incompatíveis. 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 impede que ele use a permissão. O Analisador de políticas informará que 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 Policy Analyzer analisa automaticamente todas as políticas de permissão relevantes no escopo especificado, independentemente de onde elas estejam na hierarquia de recursos.

Por exemplo, imagine que você está 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 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 Analisador de políticas vai analisar as políticas de permissão da conta de serviço, de permissão do projeto que é proprietário da conta de serviço, de permissão de qualquer pasta que contenha o projeto e 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 anexadas às vinculações de papéis relevantes. As vinculações de papéis relevantes são aquelas que contêm os principais, o acesso e os recursos que você especificou na consulta de análise.

Em alguns casos, o analisador de políticas também pode analisar a condição, o que significa que ela 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 Analisador de políticas fará uma das seguintes ações:

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

    • Se a condição for avaliada como verdadeira, o Policy Analyzer incluirá a vinculação de papel nos resultados da consulta e marcará a avaliação de condição como TRUE.
    • Se a condição for avaliada como falsa, o Analisador de políticas não incluirá o papel nos resultados da consulta.
  • Se o Policy Analyzer não puder analisar uma condição para uma vinculação de papel relevante, ele incluirá o papel nos resultados da consulta e marcará a avaliação de condição como CONDITIONAL.

Atualização de dados

O Policy Analyzer 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 no Policy Analyzer em minutos, é possível que ele não inclua as atualizações mais recentes.

Tipos de consulta comuns

Nesta seção, descrevemos como usar consultas de análise para responder a perguntas comuns de 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 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 falsificando a conta de serviço?

Para saber como 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 da 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 falsificando 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 este 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 permissões.

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

  • 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 gcloud e API): quais papéis e permissões o usuário Dana vai ter nesse conjunto de dados do BigQuery se representar 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 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 ajudar você a responder perguntas como estas:

  • Quais conjuntos de dados do BigQuery o usuário Mahan tem permissão para ler?
  • De quais conjuntos de dados do BigQuery o dev-testers é o grupo de dados?
  • Que VMs Tal pode excluir no projeto A?
  • (Somente API e CLI gcloud): quais VMs o usuário John pode excluir ao se passar por 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 como faria com qualquer outra consulta.

Para saber mais sobre como salvar consultas, consulte Gerenciar consultas salvas.

Exportar resultados da consulta

É possível executar consultas de maneira assíncrona e exportar os resultados da consulta 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 analisador 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 em 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 o Policy Analyzer encontrar qualquer grupo que tenha a permissão storage.buckets.delete, os resultados da consulta listarão não apenas o identificador, mas também todos os membros 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 do 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 "Qual acesso o 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 listarão não apenas o nome do papel, mas também todas as permissões incluídas no papel.

Essa opção permite ver exatamente quais permissões as principais têm.

Expansão de recursos

Se você ativar a expansão de recursos para uma consulta do Analisador de políticas, os resultados da consulta listarão todos os recursos descendentes relevantes para todos 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 analisador de políticas e 100.000 recursos por recurso pai para consultas de longa duração do Analisador de 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 essa consulta e o Analisador de políticas descobrir que my-user@example.com tem um papel no nível do 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.

Com essa opção, você tem 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 essa opção estiver ativada, o Policy Analyzer executará consultas adicionais de análise para determinar quem pode representar as contas de serviço que têm o acesso especificado aos recursos especificados. O Policy Analyzer 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íticas, com base no projeto do consumidor. O Inventário de recursos do Cloud também limita a expansão de grupos dentro da associação a grupos e a expansão de recursos na hierarquia de recursos.

Para ver as cotas e os limites padrão do analisador de políticas, consulte Cotas e limites na documentação do Inventário de recursos do Cloud.

A seguir