Scrivere 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 in Cloud Storage. La funzionalità è in gran parte equivalente alle analisi dei criteri IAM, tranne che per il risultato dell'analisi scritto in un bucket Cloud Storage.

Prima di iniziare

Attiva Cloud Asset API.

Abilita l'API

Devi abilitare l'API nel progetto o nell'organizzazione che utilizzerai per inviare la query. La risorsa non deve necessariamente essere la stessa a cui è limitata l'ambito della query.

Autorizzazioni e ruoli 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 al tuo amministratore di concederti i seguenti ruoli IAM per il progetto, la cartella o l'organizzazione a cui è limitata l'ambito della query.

  • Visualizzatore Cloud Asset (roles/cloudasset.viewer)
  • Creatore oggetti Storage (roles/storage.objectCreator)
  • Per analizzare i criteri con ruoli IAM personalizzati: Visualizzatore ruoli (roles/iam.roleViewer)
  • Per utilizzare l'interfaccia a riga di comando di Google Cloud per analizzare i criteri: Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)

Per ulteriori informazioni 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 esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

  • 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 l'interfaccia a riga di comando di Google Cloud per analizzare i criteri: serviceusage.services.use

Potresti anche essere in grado di ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Autorizzazioni richieste per Google Workspace

Per verificare se un'entità dispone di determinati ruoli o autorizzazioni a causa della sua appartenenza a un gruppo Google Workspace, devi disporre dell'autorizzazione groups.readGoogle Workspace. Questa autorizzazione è contenuta nel ruolo Amministratore Lettore dei gruppi e in ruoli più efficaci, ad esempio i ruoli di Amministratore di Gruppi o di super amministratore. Per ulteriori informazioni, consulta Assegnare ruoli di amministratore specifici.

Chiamata a AnalyzeIamPolicyLongrunning

Il metodo AnalyzeIamPolicyLongrunning ti consente di emettere una richiesta di analisi e ottenere risultati nel bucket Cloud Storage specificato.

gcloud

Prima di utilizzare i dati di comando riportati di seguito, apporta le seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi limitare la ricerca. Verranno analizzati soltanto i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Utilizza il valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud che vuoi utilizzare per l'ambito della ricerca. Verranno analizzati soltanto i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Gli ID progetto sono stringhe alfanumeriche come my-project. Gli ID di cartelle e organizzazioni sono numerici, come 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à, consulta Identificatori delle entità.
  • PERMISSIONS: un elenco separato da virgole delle autorizzazioni per le quali vuoi controllare, ad esempio compute.instances.get,compute.instances.start. Se indichi più autorizzazioni, Analizzatore criteri verifica la presenza di autorizzazioni.
  • STORAGE_OBJECT_URI: l'identificatore univoco della risorsa dell'oggetto Cloud Storage in 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 analytics-iam-policy-longrun:

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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa per cui vuoi limitare la ricerca. Verranno analizzati soltanto i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud che vuoi utilizzare per l'ambito della ricerca. Verranno analizzati soltanto i criteri di autorizzazione IAM associati a questa risorsa e ai suoi discendenti. Gli ID progetto sono stringhe alfanumeriche come my-project. Gli ID di cartelle e organizzazioni sono numerici, come 123456789012.
  • 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, consulta Formato del nome della risorsa.
  • PRINCIPAL: facoltativo. 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à, consulta Identificatori delle entità.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facoltativo. Le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenca più autorizzazioni, Analizzatore criteri verifica la presenza di autorizzazioni elencate.
  • STORAGE_OBJECT_URI: l'identificatore univoco della risorsa dell'oggetto Cloud Storage in 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 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"
  }
}

Visualizzazione dei risultati di analisi dei criteri IAM

Per visualizzare i risultati dell'analisi dei criteri IAM:

  1. Nella console, vai alla pagina Browser.

    Vai al browser

  2. Apri il nuovo file in cui hai scritto la tua analisi.

I risultati elencano le tupla {identity, role(s)/permission(s), resource} insieme ai criteri IAM che le hanno generate.