Scrivi l'analisi dei criteri in Cloud Storage

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

Enable the Cloud Asset API.

Enable the API

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 una policy ed esportare i risultati in BigQuery, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto, la cartella o l'organizzazione a cui limiterai l'ambito della query:

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 una policy ed esportare i risultati in BigQuery. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per analizzare una policy 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 verificare se un principal dispone di determinati ruoli o autorizzazioni in seguito alla sua appartenenza a un gruppo Google Workspace, devi disporre dell'autorizzazione groups.read Google Workspace. Questa autorizzazione è contenuta nel ruolo Amministratore lettore gruppi e in ruoli più potenti come Amministratore gruppi o Super amministratore. Per saperne di più, vedi Assegnare ruoli di amministratore specifici.

Analizzare le norme ed esportare i risultati

Il metodo AnalyzeIamPolicyLongrunning 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, apporta le seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Utilizza il valore project, folder o organization.
  • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • PRINCIPAL: l'entità di cui vuoi analizzare l'accesso, nel formato PRINCIPAL_TYPE:ID, ad esempio user:my-user@example.com. Per un elenco completo dei tipi di entità, vedi Identificatori delle entità.
  • PERMISSIONS: un elenco separato da virgole delle autorizzazioni che vuoi controllare, ad esempio compute.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 univoco della risorsa dell'oggetto Cloud Storage a cui vuoi esportare i risultati dell'analisi, nel formato gs://BUCKET_NAME/OBJECT_NAME, ad esempio gs://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 seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del Google Cloud progetto, della cartella o dell'organizzazione a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM collegati a questa risorsa e ai relativi discendenti. Gli ID progetto sono stringhe alfanumeriche, come my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • FULL_RESOURCE_NAME: (Facoltativo). Il nome risorsa completo della risorsa per cui vuoi analizzare l'accesso. Per un elenco dei formati dei nomi delle risorse completi, vedi Formato del nome della risorsa.
  • PRINCIPAL: (Facoltativo). Il principal di cui vuoi analizzare l'accesso, nel formato PRINCIPAL_TYPE:ID, ad esempio, user:my-user@example.com. Per un elenco completo dei tipi di entità, vedi Identificatori delle entità.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facoltativo. Le autorizzazioni che vuoi controllare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, Analizzatore criteri verificherà la presenza di una qualsiasi delle autorizzazioni elencate.
  • STORAGE_OBJECT_URI: l'identificatore univoco della risorsa dell'oggetto Cloud Storage a cui vuoi esportare i risultati dell'analisi, nel formato gs://BUCKET_NAME/OBJECT_NAME, ad esempio gs://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:

  1. Nella console Google Cloud , vai alla pagina Bucket.

    Vai a Bucket

  2. Apri il nuovo file in cui hai scritto l'analisi.

I risultati elencano le tuple di {identity, role(s)/permission(s), resource} insieme alle policy IAM che generano queste tuple.