Analizza i criteri IAM

Questa pagina mostra come utilizzare l'Analizzatore criteri per scoprire quali entità (utenti, account di servizio, gruppi e domini) hanno un determinato accesso a quali risorse Google Cloud.

Gli esempi in questa pagina mostrano come eseguire una query di analisi dei criteri e visualizzare immediatamente i risultati. Se vuoi esportare i risultati per ulteriori analisi, puoi utilizzare AnalyzeIamPolicyLongrunning per scrivere i risultati delle query in BigQuery o 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. Non deve essere necessariamente la stessa risorsa a cui restringi l'ambito della query.

  • (Facoltativo) Scopri come funziona l'Analizzatore criteri.

Autorizzazioni e ruoli obbligatori

Per analizzare i criteri di autorizzazione sono necessari i ruoli e le autorizzazioni seguenti.

Ruoli IAM obbligatori

Per ottenere le autorizzazioni necessarie per analizzare un criterio di autorizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto, sulla cartella o sull'organizzazione a cui restringi l'ambito della query:

Per saperne di più sulla concessione dei ruoli, vedi Gestire l'accesso.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per analizzare un criterio di autorizzazione. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per analizzare un criterio di autorizzazione sono necessarie le seguenti autorizzazioni:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • 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 ruoli personalizzati o altri ruoli predefiniti.

Autorizzazioni di Google Workspace richieste

Se vuoi espandere i gruppi nei risultati delle query per vedere 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 di Gruppi e in ruoli più potenti, come quello di Amministratore di Gruppi o Super amministratore. Per scoprire come concedere questi ruoli, vedi Assegnare ruoli di amministratore specifici.

Determinare quali entità possono accedere a una risorsa

Puoi utilizzare l'Analizzatore criteri per verificare quali entità hanno determinati ruoli o autorizzazioni per una risorsa specifica nel progetto, nella cartella o nell'organizzazione. Per ottenere queste informazioni, crea una query che includa la risorsa per cui vuoi analizzare l'accesso e uno o più ruoli o autorizzazioni da verificare.

Console

  1. Nella console Google Cloud, vai alla pagina Analizzatore criteri.

    Vai alla pagina Analizzatore criteri

  2. Nella sezione Analizza i criteri, individua il riquadro denominato Query personalizzata e fai clic su Crea query personalizzata al suo interno.

  3. Nel campo Seleziona l'ambito della query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi definire l'ambito della query. L'Analizzatore criteri analizzerà l'accesso al progetto, alla cartella o all'organizzazione, nonché a tutte le risorse all'interno del progetto, della cartella o dell'organizzazione.

  4. Scegli la risorsa da controllare e il ruolo o l'autorizzazione da verificare:

    1. Nel campo Parametro 1, seleziona Risorsa dal menu a discesa.
    2. Nel campo Risorsa, inserisci il nome completo della risorsa di cui vuoi analizzare l'accesso. Se non conosci il nome completo della risorsa, inizia a digitare il nome visualizzato della risorsa, quindi selezionala dall'elenco delle risorse fornite.
    3. Fai clic su Aggiungi selettore.
    4. Nel campo Parametro 2, seleziona Ruolo o Autorizzazione.
    5. Nel campo Seleziona un ruolo o Seleziona un'autorizzazione, seleziona il ruolo o l'autorizzazione che vuoi controllare.
    6. (Facoltativo) Per verificare la presenza di altri ruoli e autorizzazioni, continua ad aggiungere i selettori Ruolo e Autorizzazione fino a quando non vengono elencati tutti i ruoli e le autorizzazioni che vuoi verificare.
  5. (Facoltativo) Fai clic su Continua, poi seleziona le opzioni avanzate da attivare per questa query.

  6. Nel riquadro Query personalizzata, fai clic su Analizza > Esegui query. La pagina del report mostra i parametri di ricerca inseriti e una tabella dei risultati di tutte le entità con i ruoli o le autorizzazioni specificati per la risorsa specificata.

    Le query di analisi dei criteri nella console Google Cloud vengono eseguite fino a un minuto. Dopo un minuto, la console Google Cloud interrompe la query e visualizza tutti i risultati disponibili. Se la query non è stata completata entro quel periodo di tempo, nella console Google Cloud viene visualizzato un banner che indica che i risultati sono incompleti. Per ottenere risultati completi per queste query, esporta i risultati in BigQuery.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, 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 valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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: il nome completo della risorsa di cui vuoi analizzare l'accesso. Per un elenco dei formati dei nomi completi delle risorse, vedi Formato del nome della risorsa.
  • PERMISSIONS: un elenco separato da virgole delle autorizzazioni che vuoi controllare, ad esempio compute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.

