Analizzatore criteri per criteri IAM

Policy Analyzer consente di scoprire quali entità (ad esempio utenti, account di servizio, gruppi e domini) hanno un determinato accesso a quali risorse Google Cloud in base ai criteri di autorizzazione IAM.

Policy Analyzer può aiutarti a rispondere a domande come queste:

  • Chi può accedere a questo account di servizio IAM?
  • Chi può leggere i dati in questo set di dati BigQuery che contiene informazioni che consentono lPII;identificazione personale?
  • Quali ruoli e autorizzazioni dispone il gruppo dev-testers su qualsiasi risorsa di questo progetto?
  • Quali istanze di macchine virtuali (VM) Compute Engine possono essere eliminate nel progetto A?
  • Chi può accedere a questo bucket Cloud Storage alle 19?

Come funziona Policy Analyzer

Per utilizzare Policy Analyzer, devi creare una query di analisi, specificare un ambito per l'analisi ed eseguire la query.

Query di analisi

Per utilizzare Policy Analyzer, crea una query di analisi specificando uno o più dei seguenti campi:

  • Entità: le identità (ad esempio utenti, account di servizio, gruppi e domini) di cui vuoi controllare l'accesso
  • Accesso: le autorizzazioni e i ruoli che vuoi controllare.
  • Risorse: le risorse di cui vuoi controllare l'accesso.
  • (Solo API) Contesto della condizione: il contesto, ad esempio l'ora del giorno, in cui vuoi controllare l'accesso

In genere, specifichi uno o due di questi campi nella query di analisi e poi utilizzi i risultati della query per ottenere ulteriori informazioni sui campi non specificati. Ad esempio, se vuoi sapere chi dispone di una determinata autorizzazione su una determinata risorsa, devi specificare l'accesso e la risorsa nella query di analisi, ma non l'entità.

Per altri esempi dei tipi di query che puoi creare, consulta Tipi di query comuni.

Ambito dell'analisi

Per eseguire una query di analisi, devi specificare un ambito da analizzare. L'ambito è un'organizzazione, una cartella o un progetto a cui vuoi limitare l'analisi. Verranno analizzati solo i criteri di autorizzazione IAM associati alla risorsa utilizzata come ambito e ai relativi discendenti.

Nell'API REST e in gcloud CLI, devi specificare l'ambito manualmente. Nella console Google Cloud, l'ambito viene determinato automaticamente in base al progetto, alla cartella o all'organizzazione che stai gestendo attualmente.

Dopo aver creato una query di analisi e specificato l'ambito, puoi eseguire la query per analizzare i criteri in quell'ambito.

Risultati delle query

Quando esegui una query di analisi, Policy Analyzer segnala tutte le associazioni di ruoli contenenti le entità, l'accesso e le risorse specificati nella query. Per ogni associazione di ruolo, riporta le entità nell'associazione, l'accesso (ruolo e autorizzazioni) concessi dall'associazione e la risorsa a cui l'associazione concede l'accesso.

Puoi esaminare questi risultati per comprendere meglio l'accesso nel progetto, nella cartella o nell'organizzazione. Ad esempio, se esegui una query per scoprire quali entità hanno accesso a una risorsa specifica, esamineresti le entità nei risultati della query.

Puoi modificare le informazioni nei risultati delle query attivando le opzioni di query.

Tipi di criteri supportati

IAM Policy Analyzer supporta solo i criteri di autorizzazione IAM.

Policy Analyzer non supporta i seguenti tipi di controllo dell'accesso dell'accesso:

I risultati delle query di Policy Analyzer non tengono conto dei tipi di criteri non supportati. Ad esempio, immagina che un utente abbia l'autorizzazione iam.roles.get su un progetto a causa di un criterio di autorizzazione, ma un criterio di negazione gli impedisce di utilizzare l'autorizzazione. Policy Analyzer riporterà che dispone dell'autorizzazione iam.roles.get nonostante il criterio di negazione.

Ereditarietà dei criteri

Per tenere conto dell'ereditarietà dei criteri, Policy Analyzer analizza automaticamente tutti i criteri di autorizzazione pertinenti all'interno dell'ambito specificato, indipendentemente da dove si trovano nella gerarchia delle risorse.

Ad esempio, immagina di dover scoprire chi può accedere a un account di servizio IAM:

  • Se limiti l'ambito della query a un progetto, Policy Analyzer analizza il criterio di autorizzazione dell'account di servizio e il criterio di autorizzazione del progetto.
  • Se limiti l'ambito della query a un'organizzazione, Policy Analyzer analizza il criterio di autorizzazione dell'account di servizio, il criterio di autorizzazione del progetto proprietario dell'account di servizio, i criteri di autorizzazione di eventuali cartelle contenenti il progetto e il criterio di autorizzazione dell'organizzazione.

