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

Esta página explica como analisar políticas de gestão de identidade e de acesso (IAM) de forma assíncrona e escrever os resultados no Cloud Storage. A funcionalidade é maioritariamente equivalente à análise de políticas de IAM, exceto que o resultado da análise é escrito num contentor do Cloud Storage.

Antes de começar

Enable the Cloud Asset API.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Tem de ativar a API no projeto que vai usar para enviar a consulta. Não tem de ser o mesmo recurso ao qual restringe a sua consulta.

Funções e autorizações necessárias

São necessárias as seguintes funções e autorizações para executar uma análise de políticas e exportar os resultados para o Cloud Storage.

Funções de IAM necessárias

Para receber as autorizações de que precisa para analisar uma política e exportar os resultados para o BigQuery, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto, na pasta ou na organização ao qual vai restringir a sua consulta:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para analisar uma política e exportar os resultados para o BigQuery. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações 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 funções de IAM personalizadas: iam.roles.get
  • Para usar a CLI do Google Cloud para analisar políticas: serviceusage.services.use

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Autorizações do Google Workspace necessárias

Se quiser ver se um principal tem determinadas funções ou autorizações como resultado da respetiva associação a um grupo do Google Workspace, precisa da autorização do Google Workspace.groups.read Esta autorização está contida na função de administrador do leitor de grupos e em funções mais poderosas, como as funções de administrador de grupos ou superadministrador. Consulte o artigo Atribua funções de administrador específicas para mais informações.

Analise políticas e exporte resultados

O método AnalyzeIamPolicyLongrunning permite-lhe emitir um pedido de análise e obter resultados no contentor do Cloud Storage especificado.

gcloud

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • RESOURCE_TYPE: o tipo de recurso ao qual quer restringir a sua pesquisa. Apenas as políticas de autorização da IAM anexadas a este recurso e aos respetivos descendentes são analisadas. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do projeto, da pasta ou da organização ao qual quer restringir a sua pesquisa.Google Cloud Apenas as políticas de autorização do IAM anexadas a este recurso e aos respetivos descendentes vão ser analisadas. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
  • PRINCIPAL: o principal cujo acesso quer analisar, no formato PRINCIPAL_TYPE:ID, por exemplo, user:my-user@example.com. Para ver uma lista completa dos tipos principais, consulte o artigo Identificadores principais.
  • PERMISSIONS: uma lista separada por vírgulas das autorizações que quer verificar. Por exemplo, compute.instances.get,compute.instances.start. Se indicar várias autorizações, o Analisador de políticas verifica se existe alguma das autorizações indicadas.
  • STORAGE_OBJECT_URI: o identificador exclusivo do recurso do objeto do Cloud Storage para o qual 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

Deve receber uma resposta semelhante à seguinte:

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 autorização da IAM e exportar os resultados para o Cloud Storage, use o método analyzeIamPolicyLongrunning da API Cloud Asset Inventory.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • RESOURCE_TYPE: o tipo de recurso ao qual quer restringir a sua pesquisa. Apenas as políticas de autorização da IAM anexadas a este recurso e aos respetivos descendentes são analisadas. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do projeto, da pasta ou da organização ao qual quer restringir a sua pesquisa.Google Cloud Apenas as políticas de autorização do IAM anexadas a este recurso e aos respetivos descendentes vão ser analisadas. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
  • FULL_RESOURCE_NAME: opcional. O nome completo do recurso para o qual quer analisar o acesso. Para ver uma lista de formatos de nomes de recursos completos, consulte o artigo Formato do nome do recurso.
  • PRINCIPAL: opcional. O principal cujo acesso quer analisar, no formato PRINCIPAL_TYPE:ID, por exemplo, user:my-user@example.com. Para ver uma lista completa dos tipos principais, consulte o artigo Identificadores principais.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: opcional. As autorizações que quer verificar, por exemplo, compute.instances.get. Se listar várias autorizações, o Analisador de políticas verifica se alguma das autorizações indicadas está presente.
  • STORAGE_OBJECT_URI: o identificador exclusivo do recurso do objeto do Cloud Storage para o qual 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 do pedido:

{
  "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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

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

Veja os resultados da análise de políticas IAM

Para ver os resultados da análise de políticas de IAM:

  1. Na Google Cloud consola, aceda à página Recipientes.

    Aceda a Recipientes

  2. Abra o novo ficheiro no qual escreveu a sua análise.

Os resultados apresentam tuplos de {identity, role(s)/permission(s), resource} juntamente com as políticas IAM que geram esses tuplos.