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 API Cloud Asset, se ainda não tiver feito isso.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você
criou o projeto, provavelmente já tem essa permissão pelo papel de
Proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de
Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin).
Saiba como conceder papéis.
É necessário ativar a API no projeto que você vai usar para enviar a consulta. Não precisa ser o mesmo recurso no escopo da consulta.
Papéis e permissões necessárias
As seguintes funções e permissões são necessárias para executar uma análise de política e exportar os resultados para o Cloud Storage.
Papéis necessários do IAM
Para ter 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 você vai definir o escopo da consulta:
- Leitor de recursos do Cloud (
roles/cloudasset.viewer) - Criador de objetos do Storage (
roles/storage.objectCreator) -
Para analisar políticas com papéis personalizados do IAM:
Leitor de papéis (
roles/iam.roleViewer) -
Para usar a Google Cloud CLI para analisar políticas:
Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para analisar uma política e exportar os resultados para o BigQuery. Para acessar 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 e analisar políticas:
serviceusage.services.use
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Permissões necessárias do Google Workspace
Se você quiser saber se um principal tem determinadas funções ou permissões como resultado da participação em um grupo do Google Workspace, precisará da permissão groups.read do Google Workspace. Essa permissão está incluída no papel de administrador leitor de grupos e em papéis mais poderosos, 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 ao qual você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valorproject,folderouorganization.RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, comomy-project. Os códigos de pastas e organizações são numéricos, como123456789012.PRINCIPAL: o principal cujo acesso você quer analisar, no formatoPRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para uma lista completa dos tipos de principais, consulte Identificadores de 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, o Analisador de políticas vai verificar se há alguma delas.STORAGE_OBJECT_URI: o identificador exclusivo do recurso do objeto do Cloud Storage para onde você quer exportar os resultados da análise, no formatogs://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 Inventário de recursos do Cloud.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE: o tipo de recurso ao qual você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Use o valorprojects,foldersouorganizations.RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização em que você quer restringir sua pesquisa. Somente as políticas de permissão do IAM anexadas a esse recurso e aos descendentes dele serão analisadas. Os IDs do projeto são strings alfanuméricas, comomy-project. Os códigos de pastas e organizações são numéricos, como123456789012.-
FULL_RESOURCE_NAME: opcional. O nome completo do recurso para o qual você quer analisar o acesso. Para uma lista de formatos de nome de recurso completos, consulte Formato de nome de recurso. PRINCIPAL: opcional. O principal cujo acesso você quer analisar, no formatoPRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para uma lista completa dos tipos de principais, consulte Identificadores de 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, o Analisador de políticas vai verificar qualquer uma delas.STORAGE_OBJECT_URI: o identificador exclusivo do recurso do objeto do Cloud Storage para onde você quer exportar os resultados da análise, no formatogs://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íticas do IAM
Para visualizar sua análise de política do IAM, faça o seguinte:
No console Google Cloud , acesse a página Buckets.
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.