Accesso condizionato

Se un'associazione di ruoli ha una condizione, concede l'accesso a un'entità solo quando questa condizione è soddisfatta. Policy Analyzer segnala sempre le condizioni associate alle associazioni di ruoli pertinenti. Le associazioni di ruoli pertinenti sono associazioni di ruoli che contengono le entità, l'accesso e le risorse specificati nella query di analisi.

In alcuni casi, Policy Analyzer può anche analizzare la condizione, il che significa che può segnalare se la condizione sarebbe soddisfatta. Policy Analyzer può analizzare i seguenti tipi di condizioni:

Se un'associazione di ruoli pertinente contiene una condizione, Policy Analyzer esegue una delle seguenti operazioni:

  • Se Policy Analyzer è in grado di analizzare la condizione, effettua una delle seguenti operazioni:

    • Se la condizione è true, Policy Analyzer include l'associazione dei ruoli nei risultati della query e contrassegna la valutazione della condizione come TRUE.
    • Se la condizione è false, Policy Analyzer non include il ruolo nei risultati della query.
  • Se Policy Analyzer non può analizzare una condizione per un'associazione di ruoli pertinente, include il ruolo nei risultati della query e contrassegna la valutazione della condizione come CONDITIONAL.

Aggiornamento dei dati

Policy Analyzer utilizza l'API Cloud Asset, che garantisce l'aggiornamento dei dati secondo il criterio del "best effort". Sebbene quasi tutti gli aggiornamenti dei criteri vengano visualizzati in Policy Analyzer nel giro di pochi minuti, è possibile che non vengano inclusi gli aggiornamenti dei criteri più recenti.

Tipi di query comuni

Questa sezione descrive come utilizzare le query di analisi per rispondere a domande comuni relative all'accesso.

Quali entità possono accedere a questa risorsa?

Per determinare quali entità possono accedere a una risorsa, crea una query di analisi che specifichi la risorsa e, facoltativamente, i ruoli e le autorizzazioni che vuoi verificare.

Queste query possono aiutarti a rispondere a domande come le seguenti:

  • Chi ha accesso a questo account di servizio IAM?
  • Chi ha l'autorizzazione per impersonare questo account di servizio IAM?
  • Chi sono gli amministratori della fatturazione del progetto A?
  • (Solo API e gcloud CLI): Chi può aggiornare il progetto A rubando l'identità di un account di servizio?

Per scoprire come creare e inviare queste query, consulta Determinare quali entità possono accedere a una risorsa.

Quali entità hanno questi ruoli e queste autorizzazioni?

Per determinare quali entità hanno determinati ruoli e autorizzazioni, crea una query di analisi che specifichi un'entità e un insieme di ruoli e autorizzazioni che vuoi verificare.

Queste query possono aiutarti a rispondere a domande come le seguenti:

  • Chi è autorizzato a impersonare account di servizio nella mia organizzazione?
  • Chi sono gli amministratori della fatturazione nella mia organizzazione?
  • Chi può leggere i dati in questo set di dati BigQuery che contengono informazioni che consentono l'identificazione personale (PII)?
  • (Solo API e gcloud CLI): chi nella mia organizzazione può leggere un set di dati BigQuery impersonando un account di servizio?

Per scoprire come creare e inviare queste query, consulta Determinare quali entità hanno determinati ruoli o autorizzazioni.

Quali ruoli e autorizzazioni ha questa entità per questa risorsa?

Per determinare i ruoli e le autorizzazioni di un'entità per una risorsa specifica, crea una query di analisi che specifichi un'entità e una risorsa per cui vuoi verificare le autorizzazioni.

Queste query possono aiutarti a rispondere a domande come le seguenti:

  • Quali ruoli e autorizzazioni ha l'utente Sasha in questo set di dati BigQuery?
  • Quali ruoli e autorizzazioni dispone il gruppo dev-testers su qualsiasi risorsa di questo progetto?
  • (Solo API e gcloud CLI): quali ruoli e autorizzazioni ha l'utente Dana in questo set di dati BigQuery se Dana assume l'identità di un account di servizio?

Per scoprire come creare e inviare queste query, consulta Determinare l'accesso di un'entità a una risorsa.

A quali risorse può accedere questa entità?

Per determinare a quali risorse può accedere un'entità specifica, crea una query di analisi che specifichi un'entità e i ruoli e le autorizzazioni che vuoi verificare.

Queste query possono aiutarti a rispondere a domande come le seguenti:

  • Quali set di dati BigQuery può leggere l'utente Mahan?
  • Di quali set di dati BigQuery è il gruppo dev-testers di cui è proprietario i dati?
  • Quali VM possono essere eliminate nel progetto A?
  • (Solo API e gcloud CLI): quali VM può eliminare l'utente John impersonando un account di servizio?