Esegui il comando gcloud asset analytics-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS'

Riceverai una risposta YAML con i risultati dell'analisi. Ogni risultato dell'analisi elenca un insieme di accessi, identità e risorse pertinenti per la tua query, seguito dalla relativa associazione di ruoli IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è CONDITIONAL.

Le entità che dispongono di una delle autorizzazioni specificate per la risorsa specificata sono elencate nei campi identities della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo identities evidenziato.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyze-iam-policy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

REST

Per determinare quali entità dispongono di determinate autorizzazioni su una risorsa, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare qualsiasi dato 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 valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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: il nome completo della risorsa di cui vuoi analizzare l'accesso. Per un elenco dei formati dei nomi completi delle risorse, vedi Formato del nome della risorsa.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: le autorizzazioni che vuoi controllare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.

Metodo HTTP e URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corpo JSON della richiesta:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Riceverai una risposta JSON con i risultati dell'analisi. Ogni risultato dell'analisi descrive un'associazione di ruoli IAM pertinente, quindi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è elencato come CONDITIONAL.

Le entità che dispongono di una delle autorizzazioni specificate per la risorsa specificata sono elencate nei campi identities della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo identities evidenziato.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyzeIamPolicy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

Determinare quali entità hanno determinati ruoli o autorizzazioni

Puoi utilizzare l'Analizzatore criteri per verificare quali entità hanno ruoli o autorizzazioni specifici su qualsiasi risorsa Google Cloud nella tua organizzazione. Per ottenere queste informazioni, crea una query che includa uno o più ruoli o autorizzazioni da controllare, ma non specifica una risorsa.

Console

  1. Nella console Google Cloud, vai alla pagina Analizzatore criteri.

    Vai alla pagina Analizzatore criteri

  2. Nella sezione Analizza i criteri, individua il riquadro denominato Query personalizzata e fai clic su Crea query personalizzata al suo interno.

  3. Nel campo Seleziona l'ambito della query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi definire l'ambito della query. L'Analizzatore criteri analizzerà l'accesso al progetto, alla cartella o all'organizzazione, nonché a tutte le risorse all'interno del progetto, della cartella o dell'organizzazione.

  4. Nel campo Parametro 1, seleziona Ruolo o Autorizzazione.

  5. Nel campo Seleziona un ruolo o Seleziona un'autorizzazione, scegli il ruolo o l'autorizzazione che vuoi verificare.

  6. (Facoltativo) Per verificare la presenza di altri ruoli e autorizzazioni, segui questi passaggi:

    1. Fai clic su Aggiungi selettore.
    2. Nel campo Parametro 2, seleziona Ruolo o Autorizzazione.
    3. Nel campo Seleziona un ruolo o Seleziona un'autorizzazione, seleziona il ruolo o l'autorizzazione che vuoi controllare.
    4. Continua ad aggiungere i selettori Ruolo e Autorizzazione fino a quando non vengono elencati tutti i ruoli e le autorizzazioni che vuoi verificare.
  7. (Facoltativo) Fai clic su Continua, poi seleziona le opzioni avanzate da attivare per questa query.

  8. Nel riquadro Query personalizzata, fai clic su Analizza > Esegui query. La pagina del report mostra i parametri di ricerca inseriti e una tabella dei risultati di tutte le entità con i ruoli o le autorizzazioni specificati per qualsiasi risorsa nell'ambito.

    Le query di analisi dei criteri nella console Google Cloud vengono eseguite fino a un minuto. Dopo un minuto, la console Google Cloud interrompe la query e visualizza tutti i risultati disponibili. Se la query non è stata completata entro quel periodo di tempo, nella console Google Cloud viene visualizzato un banner che indica che i risultati sono incompleti. Per ottenere risultati completi per queste query, esporta i risultati in BigQuery.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, 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 valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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.
  • ROLES: un elenco separato da virgole dei ruoli che vuoi controllare, ad esempio roles/compute.admin,roles/compute.imageUser. Se elenchi più ruoli, Policy Analyzer cercherà uno qualsiasi dei ruoli elencati.
  • PERMISSIONS: un elenco separato da virgole delle autorizzazioni che vuoi controllare, ad esempio compute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.

