Questa pagina spiega come analizzare i criteri di Identity and Access Management (IAM) in modo asincrono e scrivere i risultati in Cloud Storage. La funzionalità è sostanzialmente equivalente all'analisi dei criteri IAM, con la differenza che il risultato dell'analisi viene scritto in un bucket Cloud Storage.
Prima di iniziare
Attiva Cloud Asset API.
Devi abilitare l'API nel progetto o nell'organizzazione che utilizzerai per inviare la query. Non deve essere la stessa risorsa a cui restringi l'ambito della query.
Ruoli e autorizzazioni richiesti
Per eseguire un'analisi dei criteri ed esportare i risultati in Cloud Storage, sono necessari i ruoli e le autorizzazioni seguenti.
Ruoli IAM obbligatori
Per ottenere le autorizzazioni necessarie per analizzare un criterio ed esportare i risultati in BigQuery, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto, sulla cartella o sull'organizzazione a cui restringerai l'ambito della query:
-
Visualizzatore di asset cloud (
roles/cloudasset.viewer
) -
Creatore oggetti Storage (
roles/storage.objectCreator
) -
Per analizzare i criteri con ruoli IAM personalizzati:
Visualizzatore ruoli (
roles/iam.roleViewer
) -
Per utilizzare Google Cloud CLI per analizzare i criteri:
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per analizzare un criterio ed esportare i risultati in BigQuery. Per visualizzare le autorizzazioni necessarie, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per analizzare un criterio ed esportare i risultati in BigQuery, sono necessarie le seguenti autorizzazioni:
-
cloudasset.assets.analyzeIamPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
storage.objects.create
-
Per analizzare i criteri con ruoli IAM personalizzati:
iam.roles.get
-
Per utilizzare Google Cloud CLI per analizzare i criteri:
serviceusage.services.use
Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Autorizzazioni Google Workspace richieste
Se vuoi verificare se un'entità ha determinati ruoli o autorizzazioni in seguito all'appartenenza a un gruppo di Google Workspace, devi avere l'autorizzazione groups.read
di Google Workspace. Questa autorizzazione è inclusa nel ruolo Amministratore lettore
di Gruppi e in ruoli più potenti come i ruoli Amministratore gruppi o Super amministratore. Per saperne di più, consulta Assegnare ruoli di amministratore specifici.
Analizza i criteri ed esporta i risultati
Il metodo
AnalyzeIamPolicyLongrunning
ti consente di inviare una richiesta di analisi e ottenere risultati nel
bucket Cloud Storage specificato.
gcloud
Prima di utilizzare uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo di risorsa a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai relativi discendenti. Utilizza il valoreproject
,folder
oorganization
.RESOURCE_ID
: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi restringere l'ambito della ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai relativi discendenti. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.PRINCIPAL
: l'entità di cui vuoi analizzare l'accesso, nel formatoPRINCIPAL_TYPE:ID
, ad esempiouser:my-user@example.com
. Per un elenco completo dei tipi di entità, consulta Identificatori principali.PERMISSIONS
: un elenco separato da virgole delle autorizzazioni che vuoi verificare, ad esempiocompute.instances.get,compute.instances.start
. Se elenchi più autorizzazioni, Analizzatore criteri controllerà una qualsiasi delle autorizzazioni elencate.STORAGE_OBJECT_URI
: l'identificatore di risorsa univoco dell'oggetto Cloud Storage in cui vuoi esportare i risultati dell'analisi, nel formatogs://BUCKET_NAME/OBJECT_NAME
, ad esempiogs://my-bucket/analysis.json
.
Esegui il comando gcloud asset analyze-iam-policy-longrunning:
Linux, macOS o 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
Dovresti ricevere una risposta simile alla seguente:
Analyze IAM Policy in progress. Use [gcloud asset operations describe projects/my-project/operations/AnalyzeIamPolicyLongrunning/1195028485971902504711950280359719028666] to check the status of the operation.
REST
Per analizzare un criterio di autorizzazione IAM ed esportare i risultati in Cloud Storage, utilizza il metodo analyzeIamPolicyLongrunning
dell'API Cloud Asset Inventory.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo di risorsa a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai relativi discendenti. Utilizza il valoreprojects
,folders
oorganizations
.RESOURCE_ID
: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi restringere l'ambito della ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai relativi discendenti. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.-
FULL_RESOURCE_NAME
: facoltativo. Il nome completo della risorsa di cui vuoi analizzare l'accesso. Per un elenco dei formati completi dei nomi delle risorse, vedi Formato del nome delle risorse. PRINCIPAL
: facoltativo. L'entità di cui vuoi analizzare l'accesso, nel formatoPRINCIPAL_TYPE:ID
, ad esempiouser:my-user@example.com
. Per un elenco completo dei tipi di entità, consulta Identificatori principali.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: facoltativo. Le autorizzazioni che vuoi verificare, ad esempiocompute.instances.get
. Se elenchi più autorizzazioni, Analizzatore criteri controllerà una qualsiasi delle autorizzazioni elencate.STORAGE_OBJECT_URI
: l'identificatore di risorsa univoco dell'oggetto Cloud Storage in cui vuoi esportare i risultati dell'analisi, nel formatogs://BUCKET_NAME/OBJECT_NAME
, ad esempiogs://my-bucket/analysis.json
.
Metodo HTTP e URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicyLongrunning
Corpo JSON richiesta:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "identitySelector": { "identity": "PRINCIPAL" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] }, "outputConfig": { "gcsDestination": { "uri": "STORAGE_OBJECT_URI" } } } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/my-project/operations/AnalyzeIamPolicyLongrunning/1206385342502762515812063858425027606003", "metadata": { "@type": "type.googleapis.com/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata", "createTime": "2022-04-12T21:31:10.753173929Z" } }
Visualizza i risultati dell'analisi dei criteri IAM
Per visualizzare i risultati dell'analisi dei criteri IAM:
Nella console Google Cloud, vai alla pagina Bucket.
Apri il nuovo file in cui hai scritto l'analisi.
I risultati elencano le tuple di {identity, role(s)/permission(s), resource}
insieme ai criteri IAM che generano le tuple.