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
Enable the Cloud Asset API.
É necessário ativar a API no projeto ou na organização que você usará para enviar o 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 ter as permissões necessárias para analisar uma política e exportar os resultados para no BigQuery, peça ao administrador para conceder a você seguintes papéis do IAM no projeto, na pasta ou na organização que terão escopo sua consulta para:
-
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 como conceder papéis, consulte Gerenciar acesso.
Esses papéis predefinidos têm as permissões necessárias para analisar uma política e exportar os resultados para no BigQuery. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para analisar uma política e exportar os resultados para 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
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 determinados papéis ou permissões como resultado
da participação deles em um grupo do Google Workspace, você precisa do groups.read
permissão do Google Workspace. Esta permissão está contida no Leitor de grupos
Função "Administrador" e em outras mais eficientes, como "Administrador de grupos" ou "Superadministrador"
papéis de segurança na nuvem. Consulte Atribuir funções administrativas específicas para saber mais.
informações imprecisas ou inadequadas.
Analisar políticas e exportar resultados
O
AnalyzeIamPolicyLongrunning
permite que você emita uma solicitação de análise e obtenha resultados no
Bucket do Cloud Storage.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorproject
,folder
ouorganization
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. 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 com de acesso que você quer analisar, no formatoPRINCIPAL_TYPE:ID
. Por exemplo,user:my-user@example.com
Para uma lista completa dos tipos principais, consulte Identificadores principais.PERMISSIONS
: A lista separada por vírgulas das permissões que você quer verificar, por exemplo,compute.instances.get,compute.instances.start
. Se você listar vários permissões, a Análise de políticas verificará qualquer uma das permissões listadas.STORAGE_OBJECT_URI
: o recurso exclusivo identificador do objeto do Cloud Storage para o qual você quer exportar os resultados da análise, no degs://BUCKET_NAME/OBJECT_NAME
, por exemplo,gs://my-bucket/analysis.json
Execute o gcloud asset analyze-iam-policy-longrunning (em inglês) comando:
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
no Cloud Storage, use os atributos
analyzeIamPolicyLongrunning
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
RESOURCE_TYPE
: o tipo do recurso que terá o escopo de sua pesquisa. Somente as políticas de permissão do IAM anexada a esse recurso e aos descendentes dele serão analisados. Use o valorprojects
,folders
ouorganizations
.RESOURCE_ID
: o ID do Projeto, pasta ou organização do Google Cloud em que você quer definir o escopo da pesquisa. Somente Serão analisadas as políticas de permissão do IAM anexadas a este recurso e aos descendentes dele. 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 que você quer analisar o acesso. Para uma lista de formatos de nomes de recursos completos, consulte Formato do nome do recurso. PRINCIPAL
: opcional. O principal cujo acesso você quer analisar, na formaPRINCIPAL_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. A permissões que você quer verificar, por exemplo,compute.instances.get
. Se você várias permissões, a Análise de políticas vai procurar qualquer uma delas.STORAGE_OBJECT_URI
: o recurso exclusivo identificador do objeto do Cloud Storage para o qual você quer exportar os resultados da análise, no degs://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:
No console do 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.