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 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:
-
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 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 valorproject
,folder
ouorganization
.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, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.PRINCIPAL
: o principal com o 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
: 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 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 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 valorprojects
,folders
ouorganizations
.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, comomy-project
. Os códigos de pastas e organizações são numéricos, como123456789012
.-
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 formatoPRINCIPAL_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 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 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.