Per scoprire come creare e inviare queste query, consulta Determinare a quali risorse può accedere un'entità.

Query di analisi salvate

Se usi l'API REST, puoi salvare le query di analisi per riutilizzarle o condividerle con altri. Puoi eseguire una query salvata come faresti con qualsiasi altra query.

Per scoprire di più sul salvataggio delle query, consulta Gestire le query salvate.

Esporta i risultati della query

Puoi eseguire le query in modo asincrono ed esportare i risultati delle query in BigQuery o Cloud Storage utilizzando analyzeIamPolicyLongrunning.

Per scoprire come esportare i risultati delle query in BigQuery, consulta Scrivere l'analisi dei criteri in BigQuery.

Per informazioni su come esportare i risultati delle query in Cloud Storage, consulta Scrivere l'analisi dei criteri in Cloud Storage.

Opzioni query

Policy Analyzer offre diverse opzioni che aggiungono ulteriori dettagli ai risultati delle query.

Per scoprire come attivare queste opzioni, vedi Attivare le opzioni.

Espansione del gruppo

Se attivi l'espansione dei gruppi, tutti i gruppi nei risultati della query vengono espansi in singoli membri. Questa espansione ha un limite di 1000 membri per gruppo. Se disponi di autorizzazioni di gruppo sufficienti, verranno espansi anche i gruppi nidificati. Questa opzione è valida solo se non specifichi un'entità nella query.

Ad esempio, immagina di abilitare l'espansione del gruppo per la query "Chi ha l'autorizzazione storage.buckets.delete per project-1?" Se Analizzatore criteri trova gruppi che hanno l'autorizzazione storage.buckets.delete, nei risultati della query non verrà mostrato solo l'identificatore del gruppo, ma anche tutti i singoli membri del gruppo.

Questa opzione consente di comprendere l'accesso dei singoli utenti, anche se questo è il risultato della loro appartenenza a un gruppo.

Espansione del ruolo

Se abiliti l'espansione dei ruoli, 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 autorizzazioni o ruoli nella query.

Ad esempio, immagina di abilitare l'espansione del ruolo per la query "Quale accesso ha my-user@example.com al bucket bucket-1?" Se Analizzatore criteri trova dei ruoli che concedono l'accesso a my-user@example.com a bucket-1, nei risultati della query verranno elencati non solo il nome del ruolo, ma anche tutte le autorizzazioni incluse nel ruolo.

Questa opzione consente di vedere esattamente quali autorizzazioni dispongono delle entità.

Espansione delle risorse

Se abiliti l'espansione delle risorse per una query di Policy Analyzer, nei risultati della query vengono elencate tutte le risorse discendenti pertinenti per eventuali risorse padre (progetti, cartelle e organizzazioni) nei risultati della query. Questa espansione è limitata a 1000 risorse per risorsa padre per le query Policy Analyzer e 100.000 risorse per risorsa padre per le query Policy Analyzer a lunga esecuzione.

Ad esempio, considera in che modo l'espansione delle risorse potrebbe influire sulle seguenti query:

  • Chi ha l'autorizzazione storage.buckets.delete per project-1?

    Se abiliti l'espansione delle risorse per questa query, nella sezione delle risorse dei risultati della query verrà elencato non solo il progetto, ma anche tutti i bucket di archiviazione al suo interno.

  • Per quali risorse my-user@example.com ha l'autorizzazione compute.instances.setIamPolicy?

    Se abiliti l'espansione delle risorse per questa query e Policy Analyzer rileva che my-user@example.com ha un ruolo a livello di progetto che contiene questa autorizzazione, la sezione delle risorse dei risultati della query elencherà non solo il progetto, ma anche tutte le istanze di Compute Engine all'interno del progetto.

Questa opzione consente di acquisire una comprensione dettagliata delle risorse a cui possono accedere le entità.

Impersonificazione degli account di servizio

Se utilizzi l'API REST o gcloud CLI, puoi abilitare l'analisi della impersonificazione degli account di servizio.

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

Quote e limiti

Cloud Asset Inventory applica la frequenza delle richieste in entrata, incluse le richieste di analisi dei criteri, in base al progetto consumer. Cloud Asset Inventory limita inoltre l'espansione del gruppo all'interno delle iscrizioni al gruppo e l'espansione delle risorse all'interno della gerarchia delle risorse.

Per visualizzare le quote e i limiti predefiniti per Policy Analyzer, consulta Quote e limiti nella documentazione di Cloud Asset Inventory.

Passaggi successivi