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 usará para enviar a consulta. Não precisa ser o mesmo recurso que está no escopo da sua consulta.

Papéis e permissões necessárias

Os papéis e 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 que terá o escopo da sua consulta:

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 a Google Cloud CLI para analisar políticas: serviceusage.services.use

Também é possível receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Permissões necessárias do Google Workspace

Para conferir se um principal tem determinados papéis ou permissões resultantes 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 leitor de grupos e em papéis mais avançados, como Administrador de grupos ou Superadministrador. Consulte Atribuir funções administrativas específicas para mais informações.

Analisar políticas e exportar 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 restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele 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 para a qual você quer definir o escopo da sua pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele 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 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 Análise de políticas vai procurar qualquer uma delas.
  • STORAGE_OBJECT_URI: o identificador de recurso exclusivo do objeto do Cloud Storage para o qual 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 restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele 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 para a qual você quer definir o escopo da sua pesquisa. Somente as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele 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 com o acesso que você quer analisar. Para uma lista de formatos de nomes de recursos completos, consulte Formato de nomes 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 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 Análise de políticas vai procurar qualquer uma delas.
  • STORAGE_OBJECT_URI: o identificador de recurso exclusivo do objeto do Cloud Storage para o qual 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 da 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.