Esegui il comando gcloud asset analytics-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --roles='ROLES' \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --roles='ROLES' `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --roles='ROLES' ^
    --permissions='PERMISSIONS'

Riceverai una risposta JSON con i risultati dell'analisi. Ogni risultato dell'analisi descrive un'associazione di ruoli IAM pertinente, quindi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è elencato come CONDITIONAL.

Le entità che hanno uno qualsiasi dei ruoli o delle autorizzazioni specificati sono elencate nei campi identities della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo identities evidenziato.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  - role: roles/compute.admin
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyze-iam-policy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

REST

Per determinare quali entità hanno determinati ruoli o autorizzazioni, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare qualsiasi dato 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 valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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.
  • ROLE_1, ROLE_2... ROLE_N: i ruoli che vuoi controllare, ad esempio roles/compute.admin. Se elenchi più ruoli, l'Analizzatore criteri cercherà uno qualsiasi dei ruoli elencati.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: le autorizzazioni che vuoi controllare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.

Metodo HTTP e URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corpo JSON della richiesta:

{
  "analysisQuery": {
    "accessSelector": {
      "roles": [
        "ROLE_1",
        "ROLE_2",
        "ROLE_N"
      ],
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Riceverai una risposta JSON con i risultati dell'analisi. Ogni risultato dell'analisi descrive un'associazione di ruoli IAM pertinente, quindi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è elencato come CONDITIONAL.

Le entità che hanno uno qualsiasi dei ruoli o delle autorizzazioni specificati sono elencate nei campi identities della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo identities evidenziato.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "role": "roles/compute.admin"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyzeIamPolicy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

Determina l'accesso di un'entità a una risorsa

Puoi utilizzare l'Analizzatore criteri per verificare i ruoli o le autorizzazioni di un'entità per una risorsa della tua organizzazione. Per ottenere queste informazioni, crea una query che includa l'entità di cui vuoi analizzare l'accesso e la risorsa di cui vuoi analizzare l'accesso.

Console

  1. Nella console Google Cloud, vai alla pagina Analizzatore criteri.

    Vai alla pagina Analizzatore criteri

  2. Nella sezione Analizza i criteri, individua il riquadro denominato Query personalizzata e fai clic su Crea query personalizzata al suo interno.

  3. Nel campo Seleziona l'ambito della query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi definire l'ambito della query. L'Analizzatore criteri analizzerà l'accesso al progetto, alla cartella o all'organizzazione, nonché a tutte le risorse all'interno del progetto, della cartella o dell'organizzazione.

  4. Scegli la risorsa e l'entità da controllare:

    1. Nel campo Parametro 1, seleziona Risorsa dal menu a discesa.
    2. Nel campo Risorsa, inserisci il nome completo della risorsa di cui vuoi analizzare l'accesso. Se non conosci il nome completo della risorsa, inizia a digitare il nome visualizzato della risorsa, quindi selezionala dall'elenco delle risorse fornite.
    3. Fai clic su Aggiungi selettore.
    4. Nel campo Parametro 2, seleziona Entità dal menu a discesa.
    5. Nel campo Entità, inizia a digitare il nome di un utente, di un account di servizio o di un gruppo. Quindi, seleziona l'utente, l'account di servizio o il gruppo di cui vuoi analizzare l'accesso dall'elenco delle entità fornito.
  5. (Facoltativo) Fai clic su Continua, poi seleziona le opzioni avanzate da attivare per questa query.

  6. Nel riquadro Query personalizzata, fai clic su Analizza > Esegui query. La pagina del report mostra i parametri di ricerca che hai inserito e una tabella dei risultati di tutti i ruoli dell'entità specificata nella risorsa specificata.

    Le query di analisi dei criteri nella console Google Cloud vengono eseguite fino a un minuto. Dopo un minuto, la console Google Cloud interrompe la query e visualizza tutti i risultati disponibili. Se la query non è stata completata entro quel periodo di tempo, nella console Google Cloud viene visualizzato un banner che indica che i risultati sono incompleti. Per ottenere risultati completi per queste query, esporta i risultati in BigQuery.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, 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 valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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: il nome completo della risorsa di cui vuoi analizzare l'accesso. Per un elenco dei formati dei nomi completi delle risorse, vedi Formato del nome della risorsa.
  • 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à.

Esegui il comando gcloud asset analytics-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL

Riceverai una risposta YAML con i risultati dell'analisi. Ogni risultato dell'analisi elenca un insieme di accessi, identità e risorse pertinenti per la tua query, seguito dalla relativa associazione di ruoli IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è CONDITIONAL.

I ruoli dell'entità nella risorsa specificata sono elencati nei campi accesses della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo accesses evidenziato.

...
---
ACLs:
- accesses:
  - roles/iam.serviceAccountUser
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/iam.serviceAccountUser
---
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyze-iam-policy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

REST

Per determinare il tipo di accesso di un'entità a una risorsa, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare qualsiasi dato 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 valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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: il nome completo della risorsa di cui vuoi analizzare l'accesso. Per un elenco dei formati dei nomi completi delle risorse, vedi Formato del nome della risorsa.
  • 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à.

Metodo HTTP e URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corpo JSON della richiesta:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Riceverai una risposta JSON con i risultati dell'analisi. Ogni risultato dell'analisi descrive un'associazione di ruoli IAM pertinente, quindi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è elencato come CONDITIONAL.

I ruoli dell'entità nella risorsa specificata sono elencati nei campi accesses della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo accesses evidenziato.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/iam.serviceAccountUser",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "roles": "iam.serviceAccountUser"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyzeIamPolicy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

Determina a quali risorse può accedere un'entità

Puoi utilizzare l'Analizzatore criteri per verificare su quali risorse all'interno dell'organizzazione un'entità ha determinati ruoli o autorizzazioni. Per ottenere queste informazioni, crea una query che includa l'entità di cui vuoi analizzare l'accesso e una o più autorizzazioni o ruoli da verificare.

Console

  1. Nella console Google Cloud, vai alla pagina Analizzatore criteri.

    Vai alla pagina Analizzatore criteri

  2. Nella sezione Analizza i criteri, individua il riquadro denominato Query personalizzata e fai clic su Crea query personalizzata al suo interno.

  3. Nel campo Seleziona l'ambito della query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi definire l'ambito della query. L'Analizzatore criteri analizzerà l'accesso al progetto, alla cartella o all'organizzazione, nonché a tutte le risorse all'interno del progetto, della cartella o dell'organizzazione.

  4. Scegli l'entità da controllare e il ruolo o l'autorizzazione da controllare:

    1. Nel campo Parametro 1, seleziona Entità dal menu a discesa.
    2. Nel campo Entità, inizia a digitare il nome di un utente, di un account di servizio o di un gruppo. Quindi, seleziona l'utente, l'account di servizio o il gruppo di cui vuoi analizzare l'accesso dall'elenco delle entità fornito.
    3. Fai clic su Aggiungi selettore.
    4. Nel campo Parametro 2, seleziona Ruolo o Autorizzazione.
    5. Nel campo Seleziona un ruolo o Seleziona un'autorizzazione, seleziona il ruolo o l'autorizzazione che vuoi controllare.
    6. (Facoltativo) Per verificare la presenza di altri ruoli e autorizzazioni, continua ad aggiungere i selettori Ruolo e Autorizzazione fino a quando non vengono elencati tutti i ruoli e le autorizzazioni che vuoi verificare.
  5. (Facoltativo) Fai clic su Continua, poi seleziona le opzioni avanzate da attivare per questa query.

  6. Nel riquadro Query personalizzata, fai clic su Analizza > Esegui query. La pagina del report mostra i parametri di ricerca che hai inserito e una tabella dei risultati di tutte le risorse in cui l'entità specificata dispone delle autorizzazioni o dei ruoli specificati.

    Le query di analisi dei criteri nella console Google Cloud vengono eseguite fino a un minuto. Dopo un minuto, la console Google Cloud interrompe la query e visualizza tutti i risultati disponibili. Se la query non è stata completata entro quel periodo di tempo, nella console Google Cloud viene visualizzato un banner che indica che i risultati sono incompleti. Per ottenere risultati completi per queste query, esporta i risultati in BigQuery.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, 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 valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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à, consulta 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, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.

Esegui il comando gcloud asset analytics-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS'

Riceverai una risposta YAML con i risultati dell'analisi. Ogni risultato dell'analisi elenca un insieme di accessi, identità e risorse pertinenti per la tua query, seguito dalla relativa associazione di ruoli IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è CONDITIONAL.

Le risorse in cui l'entità specificata dispone di una delle autorizzazioni specificate sono elencate nei campi resources della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo resources evidenziato.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image
policy:
  attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyze-iam-policy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

REST

Per determinare a quali risorse può accedere un'entità, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare qualsiasi dato 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 valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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à, consulta Identificatori delle entità.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: le autorizzazioni che vuoi controllare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.

Metodo HTTP e URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corpo JSON della richiesta:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Riceverai una risposta JSON con i risultati dell'analisi. Ogni risultato dell'analisi descrive un'associazione di ruoli IAM pertinente, quindi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è elencato come CONDITIONAL.

Le risorse in cui l'entità specificata dispone di una delle autorizzazioni specificate sono elencate nei campi resources della risposta. L'esempio seguente mostra un singolo risultato dell'analisi con il campo resources evidenziato.

...
{
  "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyzeIamPolicy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

Determinare l'accesso in un momento specifico

Se viene fornito contesto sufficiente, l'Analizzatore criteri può analizzare le associazioni di ruoli condizionali IAM che concedono l'accesso solo in momenti specifici. Queste condizioni sono chiamate condizioni data/ora. Affinché l'Analizzatore criteri possa analizzare accuratamente le associazioni di ruoli con condizioni di data/ora, devi definire l'ora di accesso nella richiesta.

L'Analizzatore criteri può anche analizzare le condizioni delle risorse senza alcun input utente aggiuntivo. Per ulteriori informazioni su come funziona l'Analizzatore criteri con le condizioni, consulta Accesso condizionale.

gcloud

Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, 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 valore project, folder o organization.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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.
  • PERMISSIONS: Facoltativo. Un elenco separato da virgole delle autorizzazioni che vuoi controllare, ad esempio compute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.
  • 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 dei nomi delle risorse.
  • PERMISSIONS: Facoltativo. Un elenco separato da virgole delle autorizzazioni che vuoi controllare, ad esempio compute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se una qualsiasi di queste autorizzazioni è elencata.
  • ACCESS_TIME: l'ora che vuoi controllare. L'ora deve essere successiva a quella corrente. Utilizza un timestamp nel formato RFC 3339, ad esempio 2099-02-01T00:00:00Z.

Esegui il comando gcloud asset analytics-iam-policy:

Linux, macOS o Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS' \
    --access-time=ACCESS_TIME

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS' `
    --access-time=ACCESS_TIME

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS' ^
    --access-time=ACCESS_TIME

