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 e a quali risorse Google Cloud.

Gli esempi in questa pagina mostrano come eseguire una query di analisi delle norme 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 hai limitato l'ambito della query.

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

Autorizzazioni e ruoli richiesti

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

Ruoli IAM richiesti

Per ottenere le autorizzazioni necessarie per analizzare un criterio di autorizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione a cui vuoi applicare la query:

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per analizzare un criterio di autorizzazione. Per visualizzare le autorizzazioni esatte necessarie, 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 i ruoli personalizzati o altri ruoli predefiniti.

Autorizzazioni Google Workspace richieste

Se vuoi espandere i gruppi nei risultati delle query per verificare se un'entità dispone di determinati ruoli o autorizzazioni in seguito all'appartenenza a un gruppo Google Workspace, devi disporre dell'autorizzazione groups.read Google Workspace. Questa autorizzazione è inclusa nel ruolo Amministratore lettore gruppi e in ruoli più potenti, come i ruoli Amministratore di gruppi o Super amministratore. Per scoprire come concedere questi ruoli, consulta Assegnare ruoli di amministratore specifici.

Determina quali entità possono accedere a una risorsa

Puoi utilizzare l'Analizzatore criteri per verificare quali entità hanno determinati ruoli o autorizzazioni su 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 Analisi dei criteri

  2. Nella sezione Analizza criteri, individua il riquadro Query personalizzata e fai clic su Crea query personalizzata in quel riquadro.

  3. Nel campo Seleziona ambito query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi limitare la query. Policy Analyzer analizzerà l'accesso per il progetto, la cartella o l'organizzazione, nonché per 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, poi 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 verificare.
    6. (Facoltativo) Per verificare la presenza di autorizzazioni e ruoli aggiuntivi, continua ad aggiungere 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 che vuoi 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 questo periodo di tempo, la console Google Cloud mostra 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 completi dei nomi delle risorse, consulta 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, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.

Esegui il comando gcloud asset analyze-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 alla query, seguito dalla relativa associazione del ruolo IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è CONDITIONAL.

Le entità che dispongono di una qualsiasi 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 completamento della query, ricevi 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 i dati 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 completi dei nomi delle risorse, consulta Formato del nome della risorsa.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.

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, poi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione del ruolo è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato viene elencato come CONDITIONAL.

Le entità che dispongono di una qualsiasi 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 completamento della query, ricevi 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 verificare, ma non specifica una risorsa.

Console

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

    Vai alla pagina Analisi dei criteri

  2. Nella sezione Analizza criteri, individua il riquadro Query personalizzata e fai clic su Crea query personalizzata in quel riquadro.

  3. Nel campo Seleziona ambito query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi limitare la query. Policy Analyzer analizzerà l'accesso per il progetto, la cartella o l'organizzazione, nonché per 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, seleziona il ruolo o l'autorizzazione che vuoi verificare.

  6. (Facoltativo) Per verificare la presenza di ruoli e autorizzazioni aggiuntivi, 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 verificare.
    4. Continua ad aggiungere i selettori di 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 che vuoi 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 questo periodo di tempo, la console Google Cloud mostra 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 verificare, ad esempio roles/compute.admin,roles/compute.imageUser. Se elenchi più ruoli, Policy Analyzer verifica se sono presenti più 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, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.

Esegui il comando gcloud asset analyze-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, poi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione del ruolo è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato viene 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 completamento della query, ricevi 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 i dati 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 verificare, ad esempio roles/compute.admin. Se elenchi più ruoli, Policy Analyzer cercherà uno qualsiasi dei ruoli elencati.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.

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, poi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione del ruolo è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato viene 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 completamento della query, ricevi 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 Analisi dei criteri

  2. Nella sezione Analizza criteri, individua il riquadro Query personalizzata e fai clic su Crea query personalizzata in quel riquadro.

  3. Nel campo Seleziona ambito query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi limitare la query. Policy Analyzer analizzerà l'accesso per il progetto, la cartella o l'organizzazione, nonché per 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, poi 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 dall'elenco delle entità fornite l'utente, l'account di servizio o il gruppo di cui vuoi analizzare l'accesso.
  5. (Facoltativo) Fai clic su Continua, poi seleziona le opzioni avanzate che vuoi 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 questo periodo di tempo, la console Google Cloud mostra 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 completi dei nomi delle risorse, consulta 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 analyze-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 alla query, seguito dalla relativa associazione del ruolo IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi includerà 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 completamento della query, ricevi 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 l'accesso di un'entità a una risorsa, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare i dati 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 completi dei nomi delle risorse, consulta 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, poi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione del ruolo è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato viene 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 completamento della query, ricevi 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à dispone di 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 che vuoi verificare.

Console

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

    Vai alla pagina Analisi dei criteri

  2. Nella sezione Analizza criteri, individua il riquadro Query personalizzata e fai clic su Crea query personalizzata in quel riquadro.

  3. Nel campo Seleziona ambito query, seleziona il progetto, la cartella o l'organizzazione a cui vuoi limitare la query. Policy Analyzer analizzerà l'accesso per il progetto, la cartella o l'organizzazione, nonché per 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 verificare:

    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 dall'elenco delle entità fornite l'utente, l'account di servizio o il gruppo di cui vuoi analizzare l'accesso.
    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 verificare.
    6. (Facoltativo) Per verificare la presenza di ulteriori ruoli e autorizzazioni, continua ad aggiungere 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 che vuoi 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 dei ruoli o delle autorizzazioni 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 questo periodo di tempo, la console Google Cloud mostra 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, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.

