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à è 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
Enable the Cloud Asset API.
Devi abilitare l'API nel progetto o nell'organizzazione che utilizzerai per inviare la query. Non deve essere la stessa risorsa per cui hai definito l'ambito della query.
Ruoli e autorizzazioni richiesti
I seguenti ruoli e autorizzazioni sono necessari per eseguire un'analisi dei criteri ed esportare i risultati in Cloud Storage.
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 nel progetto, nella cartella o nell'organizzazione che definirai la query per:
-
Cloud Asset Viewer (
roles/cloudasset.viewer
) -
Creatore oggetti Storage (
roles/storage.objectCreator
) -
Per analizzare i criteri con i ruoli IAM personalizzati:
Visualizzatore ruoli (
roles/iam.roleViewer
) -
Per utilizzare Google Cloud CLI per analizzare i criteri:
Consumer Service Usage (
roles/serviceusage.serviceUsageConsumer
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per analizzare un criterio ed esportare i risultati in in BigQuery. Per vedere le autorizzazioni esatte obbligatorie, 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 Google Workspace richieste
Se vuoi sapere se un utente principale dispone di determinati ruoli o autorizzazioni in seguito alla sua appartenenza a un gruppo Google Workspace, devi disporre dell'groups.read
autorizzazione Google Workspace. Questa autorizzazione è contenuta nel ruolo Amministratore del gruppo e in ruoli più potenti come i ruoli Amministratore del gruppo o Super amministratore. Per ulteriori informazioni, vedi 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 i risultati nel bucket Cloud Storage specificato.
gcloud
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo della risorsa a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Utilizza il valoreproject
,folder
oorganization
.RESOURCE_ID
: l'ID del Il progetto, la cartella o l'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Progetto Gli ID sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici come123456789012
.PRINCIPAL
: il principale di cui vuoi analizzare l'accesso, nel formatoPRINCIPAL_TYPE:ID
, ad esempiouser:my-user@example.com
. Per un elenco completo dei tipi di principali, consulta Identificatori principali.PERMISSIONS
: A un elenco separato da virgole delle autorizzazioni che vuoi controllare, ad esempiocompute.instances.get,compute.instances.start
. Se elenchi più autorizzazioni, lo strumento di analisi delle norme ne verificherà la presenza.STORAGE_OBJECT_URI
: la risorsa unica dell'oggetto Cloud Storage in cui vuoi esportare i risultati dell'analisi, nel modulogs://BUCKET_NAME/OBJECT_NAME
, ad esempiogs://my-bucket/analysis.json
.
Esegui la 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 la classe
analyzeIamPolicyLongrunning
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
RESOURCE_TYPE
: il tipo della risorsa a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Utilizza il valoreprojects
,folders
oorganizations
.RESOURCE_ID
: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Solo I criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti verranno analizzati. Progetto Gli ID sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici, come123456789012
.-
FULL_RESOURCE_NAME
: facoltativo. Il nome completo della risorsa per la quale vuoi analizzare l'accesso. Per un elenco dei formati dei nomi delle risorse completi, consulta Formato del nome della risorsa. PRINCIPAL
: facoltativo. Il principale di cui vuoi analizzare l'accesso, nel formatoPRINCIPAL_TYPE:ID
, ad esempiouser:my-user@example.com
. Per un elenco completo dei tipi di principali, consulta Identificatori principali.PERMISSION_1
,PERMISSION_2
…PERMISSION_N
: facoltativo. Le autorizzazioni che vuoi verificare, ad esempiocompute.instances.get
. Se elencare più autorizzazioni, Policy Analyzer controllerà se sono presenti autorizzazioni elencate.STORAGE_OBJECT_URI
: l'identificatore della 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 delle seguenti 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.
Nei risultati sono elencate le tuple di {identity, role(s)/permission(s), resource}
insieme ai criteri IAM che le generano.