Riceverai una risposta YAML con i risultati dell'analisi. Ogni risultato dell'analisi elenca un insieme di accessi, identità e risorse pertinenti per la tua query, seguito dalla relativa associazione di ruoli IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è CONDITIONAL.

Quando includi l'ora di accesso nella richiesta, l'Analizzatore criteri può valutare le condizioni di data/ora. Se la condizione restituisce false, il ruolo non è incluso nella risposta. Se la condizione restituisce true, il risultato della valutazione della condizione è elencato come TRUE.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  conditionEvaluationValue: 'TRUE'
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    condition:
      expression: request.time.getHours("America/Los_Angeles") >= 5
      title: No access before 5am PST
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyze-iam-policy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

REST

Per determinare quali entità avranno determinate autorizzazioni su una risorsa in un momento specifico, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare qualsiasi dato 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 valore projects, folders o organizations.
  • RESOURCE_ID: l'ID del progetto, della cartella o dell'organizzazione Google Cloud a cui vuoi limitare la ricerca. Verranno analizzati solo i criteri di autorizzazione IAM associati 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.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facoltativo. Le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se sono elencate più autorizzazioni.
  • 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 dei nomi delle risorse.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facoltativo. Le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, l'Analizzatore criteri controllerà se sono elencate più autorizzazioni.
  • ACCESS_TIME: l'ora che vuoi controllare. L'ora deve essere successiva a quella corrente. Utilizza un timestamp nel formato RFC 3339, ad esempio 2099-02-01T00:00:00Z.

