Policy Analyzer per i criteri di autorizzazione ti consente di scoprire quali entità (ad esempio utenti, account di servizio, gruppi e domini) hanno accesso a quali risorse Google Cloud in base ai tuoi criteri di autorizzazione IAM.
Policy Analyzer per i criteri di autorizzazione può aiutarti a rispondere a domande come quelle riportate di seguito:
- Chi può accedere a questo account di servizio IAM?
- Chi può leggere i dati in questo set di dati BigQuery contenente informazioni che consentono l'identificazione personale (PII)?
- Quali ruoli e autorizzazioni ha il gruppo
dev-testers
su qualsiasi risorsa di questo progetto? - Quali istanze di macchine virtuali (VM) Compute Engine può eliminare Tal nel progetto A?
- Chi può accedere a questo bucket Cloud Storage alle 19:00?
Come funziona Policy Analyzer per i criteri di autorizzazione
Per utilizzare l'Analizzatore policy per i criteri di autorizzazione, crea una query di analisi, specifica un ambito per l'analisi ed esegui la query.
Query di analisi
Per utilizzare lo strumento di analisi dei criteri, crea una query di analisi specificando uno o più dei seguenti campi:
- Principali: le identità (ad esempio utenti, account di servizio, gruppi e domini) di cui vuoi controllare l'accesso
- Accesso: le autorizzazioni e i ruoli da verificare
- Risorse: le risorse per le quali vuoi verificare l'accesso
- (Solo API) Contesto condizione: il contesto, ad esempio l'ora del giorno, in base al quale vuoi verificare l'accesso
In genere, specifichi uno o due di questi campi nella query di analisi, quindi utilizzi i risultati della query per ottenere ulteriori informazioni sui campi che non hai specificato. Ad esempio, se vuoi sapere chi dispone di una determinata autorizzazione per una determinata risorsa, devi specificare l'accesso e la risorsa nella query di analisi, ma non l'entità.
Per altri esempi di 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 allegati alla risorsa utilizzata come ambito e ai relativi discendenti.
Nell'API REST e nella gcloud CLI, specifichi l'ambito manualmente. Nella console Google Cloud, l'ambito viene determinato automaticamente in base al progetto, alla cartella o all'organizzazione che stai gestendo.
Dopo aver creato una query di analisi e specificato l'ambito, puoi eseguire la query per analizzare le norme in quell'ambito.
Risultati delle query
Quando esegui una query di analisi, Policy Analyzer segnala eventuali associazioni di ruoli che contengono le entità, l'accesso e le risorse specificati nella query. Per ogni associazione di ruoli, vengono registrati gli entità nell'associazione, l'accesso (ruolo e autorizzazioni) concesso 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 hai eseguito una query per scoprire quali entità hanno accesso a una risorsa specifica, dovrai esaminarle nei risultati della query.
Puoi modificare le informazioni nei risultati della query attivando le opzioni di query.
Tipi di criteri supportati
Analizzatore criteri per i criteri di autorizzazione supporta solo i criteri di autorizzazione IAM.
L'Analizzatore criteri per i criteri di autorizzazione non supporta le seguenti forme di controllo dell'accesso:
- Criteri di rifiuto IAM
- Criteri di Principal Access Boundary di IAM
- Controllo dell'accesso basato sui ruoli di Google Kubernetes Engine
- Elenchi di controllo dell'accesso di Cloud Storage
- Prevenzione dell'accesso pubblico a Cloud Storage
I risultati delle query di Analizzatore criteri non tengono conto dei tipi di criteri non supportati. Ad esempio, immagina che un utente abbia l'autorizzazione iam.roles.get
per un progetto a causa di un criterio di autorizzazione, ma che un criterio di rifiuto gli impedisca di utilizzarla. Policy Analyzer segnalerà di disporre dell'autorizzazioneiam.roles.get
, nonostante il criterio di rifiuto.
Ereditarietà delle norme
Per tenere conto dell'eredità dei criteri, Analizzatore criteri 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 voler scoprire chi può accedere a un account di servizio IAM:
- Se limiti l'ambito della query a un progetto, l'Analizzatore policy analizza la regola consenti dell'account di servizio e la regola consenti del progetto.
- Se limiti l'ambito della query a un'organizzazione, l'Analizzatore policy analizza il criterio di autorizzazione dell'account di servizio, il criterio di autorizzazione del progetto che possiede l'account di servizio, i criteri di autorizzazione di eventuali cartelle contenenti il progetto e il criterio di autorizzazione dell'organizzazione.
Accesso condizionale
Se un'associazione di ruoli ha una condizione, concede all'entità accesso solo quando la 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, lo strumento può anche analizzare la condizione, ovvero può segnalare se la condizione viene soddisfatta. Lo strumento di analisi dei criteri può analizzare i seguenti tipi di condizioni:
- Condizioni basate su attributi delle risorse per i tipi di risorse che forniscono un nome della risorsa.
- Condizioni relative a data/ora (solo API e gcloud CLI). Affinché l'Analizzatore policy possa analizzare queste condizioni, devi fornire l'ora dell'accesso (
accessTime
) nella query di analisi. Per scoprire come fornire questo contesto, consulta Determinare l'accesso in un momento specifico.
Se un'associazione di ruoli pertinente contiene una condizione, lo strumento di analisi dei criteri esegue una delle seguenti operazioni:
Se l'Analizzatore policy può analizzare la condizione, esegue uno dei seguenti compiti:
- Se la condizione restituisce true, Policy Analyzer include la associazione del ruolo nei risultati della query e contrassegna la valutazione della condizione come
TRUE
. - Se la condizione restituisce false, lo strumento di analisi dei criteri non include il ruolo nei risultati della query.
- Se la condizione restituisce true, Policy Analyzer include la associazione del ruolo nei risultati della query e contrassegna la valutazione della condizione come
Se Policy Analyzer non riesce ad 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 offre l'aggiornamento dei dati secondo il criterio del massimo impegno. Sebbene quasi tutti gli aggiornamenti delle norme vengano visualizzati in Policy Analyzer in pochi minuti, è possibile che l'analizzatore criteri non includa gli aggiornamenti 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:
- Chi ha accesso a questo account di servizio IAM?
- Chi ha l'autorizzazione per rubare l'identità di questo account di servizio IAM?
- Chi sono gli amministratori della fatturazione per il progetto A?
- (Solo API e gcloud CLI): chi può aggiornare il progetto A fingendosi un account di servizio?
Per scoprire come creare e inviare queste query, consulta Determinare quali principali possono accedere a una risorsa.
Quali entità dispongono di questi ruoli e 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:
- Chi ha l'autorizzazione per rubare l'identità degli 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 contenenti informazioni che consentono l'identificazione personale (PII)?
- (Solo API e gcloud CLI): chi nella mia organizzazione può leggere un set di dati BigQuery fingendosi un account di servizio?
Per scoprire come creare e inviare queste query, vedi Determinare quali entità hanno determinati ruoli o autorizzazioni.
Quali ruoli e autorizzazioni ha questa entità in questa risorsa?
Per determinare i ruoli e le autorizzazioni di un'entità su una risorsa specifica, crea una query di analisi che specifichi un'entità e una risorsa per le quali vuoi verificare le autorizzazioni.
Queste query possono aiutarti a rispondere a domande come:
- Quali ruoli e autorizzazioni ha l'utente Sasha su questo set di dati BigQuery?
- Quali ruoli e autorizzazioni ha il gruppo
dev-testers
su qualsiasi risorsa di questo progetto? - (Solo API e gcloud CLI): quali ruoli e autorizzazioni ha l'utente Dana su questo set di dati BigQuery se finge di essere 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 le risorse a cui può accedere un'entità specifica, crea una query di analisi che specifichi un'entità e i ruoli e le autorizzazioni da verificare.
Queste query possono aiutarti a rispondere a domande come:
- Quali set di dati BigQuery l'utente Mahan ha permissione di leggere?
- Di quali set di dati BigQuery è il gruppo
dev-testers
il proprietario dei dati? - Quali VM può eliminare Tal nel progetto A?
- (Solo API e gcloud CLI): quali VM può eliminare l'utente John assumendo il ruolo di un account di servizio?
Per scoprire come creare e inviare queste query, consulta Determinare le risorse a cui può accedere un ruolo.
Query di analisi salvate
Se utilizzi l'API REST, puoi salvare le query di analisi per riutilizzarle o condividerle con altri utenti. Puoi eseguire una query salvata come faresti con qualsiasi altra query.
Per scoprire di più sul salvataggio delle query, consulta Gestire le query salvate.
Esportare i risultati delle query
Puoi eseguire query in modo asincrono ed esportare i risultati in BigQuery o Cloud Storage utilizzando analyzeIamPolicyLongrunning
.
Per scoprire come esportare i risultati delle query in BigQuery, consulta Scrivere analisi delle norme in BigQuery.
Per scoprire come esportare i risultati delle query in Cloud Storage, consulta Scrivere analisi dei criteri in Cloud Storage.
Opzioni query
L'Analizzatore policy offre diverse opzioni che aggiungono ulteriori dettagli ai risultati della query.
Per scoprire come attivare queste opzioni, consulta Attivare le opzioni.
Espansione del gruppo
Se attivi l'espansione dei gruppi, tutti i gruppi nei risultati della query vengono espulsi in singoli membri. Questa espansione ha un limite di 1000 membri per gruppo. Se disponi di autorizzazioni per i gruppi sufficienti, verranno espansi anche i gruppi nidificati. Questa opzione è efficace solo se non specifichi un principale nella query.
Ad esempio, immagina di attivare l'espansione del gruppo per la query "Chi ha l'autorizzazione storage.buckets.delete
per project-1
?" Se Analizza criteri trova gruppi che dispongono dell'autorizzazione storage.buckets.delete
, i risultati della query elencheranno non solo l'identificatore del gruppo, ma anche tutti i singoli membri del gruppo.
Questa opzione ti consente di comprendere l'accesso dei singoli utenti, anche se questo è il risultato della loro appartenenza a un gruppo.
Espansione del ruolo
Se attivi l'espansione dei ruoli, i risultati della query elencano 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 attivare l'espansione dei ruoli per la query "Quale accesso ha my-user@example.com
al bucket bucket-1
?" Se
Policy Analyzer trova ruoli che concedono a my-user@example.com
l'accesso
a bucket-1
, i risultati della query elencheranno non solo il nome del ruolo, ma anche tutte
le autorizzazioni incluse nel ruolo.
Questa opzione ti consente di vedere esattamente quali autorizzazioni hanno i tuoi principali.
Espansione delle risorse
Se attivi l'espansione delle risorse per una query di Analizzatore criteri, i risultati della query elencano tutte le risorse discendenti pertinenti per eventuali risorse principali (progetti, cartelle e organizzazioni) nei risultati della query. Questa espansione ha un limite di 1000 risorse per risorsa principale per le query di Analizzatore criteri e 100.000 risorse per risorsa principale per le query di Analizzatore criteri di lunga durata.
Ad esempio, considera l'impatto dell'espansione delle risorse sulle seguenti query:
Chi ha l'autorizzazione
storage.buckets.delete
perproject-1
?Se attivi l'espansione delle risorse per questa query, la sezione Risorse dei risultati della query elenca non solo il progetto, ma anche tutti i bucket di archiviazione al suo interno.
Per quali risorse
my-user@example.com
ha l'autorizzazionecompute.instances.setIamPolicy
?Se attivi l'espansione delle risorse per questa query e lo strumento di analisi dei criteri scopre che
my-user@example.com
ha un ruolo a livello di progetto che contiene l'autorizzazione, la sezione Risorse dei risultati della query elenca non solo il progetto, ma anche tutte le istanze Compute Engine al suo interno.
Questa opzione ti consente di avere una comprensione dettagliata delle risorse a cui possono accedere i tuoi principali.
Rappresentazione dell'identità dell'account di servizio
Se utilizzi l'API REST o gcloud CLI, puoi attivare l'analisi dell'usurpazione di identità dell'account di servizio.
Se questa opzione è attivata, l'Analizzatore policy esegue query di analisi aggiuntive per determinare chi può rubare l'identità degli account di servizio che hanno l'accesso specificato alle risorse specificate. L'Analizzatore criteri esegue una query per ogni account di servizio nei risultati della 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
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 dei gruppi all'interno delle adesioni 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.
Prezzi
Ogni organizzazione può eseguire fino a 20 query di analisi al giorno senza costi. Questo limite include sia l'analisi dei criteri di autorizzazione sia l'analisi dei criteri dell'organizzazione.
Se vuoi eseguire più di 20 query di analisi al giorno, devi disporre di un'attivazione a livello di organizzazione del livello Premium di Security Command Center. Per ulteriori informazioni, consulta la sezione Domande sulla fatturazione.
Passaggi successivi
- Scopri come utilizzare l'Analizzatore policy per analizzare una norma di autorizzazione.
- Scopri come utilizzare l'API REST per salvare le query di analisi delle norme.