Esegui il comando gcloud asset analyze-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 alla query, seguito dalla relativa associazione del ruolo IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi includerà 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 qualsiasi 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 completamento della query, ricevi 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 i dati 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 verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.

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, poi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione del ruolo è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato viene elencato come CONDITIONAL.

Le risorse in cui l'entità specificata dispone di una qualsiasi 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 completamento della query, ricevi 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 in un orario specifico

Se viene fornito un contesto sufficiente, Policy Analyzer può analizzare le associazioni dei ruoli condizionali IAM che concedono l'accesso solo in momenti specifici. Queste condizioni sono chiamate condizioni data/ora. Per consentire a Policy Analyzer di analizzare accuratamente le associazioni di ruoli con condizioni di data/ora, devi definire la data e l'ora di accesso nella richiesta.

Policy Analyzer può anche analizzare le condizioni delle risorse senza alcun input utente aggiuntivo. Per ulteriori informazioni su come funziona Policy Analyzer 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 verificare, ad esempio compute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.
  • 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 delle risorse.
  • PERMISSIONS: Facoltativo. Un elenco separato da virgole delle autorizzazioni che vuoi verificare, ad esempio compute.instances.get,compute.instances.start. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi delle autorizzazioni elencate.
  • ACCESS_TIME: l'ora che vuoi controllare. Questo orario deve essere nel futuro. Utilizza un timestamp in formato RFC 3339, ad esempio 2099-02-01T00:00:00Z.

Esegui il comando gcloud asset analyze-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 alla query, seguito dalla relativa associazione del ruolo IAM. Se l'associazione dei ruoli è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato è CONDITIONAL.

Quando includi la data e l'ora di accesso nella richiesta, Policy Analyzer può valutare le condizioni di data e ora. Se la condizione restituisce false, il ruolo non viene incluso nella risposta. Se la condizione restituisce il valore true, il risultato della valutazione della condizione è indicato 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 completamento della query, ricevi 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 determinato momento, utilizza il metodo analyzeIamPolicy dell'API Cloud Asset Inventory.

Prima di utilizzare i dati 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: facoltativi. Le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi di quelle elencate.
  • 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 delle risorse.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facoltativi. Le autorizzazioni che vuoi verificare, ad esempio compute.instances.get. Se elenchi più autorizzazioni, Policy Analyzer verifica la presenza di una qualsiasi di quelle elencate.
  • ACCESS_TIME: l'ora che vuoi controllare. Questo orario deve essere nel futuro. Utilizza un timestamp in 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, poi elenca la risorsa, gli accessi e le entità in tale associazione. Se l'associazione del ruolo è condizionale, il risultato dell'analisi includerà anche il risultato della valutazione della condizione. Se non è stato possibile valutare la condizione, il risultato viene elencato come CONDITIONAL.

Quando includi la data e l'ora di accesso nella richiesta, Policy Analyzer può valutare le condizioni di data e ora. Se la condizione restituisce false, il ruolo non viene 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 completamento della query, ricevi 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.

Attiva opzioni

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

Console

Opzione Descrizione
Elenco delle risorse contenute in quelle che soddisfano i criteri della query Se abiliti questa opzione, i risultati della query elencano fino a 1000 risorse discendenti pertinenti per qualsiasi risorsa 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 ha un limite di 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 vengono elencate tutte le autorizzazioni all'interno di ciascun ruolo oltre al ruolo stesso.

Questa opzione è disponibile solo se non specifichi alcuna autorizzazione o ruolo nella query.

gcloud

Questa sezione descrive diversi flag comuni che puoi aggiungere quando utilizzi gcloud 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, Policy Analyzer esegue ulteriori query di analisi per determinare chi può impersonare gli account di servizio che hanno l'accesso specificato alle risorse specificate. Policy Analyzer esegue una query per ogni account di servizio nei risultati della query. Queste query analizzano gli utenti che dispongono 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 in BigQuery o esportare 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 ha un limite di 1000 membri per gruppo.

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

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

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

Questa opzione è disponibile solo se non specifichi alcuna autorizzazione o ruolo nella query.

--output-group-edges Se attivi questa opzione, i risultati della query generano 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 una qualsiasi opzione, aggiungi prima un campo options alla tua 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, Policy Analyzer esegue ulteriori query di analisi per determinare chi può impersonare gli account di servizio che hanno l'accesso specificato alle risorse specificate. Policy Analyzer esegue una query per ogni account di servizio nei risultati della query. Queste query analizzano gli utenti che dispongono 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 in BigQuery o esportare 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 ha un limite di 1000 membri per gruppo.

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

expandResources Se abiliti questa opzione, i risultati della query elencano fino a 1000 risorse discendenti pertinenti per qualsiasi risorsa padre (progetti, cartelle e organizzazioni) nei risultati della query.
expandRoles

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

Questa opzione è disponibile solo se non specifichi alcuna autorizzazione o ruolo nella query.

outputGroupEdges Se attivi questa opzione, i risultati della query generano 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