Gravar a análise de políticas no Cloud Storage

Nesta página, você aprende como analisar políticas de gerenciamento de identidade e acesso (IAM) de forma assíncrona e gravar resultados no Cloud Storage. A funcionalidade é, em grande parte, equivalente à análise de políticas de IAM, exceto se o resultado da análise é gravado em um bucket do Cloud Storage.

Antes de começar

Ative a Cloud Asset API.

Ative a API

Ative a API no projeto ou na organização que você usará para enviar a consulta. Não precisa ser o mesmo recurso que você definiu como escopo da consulta.

Papéis e permissões necessárias

Os papéis e as permissões a seguir são necessários para executar uma análise de política e exportar os resultados para o Cloud Storage.

Papéis do IAM obrigatórios

Para receber as permissões necessárias para analisar uma política e exportar os resultados para o BigQuery, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto, na pasta ou na organização em que a consulta será definida:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos contêm as permissões necessárias para analisar uma política e exportar os resultados para o BigQuery. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para analisar uma política e exportar os resultados para o BigQuery:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • storage.objects.create
  • Para analisar políticas com papéis personalizados do IAM: iam.roles.get
  • Para usar o Google Cloud CLI para analisar políticas: serviceusage.services.use

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Permissões necessárias do Google Workspace

Se você quiser ver se um principal tem determinados papéis ou permissões como resultado da associação a um grupo do Google Workspace, você precisa da permissão groups.read do Google Workspace. Essa permissão está contida no papel Administrador de leitores de grupos e em papéis mais poderosos, como os de Administrador de grupos ou Superadministrador. Consulte Atribuir funções administrativas específicas para mais informações.

Analise políticas e exporte resultados

O método AnalyzeIamPolicyLongrunning permite emitir uma solicitação de análise e receber resultados no bucket do Cloud Storage especificado.

gcloud

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

  • RESOURCE_TYPE: o tipo de recurso para o qual você quer definir o escopo da pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes serão analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes serão analisadas. 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.
  • PRINCIPAL: o principal com o acesso que você quer analisar, no formato PRINCIPAL_TYPE:ID, por exemplo, user:my-user@example.com. Para ver uma lista completa dos tipos principais, consulte Identificadores principais.
  • PERMISSIONS: uma lista separada por vírgulas das permissões que você quer verificar, por exemplo, compute.instances.get,compute.instances.start. Se você listar várias permissões, a ferramenta Análise de políticas políticas vai conferir se há alguma delas.
  • STORAGE_OBJECT_URI: o identificador exclusivo de recurso do objeto do Cloud Storage para onde você quer exportar os resultados da análise, no formato gs://BUCKET_NAME/OBJECT_NAME, por exemplo, gs://my-bucket/analysis.json.

Execute o comando gcloud asset analyze-iam-policy-longrunning:

Linux, macOS ou Cloud Shell

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS' \
    --gcs-output-path=STORAGE_OBJECT_URI

Windows (PowerShell)

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS' `
    --gcs-output-path=STORAGE_OBJECT_URI

Windows (cmd.exe)

gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS' ^
    --gcs-output-path=STORAGE_OBJECT_URI

Você receberá uma resposta semelhante a esta

Analyze IAM Policy in progress.
Use [gcloud asset operations describe projects/my-project/operations/AnalyzeIamPolicyLongrunning/1195028485971902504711950280359719028666] to check the status of the operation.

REST

Para analisar uma política de permissão do IAM e exportar os resultados para o Cloud Storage, use o método analyzeIamPolicyLongrunning da API Cloud Asset Inventory.

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • RESOURCE_TYPE: o tipo de recurso para o qual você quer definir o escopo da pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes serão analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do projeto, da pasta ou da organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes serão analisadas. 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.
  • FULL_RESOURCE_NAME: opcional. O nome completo do recurso que você quer analisar. Para uma lista de formatos de nomes de recursos completos, consulte Formato de nome de recursos.
  • PRINCIPAL: opcional. O principal com o acesso que você quer analisar, no formato PRINCIPAL_TYPE:ID, por exemplo, user:my-user@example.com. Para ver uma lista completa dos tipos principais, consulte Identificadores principais.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: opcional. As permissões que você quer verificar, por exemplo, compute.instances.get. Se você listar várias permissões, a ferramenta Análise de políticas políticas vai conferir se há alguma delas.
  • STORAGE_OBJECT_URI: o identificador exclusivo de recurso do objeto do Cloud Storage para onde você quer exportar os resultados da análise, no formato gs://BUCKET_NAME/OBJECT_NAME, por exemplo, gs://my-bucket/analysis.json.

Método HTTP e URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicyLongrunning

Corpo JSON da solicitação:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "outputConfig": {
      "gcsDestination": {
        "uri": "STORAGE_OBJECT_URI"
      }
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/my-project/operations/AnalyzeIamPolicyLongrunning/1206385342502762515812063858425027606003",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata",
    "createTime": "2022-04-12T21:31:10.753173929Z"
  }
}

Ver os resultados da análise de política do IAM

Para visualizar sua análise de política do IAM, faça o seguinte:

  1. No console do Google Cloud, acesse a página Buckets.

    Acessar buckets

  2. Abra o novo arquivo para o qual você gravou a análise.

Os resultados listam as tuplas de {identity, role(s)/permission(s), resource} com as políticas do IAM que as geram.