Policy Analyzer per le policy di autorizzazione ti consente di scoprire quali entità (ad esempio utenti, service account, gruppi e domini) hanno un determinato accesso a determinate risorse Google Cloud in base alle tue policy di autorizzazione IAM.
Policy Analyzer per le policy di autorizzazione 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 l'identificazione personale (PII)?
- Quali ruoli e autorizzazioni ha il gruppo
dev-testerssu qualsiasi risorsa in 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 le policy di autorizzazione
Per utilizzare Policy Analyzer per le policy di autorizzazione, crea una query di analisi, specifica un ambito per l'analisi ed esegui 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, service account, gruppi e domini) di cui vuoi controllare l'accesso
- Accesso: le autorizzazioni e i ruoli che vuoi controllare
- Risorse: le risorse per le quali vuoi verificare l'accesso
- (Solo API) Contesto della condizione: il contesto, ad esempio l'ora del giorno, in cui 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 maggiori informazioni sui campi che non hai specificato. 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 collegati 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.
Dopo aver creato una query di analisi e specificato l'ambito, puoi eseguire la query per analizzare le policy in quell'ambito.
Risultati delle query
Quando esegui una query di analisi, Policy Analyzer segnala tutti i binding dei ruoli che contengono le entità, l'accesso e le risorse che hai specificato nella query. Per ogni associazione di ruoli, vengono indicate le 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 tuo progetto, nella tua cartella o nella tua organizzazione. Ad esempio, se hai eseguito una query per scoprire quali principal hanno accesso a una risorsa specifica, esaminerai i principal nei risultati della query.
Puoi modificare le informazioni nei risultati della query attivando le opzioni della query.
Tipi di criteri supportati
Policy Analyzer per i criteri di autorizzazione supporta solo i criteri di autorizzazione IAM.
Policy Analyzer per le policy di autorizzazione non supporta le seguenti forme di controllo dell'accesso:
- Criteri di negazione IAM
- Policy sul confine di accesso dell'entità 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 della query di Policy Analyzer non tengono conto dei tipi di criteri non supportati. Ad esempio, supponiamo che un utente disponga dell'autorizzazione iam.roles.get per un progetto a causa di una policy di autorizzazione, ma una policy di negazione gli impedisce di utilizzare l'autorizzazione. Policy Analyzer segnalerà che dispone dell'autorizzazione
iam.roles.get, nonostante la policy di negazione.
Ereditarietà delle policy
Per tenere conto dell'ereditarietà dei criteri, Policy Analyzer analizza automaticamente tutti i criteri di autorizzazione pertinenti nell'ambito specificato, indipendentemente dalla loro posizione nella gerarchia delle risorse.
Ad esempio, supponiamo che tu stia cercando di scoprire chi può accedere a un account di serviziot IAM:
- Se limiti l'ambito della query a un progetto, Policy Analyzer analizza la policy di autorizzazione delaccount di serviziot e la policy di autorizzazione del progetto.
- Se limiti l'ambito della query a un'organizzazione, l'analizzatore policy analizza la policy di autorizzazione delaccount di serviziot, la policy di autorizzazione del progetto proprietario deaccount di serviziont, le policy di autorizzazione di tutte le cartelle contenenti il progetto e la policy di autorizzazione dell'organizzazione.
Accesso condizionale
Se un binding del ruolo ha una condizione, concede a un'entità l'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 che hai specificato nella query di analisi.
In alcuni casi, Policy Analyzer può analizzare anche la condizione, il che significa che può segnalare se la condizione verrebbe soddisfatta. Policy Analyzer può analizzare i seguenti tipi di condizioni:
- Condizioni basate sugli attributi delle risorse, per i tipi di risorse che forniscono un nome risorsa.
- Condizioni di data/ora (solo API e gcloud CLI). Affinché Policy Analyzer 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, Policy Analyzer esegue una delle seguenti operazioni:
Se Policy Analyzer è in grado di analizzare la condizione, esegue una delle seguenti operazioni:
- Se la condizione restituisce il valore true, Policy Analyzer include l'associazione di ruolo nei risultati della query e contrassegna la valutazione della condizione come
TRUE. - Se la condizione restituisce il valore false, Policy Analyzer non include il ruolo nei risultati della query.
- Se la condizione restituisce il valore true, Policy Analyzer include l'associazione di ruolo nei risultati della query e contrassegna la valutazione della condizione come
Se Policy Analyzer non riesce ad analizzare una condizione per un binding di ruolo 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 nel miglior modo possibile. Anche se quasi tutti gli aggiornamenti delle policy vengono visualizzati in Policy Analyzer in pochi minuti, è possibile che Policy Analyzer non includa gli aggiornamenti delle policy 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 controllare.
Queste query possono aiutarti a rispondere a domande come:
- Chi ha accesso a questo account di servizio IAM?
- Chi ha l'autorizzazione a rappresentare questo service account IAM?
- Chi sono gli amministratori della fatturazione per il progetto A?
- (Solo API e gcloud CLI): chi può aggiornare il progetto A simulando 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 autorizzazioni?
Per determinare quali entità dispongono di determinati ruoli e autorizzazioni, crea una query di analisi che specifichi un'entità e un insieme di ruoli e autorizzazioni da controllare.
Queste query possono aiutarti a rispondere a domande come:
- Chi ha l'autorizzazione a rappresentare i service account nella mia organizzazione?
- Chi sono gli amministratori della fatturazione nella mia organizzazione?
- Chi può leggere i dati in questo set di dati BigQuery che contiene informazioni che consentono l'identificazione personale (PII)?
- (Solo API e gcloud CLI): chi nella mia organizzazione può leggere un set di dati BigQuery simulando l'identità di un account di servizio?
Per scoprire come creare e inviare queste query, consulta Determina quali entità dispongono di determinati ruoli o autorizzazioni.
Quali ruoli e autorizzazioni ha questa entità per questa risorsa?
Per determinare quali ruoli e autorizzazioni ha un'entità su una risorsa specifica, crea una query di analisi che specifichi un'entità e una risorsa per cui vuoi controllare le autorizzazioni.
Queste query possono aiutarti a rispondere a domande come:
- Quali ruoli e autorizzazioni ha l'utente Sasha in questo set di dati BigQuery?
- Quali ruoli e autorizzazioni ha il gruppo
dev-testerssu 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 Dana esegue l'impersonificazione 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 una determinata entità, crea una query di analisi che specifica un'entità e i ruoli e le autorizzazioni che vuoi controllare.
Queste query possono aiutarti a rispondere a domande come:
- A quali set di dati BigQuery l'utente Mahan ha l'autorizzazione di lettura?
- Di quali set di dati BigQuery è proprietario dei dati il gruppo
dev-testers? - Quali VM può eliminare Tal nel progetto A?
- (Solo API e gcloud CLI): quali VM può eliminare l'utente John simulando l'identità di unaccount di serviziot?
Per scoprire come creare e inviare queste query, consulta Determinare a quali risorse può accedere un principal.
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 della query
Puoi eseguire 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 delle policy in BigQuery.
Per scoprire come esportare i risultati delle query in Cloud Storage, consulta Scrittura dei risultati dell'analisi dei criteri in Cloud Storage.
Opzioni query
Policy Analyzer 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 espansi in singoli membri. Questa espansione è limitata a 1000 membri per gruppo. Se disponi di autorizzazioni sufficienti per i gruppi, vengono espansi anche i gruppi nidificati. Questa opzione è efficace solo se non specifichi un'entità nella query.
Ad esempio, supponiamo che tu attivi l'espansione del gruppo per la query "Chi ha l'autorizzazione
storage.buckets.delete per project-1?". Se
Policy Analyzer trova gruppi con l'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 accesso è il risultato della loro appartenenza a un gruppo.
Espansione dei ruoli
Se attivi l'espansione dei ruoli, l'elenco dei risultati della query mostra tutte le autorizzazioni all'interno di ciascun ruolo, oltre al ruolo stesso. Questa opzione è disponibile solo se non specifica autorizzazioni o ruoli nella query.
Ad esempio, supponiamo 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 elencano non solo il nome del ruolo, ma anche tutte
le autorizzazioni incluse nel ruolo.
Questa opzione ti consente di vedere esattamente quali autorizzazioni hanno le tue entità.
Espansione delle risorse
Se abiliti l'espansione delle risorse per una query Policy Analyzer, l'elenco dei risultati della query mostra tutte le risorse discendenti pertinenti per qualsiasi risorsa principale (progetti, cartelle e organizzazioni) nei risultati della query. Questa espansione è limitata a 1000 risorse per risorsa padre per le query Policy Analyzer e a 100.000 risorse per risorsa padre per le query Policy Analyzer a lunga esecuzione.
Ad esempio, considera in che modo l'espansione delle risorse influirebbe sulle seguenti query:
Chi dispone dell'autorizzazione
storage.buckets.deleteperproject-1?Se abiliti l'espansione delle risorse per questa query, la sezione delle risorse dei risultati della query elencherà non solo il progetto, ma anche tutti i bucket di archiviazione all'interno del progetto.
Su quali risorse
my-user@example.comdispone dell'autorizzazionecompute.instances.setIamPolicy?Se abiliti l'espansione delle risorse per questa query e Policy Analyzer rileva che
my-user@example.comha 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 Compute Engine al suo interno.
Questa opzione ti consente di ottenere una comprensione dettagliata delle risorse a cui possono accedere le tue entità.
Simulazione dell'identità dei service account
Se utilizzi l'API REST o gcloud CLI, puoi attivare l'analisi della simulazione dell'identità del service account.
Se questa opzione è attivata, Policy Analyzer esegue query di analisi aggiuntive per determinare chi può assumere l'identità dei service account 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 chi dispone di una delle seguenti autorizzazioni per ilaccount di serviziot:
iam.serviceAccounts.actAsiam.serviceAccounts.getAccessTokeniam.serviceAccounts.getOpenIdTokeniam.serviceAccounts.implicitDelegationiam.serviceAccounts.signBlobiam.serviceAccounts.signJwt
Quote e limiti
Cloud Asset Inventory applica la frequenza delle richieste in entrata, incluse le richieste di analisi delle policy, in base al progetto consumer. Cloud Asset Inventory limita anche l'espansione dei gruppi all'interno delle appartenenze ai gruppi 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 delle policy di autorizzazione sia l'analisi delle policy 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 o Enterprise di Security Command Center. Per ulteriori informazioni, consulta la pagina Domande sulla fatturazione.
Passaggi successivi
- Scopri come utilizzare Policy Analyzer per analizzare una norma consenti.
- Scopri come utilizzare l'API REST per salvare le query di analisi delle norme.