Questa pagina spiega come analizzare i criteri di Identity and Access Management (IAM) in modo asincrono e scrivere i risultati su Cloud Storage. La funzionalità è per lo più equivalente all' analisi dei criteri IAM, tranne per il fatto che il risultato dell'analisi viene scritto in un bucket Cloud Storage.
Prima di iniziare
Abilita l'API Cloud Asset.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai
creato il progetto, probabilmente hai già questa autorizzazione tramite il
ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il
ruolo Amministratore di Service Usage (roles/serviceusage.serviceUsageAdmin).
Scopri come concedere i ruoli.
Devi abilitare l'API nel progetto che utilizzerai per inviare la query. Non deve essere la stessa risorsa a cui limiti l'ambito della query.
Ruoli e autorizzazioni richiesti
Per eseguire un'analisi dei criteri ed esportare i risultati in Cloud Storage sono necessari i seguenti ruoli e autorizzazioni.
Ruoli IAM richiesti
Per ottenere le autorizzazioni necessarie per analizzare un criterio ed esportare i risultati in BigQuery, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione a cui limiterai l'ambito della query:
- Visualizzatore 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:
Consumer di Service Usage (
roles/serviceusage.serviceUsageConsumer)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per analizzare un criterio ed esportare i risultati in BigQuery. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
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 ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Autorizzazioni di Google Workspace richieste
Se vuoi verificare se un'entità ha determinati ruoli o autorizzazioni in seguito alla sua appartenenza a un gruppo Google Workspace, devi disporre dell'autorizzazione groups.read di Google Workspace. Questa autorizzazione è contenuta nel ruolo Amministratore lettore gruppi e in ruoli più potenti come i ruoli Amministratore gruppi o Super amministratore. Per ulteriori informazioni, vedi Assegnare ruoli di amministratore specifici per ulteriori
informazioni.
Analizzare i criteri ed esportare i risultati
Il
AnalyzeIamPolicyLongrunning
metodo consente di inviare una richiesta di analisi e ottenere i risultati nel
bucket Cloud Storage specificato.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
RESOURCE_TYPE: il tipo di risorsa a cui vuoi limitare l'ambito della ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Utilizza il valoreproject,folderoorganization.RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione a cui vuoi limitare l'ambito della ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-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à, vedi Identificatori di entità.PERMISSIONS: un elenco separato da virgole delle autorizzazioni che vuoi verificare, ad esempiocompute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, Policy Analyzer verificherà la presenza di 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, apporta le sostituzioni seguenti:
RESOURCE_TYPE: il tipo di risorsa a cui vuoi limitare l'ambito della ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Utilizza il valoreprojects,foldersoorganizations.RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione a cui vuoi limitare l'ambito della ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012.-
FULL_RESOURCE_NAME: (facoltativo) Il nome completo della risorsa per cui vuoi analizzare l'accesso. Per un elenco dei formati dei nomi completi delle risorse, vedi Formato del nome della risorsa. 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à, vedi Identificatori di entità.PERMISSION_1,PERMISSION_2...PERMISSION_N: (facoltativo) Le autorizzazioni che vuoi verificare, ad esempiocompute.instances.get. Se elenchi più autorizzazioni, Policy Analyzer verificherà la presenza di 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 della 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"
}
}
Visualizzare i risultati dell'analisi dei criteri IAM
Per visualizzare i risultati dell'analisi dei criteri IAM:
Nella Google Cloud console, 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 queste tuple.