Analisar o histórico da política de permissão do IAM

Esta página explica como analisar o histórico de alterações nas suas políticas de permissão do IAM.

Para analisar as mudanças nas políticas de permissão do recurso, pesquise nos registros de auditoria entradas que contêm o método SetIamPolicy.

Também é possível analisar as alterações nas políticas de permissão com o Inventário de recursos do Cloud.

Conferir mudanças na política de permissão com SetIamPolicy

Para conferir as alterações nas políticas de permissão, analise os registros de auditoria em busca de entradas que tenham o método SetIamPolicy. É possível analisar seus registros de auditoria usando o console do Google Cloud ou a gcloud CLI.

Console

  1. No console do Google Cloud, acesse a página do Explorador de registros.

    Acessar o Explorador de registros

  2. No editor de consultas, insira uma das consultas a seguir. Estas consultas procuram entradas nos registros de auditoria que tenham SetIamPolicy no campo methodName do protoPayload:

    • Para conferir os registros de todas as alterações de política de permissão feitas em um recurso, use a seguinte consulta:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • Para receber os registros de alterações de política de permissão que envolvem um usuário ou uma conta de serviço específica, use a seguinte consulta:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
      

      Forneça os valores a seguir:

      • RESOURCE_TYPE: o tipo de recurso que está listando os registros de auditoria. Use um destes valores: projects, folders ou organizations.
      • RESOURCE_ID: o projeto, a pasta ou o ID da organização do Google Cloud. Os IDs de projeto são alfanuméricos, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
      • EMAIL_ADDRESS: o endereço de e-mail do usuário ou da conta de serviço. Por exemplo, example-service-account@example-project.iam.gserviceaccount.com.
  3. Para executar a consulta, clique em Executar consulta.

  4. Use o seletor Timeline para especificar o intervalo de tempo adequado para a consulta. Também é possível adicionar uma expressão de marcação de tempo diretamente ao editor de consultas. Para mais informações, consulte Conferir registros por período de tempo.

gcloud

O comando gcloud logging read lê as entradas de registro.

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

  • RESOURCE_TYPE: o tipo de recurso que está listando os registros de auditoria. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: seu projeto do Google Cloud, a organização ou o ID da pasta. Os IDs do projeto são strings alfanuméricas, como my-project. Os códigos de pastas e organizações são numéricos, como 123456789012.
  • TIME_PERIOD: o período em que você está listando os registros de auditoria. As entradas retornadas não são mais antigas que esse valor. Se o valor não for especificado, será usado o padrão 1d. Para informações sobre formatos de tempo, consulte Data e hora no gcloud.
  • RESOURCE_TYPE_SINGULAR: o tipo de recurso que está listando os registros de auditoria. Use o valor project, folder ou organization.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud logging read \
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' \
    --freshness=TIME_PERIOD \
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (PowerShell)

gcloud logging read `
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' `
    --freshness=TIME_PERIOD `
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (cmd.exe)

gcloud logging read ^
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' ^
    --freshness=TIME_PERIOD ^
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Conferir as mudanças na política de permissão com o Inventário de recursos do Cloud

Também é possível conferir as mudanças na política de permissão usando o Inventário de recursos do Cloud no console do Google Cloud ou a gcloud CLI.

Console

  1. No console do Google Cloud, acesse a página Inventário de recursos.

    Acessar o inventário de recursos

  2. Clique na guia Política do IAM.

  3. Execute a seguinte consulta no campo Filtro:

    Resource : RESOURCE_ID

    Substitua RESOURCE_ID pelo ID do projeto, da pasta ou da organização do Google Cloud. Os IDs de projeto são alfanuméricos, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.

  4. Para conferir o histórico de alterações da política de permissão do recurso, clique no nome do recurso e selecione a guia Histórico de alterações.

  5. Para comparar as mudanças na política de permissão do recurso, selecione dois registros com carimbos de data/hora diferentes no menu Selecionar um registro para comparar.

gcloud

O comando gcloud asset get-history recebe o histórico atualizado das políticas de permissão em um recurso que se sobrepõe a uma janela de tempo.

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

  • RESOURCE_TYPE: o tipo de recurso que está listando os registros de auditoria. Use o valor project, folder ou organization.
  • RESOURCE_ID: seu projeto do Google Cloud, a organização ou o ID da pasta. Os IDs do projeto são strings alfanuméricas, como my-project. Os códigos de pastas e organizações são numéricos, como 123456789012.
  • ASSET_NAME: uma lista separada por vírgulas de nomes de recursos formatados para os recursos cujos históricos de políticas de permissão você quer acessar. Por exemplo, //cloudresourcemanager.googleapis.com/projects/my-project. Esses recursos podem ser qualquer um dos tipos que aceitam políticas de permissão.
  • START_TIME: o início do período. O período máximo é de 7 dias. O valor precisa ser a hora atual ou um horário com no máximo 35 dias no passado. Para informações sobre formatos de tempo, consulte Data e hora no gcloud.
  • END_TIME: opcional. O ponto final do período. O período máximo é de 7 dias. O valor precisa ser a hora atual ou um horário com no máximo 35 dias no passado. Quando não é fornecido, o horário de término é considerado o atual. Saiba mais sobre formatos de tempo em gcloud topic datetimes.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud asset get-history \
    --RESOURCE_TYPE=RESOURCE_ID \
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
    --content-type=iam-policy \
    --start-time=START_TIME \
    --end-time=END_TIME

Windows (PowerShell)

gcloud asset get-history `
    --RESOURCE_TYPE=RESOURCE_ID `
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... `
    --content-type=iam-policy `
    --start-time=START_TIME `
    --end-time=END_TIME

Windows (cmd.exe)

gcloud asset get-history ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^
    --content-type=iam-policy ^
    --start-time=START_TIME ^
    --end-time=END_TIME