Metodo HTTP e URL:

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corpo JSON della richiesta:

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "conditionContext": {
      "accessTime": "ACCESS_TIME"
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Riceverai una risposta JSON con i risultati dell'analisi. Ogni risultato dell'analisi descrive un'associazione di ruoli IAM pertinente, quindi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi include anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è elencato come CONDITIONAL.

Quando includi l'ora di accesso nella richiesta, l'Analizzatore criteri può valutare le condizioni di data/ora. Se la condizione restituisce false, il ruolo non è incluso nella risposta. Se la condizione restituisce true, il valore di valutazione della condizione nella risposta dell'analisi è TRUE.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ],
    "condition": {
      "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5",
      "title": "No access before 5am PST"
    }
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ],
      "conditionEvaluation": {
        "evaluationValue": "TRUE"
      }
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Se la richiesta scade prima del termine della query, viene visualizzato un errore DEADLINE_EXCEEDED. Per ottenere risultati completi per queste query, scrivi i risultati in BigQuery o Cloud Storage utilizzando la versione a lunga esecuzione di analyzeIamPolicy. Per le istruzioni, consulta Scrivere l'analisi dei criteri in BigQuery o Scrivere l'analisi dei criteri in Cloud Storage.

Abilita opzioni

Puoi attivare le seguenti opzioni per ricevere risultati delle query più dettagliati.

