Com a Análise de políticas para políticas de permissão, você descobre 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 suas políticas de permissão do IAM.
O Analisador de políticas para políticas de permissão pode ajudar 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 funciona o Analisador de políticas para políticas de permissão
Para usar a Análise de políticas para políticas de permissão, crie uma consulta de análise, especifique um escopo para a análise e execute a consulta.
Consultas de análise
Para usar a Análise de políticas, 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 que você quer verificar o acesso
- (somente API) Contexto da condição: o contexto (por exemplo, horário 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 ter mais informações sobre os campos que não foram especificados. 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 o principal.
Para mais exemplos de tipos de consultas que podem ser criados, consulte Tipos de consulta comuns.
Escopo da análise
Para executar uma consulta de análise, especifique um escopo para análise. O escopo é uma organização, uma pasta ou um projeto em que 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.
Depois de criar uma consulta de análise e especificar o escopo, você pode executar 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 que você especificou na consulta. Para cada vinculação de função, ele informa os principais na vinculação, o acesso (função e permissões) que a vinculação concede e o recurso a que a vinculação concede acesso.
Você pode analisar esses resultados para entender melhor o acesso no seu projeto, pasta ou organização. Por exemplo, se você executou uma consulta para descobrir quais principais têm acesso a um recurso específico, analise 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 Policy Analyzer para políticas de permissão só oferece suporte a políticas de permissão do IAM.
O Analisador de políticas para políticas de permissão não oferece suporte aos seguintes tipos de controle de acesso:
- Políticas de negação do IAM
- Políticas de limite de acesso de principal do IAM
- Controle de acesso baseado em função do Google Kubernetes Engine
- Listas de controle de acesso do Cloud Storage
- Prevenção de acesso público do Cloud Storage
Os resultados da consulta do Policy Analyzer não consideram os tipos de política
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 que ele use
a permissão. A Análise de políticas vai informar que eles têm 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 estão 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, a Análise de 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, a Análise de políticas 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 contêm o projeto e a política de permissão da organização.
Acesso condicional
Se uma vinculação de função tiver uma condição, ela só concederá acesso a um participante quando essa condição for atendida. A Análise de políticas sempre informa condições anexadas a 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 especificados na consulta de análise.
Em alguns casos, o Policy Analyzer também pode analisar a condição, ou seja, ele pode informar se a condição seria atendida. A Análise de políticas pode analisar os seguintes tipos de condições:
- Condições com base em atributos de recurso, para tipos de recursos que fornecem um nome de recurso.
- Condições de data/hora (somente API e CLI gcloud). Para que a Análise de políticas analise essas condições, é necessário
informar o horário do acesso (
accessTime
) na consulta de análise. Para saber como fornecer esse contexto, consulte Determinar o acesso em um horário específico.
Se uma vinculação de papel relevante tiver uma condição, o Policy Analyzer fará uma das seguintes ações:
Se o Analisador de políticas puder analisar a condição, ele fará uma das seguintes ações:
- Se a condição for avaliada como verdadeira, o Policy Analyzer vai incluir a
vinculação de função nos resultados da consulta e marcar a avaliação da condição como
TRUE
. - Se a condição for avaliada como falsa, a Análise de políticas não vai incluir a função nos resultados da consulta.
- Se a condição for avaliada como verdadeira, o Policy Analyzer vai incluir a
vinculação de função nos resultados da consulta e marcar a avaliação da condição como
Se a Análise de políticas não puder analisar uma condição para 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
O Policy Analyzer 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 na Análise de políticas em minutos, é possível que a Análise de políticas 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 a responder a perguntas como:
- Quem tem acesso a esta conta de serviço do IAM?
- Quem tem a permissão para 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 usando a representação de uma conta de serviço?
Para saber como criar e enviar essas consultas, consulte Determinar quais principais podem acessar um recurso.
Quais participantes têm essas funções e permissões?
Para determinar quais participantes têm determinados papéis e permissões, crie uma consulta de análise que especifique um participante e um conjunto de papéis e permissões que você quer verificar.
Essas consultas podem ajudar a responder a perguntas como:
- Quem tem permissão para personificar 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 de dados 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 usando a representação de 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 esse 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 a responder a perguntas como:
- 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 API e CLI gcloud): que papéis e permissões o usuário Dana tem neste conjunto de dados do BigQuery se ele personificar uma conta de serviço?
Para saber como criar e enviar essas consultas, consulte Determinar o acesso de um princípio a um recurso.
Quais recursos esse principal pode acessar?
Para determinar quais recursos um principal específico pode acessar, crie uma consulta de análise que especifique um principal e as funções e permissões que você quer verificar.
Essas consultas podem ajudar a responder a perguntas como:
- Quais conjuntos de dados do BigQuery o usuário Mahan tem permissão para ler?
- De quais conjuntos de dados do BigQuery é o grupo
dev-testers
de que o proprietário dos dados pertence? - Quais VMs o Tal pode excluir no projeto A?
- (Somente API e CLI gcloud): Quais VMs o usuário João pode excluir usando a representação de 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 você estiver usando a API REST, poderá salvar consultas de análise para reutilizar ou compartilhar com outras pessoas. É possível executar uma consulta salva da mesma forma que qualquer outra consulta.
Para saber mais sobre 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 resultados de consulta para o BigQuery, consulte Gravar análises de políticas no BigQuery.
Para saber como exportar resultados de consulta para o Cloud Storage, consulte Gravar a análise de política no Cloud Storage.
Opções de consulta
A 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 de 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 grupos 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 entender o acesso de usuários individuais, mesmo que esse acesso seja resultado da associação deles a um grupo.
Expansão de função
Se você ativar a expansão de função, os resultados da consulta vão listar todas as permissões de cada função, além da própria função. Essa opção só está disponível se você não especificar nenhuma permissão ou função na consulta.
Por exemplo, imagine que você ative a expansão de função para a consulta "Qual acesso
my-user@example.com
tem no bucket bucket-1
?" Se
o Analisador de políticas encontrar funções que dão acesso a my-user@example.com
a bucket-1
, os resultados da consulta vão listar não apenas o nome da função, mas também todas
as permissões incluídas nela.
Essa opção mostra exatamente quais permissões os participantes têm.
Expansão de recursos
Se você ativar a expansão de recursos para uma consulta do Policy Analyzer, os resultados da consulta vão listar todos os recursos descendentes relevantes para qualquer recurso pai (projetos, pastas e organizações) nos resultados da consulta. Essa expansão é limitada a 1.000 recursos por recurso pai para consultas da Análise de políticas e 100.000 recursos por recurso pai para consultas de longa duração da Análise de políticas.
Por exemplo, considere como a expansão de recursos afetaria as seguintes consultas:
Quem tem a permissão
storage.buckets.delete
paraproject-1
?Se você ativar a expansão de recursos para essa consulta, a seção de recursos dos resultados da consulta vai listar não apenas o projeto, mas também todos os buckets de armazenamento dentro dele.
Em quais recursos o
my-user@example.com
tem a permissãocompute.instances.setIamPolicy
?Se você ativar a expansão de recursos para essa consulta e o Policy Analyzer detectar 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 vai listar não apenas o projeto, mas também todas as instâncias do Compute Engine dentro dele.
Essa opção permite entender detalhadamente os recursos que os principais podem acessar.
Representação da conta de serviço:
Se você estiver usando a API REST ou a CLI gcloud, ative a análise da personificação de conta de serviço.
Se essa opção estiver ativada, o Policy Analyzer 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. 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 nas associações a grupos e a expansão de recursos na hierarquia de recursos.
Para conferir as cotas e os limites padrão do Policy Analyzer, consulte Cotas e limites na documentação do Inventário de recursos do Cloud.
Preços
Cada organização pode executar até 20 consultas de análise por dia sem custo financeiro. Esse limite inclui a análise de políticas de permissão e de políticas da organização.
Se você quiser executar mais de 20 consultas de análise por dia, precisará ter uma ativação do nível premium do Security Command Center. Para mais informações, consulte Perguntas sobre o faturamento.
A seguir
- Saiba como usar o Policy Analyzer para analisar uma política de permissão.
- Saiba como usar a API REST para salvar consultas de análise de políticas.