Console

Opzione Descrizione
Elenco delle risorse contenute in quelle che soddisfano i criteri della query Se abiliti questa opzione, nei risultati della query vengono elencate fino a 1000 risorse discendenti pertinenti per eventuali risorse padre (progetti, cartelle e organizzazioni) nei risultati della query.
Elenca singoli utenti all'interno dei gruppi

Se abiliti questa opzione, tutti i gruppi nei risultati della query vengono espansi in singoli membri. Se disponi di autorizzazioni di gruppo sufficienti, verranno espansi anche i gruppi nidificati. Questa espansione è limitata a 1000 membri per gruppo.

Questa opzione è disponibile solo se non specifichi un'entità nella query.

Elenca autorizzazioni all'interno dei ruoli

Se abiliti questa opzione, nei risultati della query verranno elencate tutte le autorizzazioni all'interno di ciascun ruolo oltre al ruolo stesso.

Questa opzione è disponibile solo se non specifichi autorizzazioni o ruoli nella query.

gcloud

Questa sezione descrive diversi flag comuni che puoi aggiungere quando utilizzi lgcloud CLI per analizzare i criteri di autorizzazione. Per un elenco completo delle opzioni, consulta Flag facoltativi.

Flag Descrizione
--analyze-service-account-impersonation

Se questa opzione è abilitata, l'Analizzatore criteri esegue query di analisi aggiuntive per determinare chi può impersonare gli account di servizio che hanno l'accesso specificato alle risorse specificate. L'Analizzatore criteri esegue una query per ogni account di servizio nei risultati delle query. Queste query analizzano chi dispone di una delle seguenti autorizzazioni per l'account di servizio:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Si tratta di un'operazione molto costosa perché esegue automaticamente molte query. Ti consigliamo vivamente di esportare i dati in BigQuery o di esportarli in Cloud Storage utilizzando analyze-iam-policy-longrunning anziché analyze-iam-policy.

--expand-groups

Se abiliti questa opzione, tutti i gruppi nei risultati della query vengono espansi in singoli membri. Se disponi di autorizzazioni di gruppo sufficienti, verranno espansi anche i gruppi nidificati. Questa espansione è limitata a 1000 membri per gruppo.

Questa opzione è efficace solo se non specifichi un'entità nella query.

--expand-resources Se abiliti questa opzione, nei risultati della query vengono elencate fino a 1000 risorse discendenti pertinenti per eventuali risorse padre (progetti, cartelle e organizzazioni) nei risultati della query.
--expand-roles

Se abiliti questa opzione, nei risultati della query verranno elencate tutte le autorizzazioni all'interno di ciascun ruolo oltre al ruolo stesso.

Questa opzione è disponibile solo se non specifichi autorizzazioni o ruoli nella query.

--output-group-edges Se abiliti questa opzione, i risultati della query restituiscono le relazioni di appartenenza pertinenti tra i gruppi.
--output-resource-edges Se abiliti questa opzione, i risultati della query generano le relazioni padre/figlio pertinenti tra le risorse.

REST

Per abilitare eventuali opzioni, aggiungi prima un campo options alla query di analisi. Ad esempio:

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
    },
    "accessSelector": {
      "permissions": [
        "iam.roles.get",
        "iam.roles.list"
      ]
   },
   "options": {
     OPTIONS
   }
  }
}

Sostituisci OPTIONS con le opzioni che vuoi attivare, nel formato "OPTION": true. La seguente tabella descrive le opzioni disponibili:

Opzione Descrizione
analyzeServiceAccountImpersonation

Se questa opzione è abilitata, l'Analizzatore criteri esegue query di analisi aggiuntive per determinare chi può impersonare gli account di servizio che hanno l'accesso specificato alle risorse specificate. L'Analizzatore criteri esegue una query per ogni account di servizio nei risultati delle query. Queste query analizzano chi dispone di una delle seguenti autorizzazioni per l'account di servizio:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Si tratta di un'operazione molto costosa perché esegue automaticamente molte query. Ti consigliamo vivamente di esportare i dati in BigQuery o di esportarli in Cloud Storage utilizzando AnalyzeIamPolicyLongrunning anziché AnalyzeIamPolicy.

expandGroups

Se abiliti questa opzione, tutti i gruppi nei risultati della query vengono espansi in singoli membri. Se disponi di autorizzazioni di gruppo sufficienti, verranno espansi anche i gruppi nidificati. Questa espansione è limitata a 1000 membri per gruppo.

Questa opzione è efficace solo se non specifichi un'entità nella query.

expandResources Se abiliti questa opzione, nei risultati della query vengono elencate fino a 1000 risorse discendenti pertinenti per eventuali risorse padre (progetti, cartelle e organizzazioni) nei risultati della query.
expandRoles

Se abiliti questa opzione, nei risultati della query verranno elencate tutte le autorizzazioni all'interno di ciascun ruolo oltre al ruolo stesso.

Questa opzione è disponibile solo se non specifichi autorizzazioni o ruoli nella query.

outputGroupEdges Se abiliti questa opzione, i risultati della query restituiscono le relazioni di appartenenza pertinenti tra i gruppi.
outputResourceEdges Se abiliti questa opzione, i risultati della query generano le relazioni padre/figlio pertinenti tra le risorse.

Passaggi successivi