Questa pagina descrive i ruoli IAM (Identity and Access Management), ovvero raccolte di autorizzazioni IAM.
Un ruolo contiene un insieme di autorizzazioni che ti consente di eseguire azioni specifiche sulle risorse Google Cloud. Per rendere disponibili le autorizzazioni per le entità, tra cui utenti, gruppi e account di servizio, devi concedere i ruoli alle entità.
Prima di iniziare
- Comprendi i concetti di base di IAM.
Tipi di ruoli
In IAM esistono tre tipi di ruoli:
- Ruoli di base, che includono i ruoli Proprietario, Editor e Visualizzatore esistenti prima dell'introduzione di IAM.
- Ruoli predefiniti, che forniscono accesso granulare per un servizio specifico e sono gestiti da Google Cloud.
- Ruoli personalizzati, che forniscono un accesso granulare in base a un elenco di autorizzazioni specificato dall'utente.
Per determinare se un'autorizzazione è inclusa in un ruolo di base, predefinito o personalizzato, puoi utilizzare uno dei seguenti metodi:
Visualizza il ruolo nella console Google Cloud.
Esegui il comando
gcloud iam roles describe
.Ottieni il ruolo utilizzando il metodo API REST appropriato:
- Per i ruoli predefiniti, utilizza
roles.get()
. - Per i ruoli personalizzati a livello di progetto, utilizza
projects.roles.get()
. - Per i ruoli personalizzati a livello di organizzazione, utilizza
organizations.roles.get()
.
- Per i ruoli predefiniti, utilizza
Solo per i ruoli di base e predefiniti: cerca nella documentazione di riferimento delle autorizzazioni per verificare se l'autorizzazione è concessa dal ruolo.
Solo per i ruoli predefiniti: cerca le descrizioni dei ruoli predefiniti per vedere quali autorizzazioni include il ruolo.
Componenti del ruolo
Ogni ruolo ha i seguenti componenti:
- Titolo: un nome leggibile per il ruolo. Il titolo del ruolo viene utilizzato per identificare il ruolo nella console Google Cloud.
Nome: un identificatore per il ruolo in uno dei seguenti formati:
- Ruoli predefiniti:
roles/SERVICE.IDENTIFIER
- Ruoli personalizzati a livello di progetto:
projects/PROJECT_ID/roles/IDENTIFIER
- Ruoli personalizzati a livello di organizzazione:
organizations/ORG_ID/roles/IDENTIFIER
Il nome del ruolo viene utilizzato per identificare il ruolo nei criteri di autorizzazione.
- Ruoli predefiniti:
ID: un identificatore univoco per il ruolo. Per i ruoli di base e predefiniti, l'ID corrisponde al nome del ruolo. Per i ruoli personalizzati, l'ID è tutto ciò che segue
roles/
nel nome del ruolo.Descrizione: una descrizione leggibile del ruolo.
Fase: la fase del ruolo nel ciclo di vita del lancio, ad esempio
ALPHA
,BETA
oGA
. Per scoprire di più sulle fasi di lancio, consulta Test e deployment.Autorizzazioni: le autorizzazioni incluse nel ruolo. Le autorizzazioni consentono ai principali di eseguire azioni specifiche sulle risorse Google Cloud. Quando concedi un ruolo a un'entità, l'entità ottiene tutte le autorizzazioni del ruolo.
Le autorizzazioni hanno il seguente formato:
SERVICE.RESOURCE.VERB
Ad esempio, l'autorizzazione
compute.instances.list
consente a un utente di elencare le istanze Compute Engine di sua proprietà, mentrecompute.instances.stop
consente di arrestare una VM.Le autorizzazioni corrispondono in genere, ma non sempre, 1:1 ai metodi REST. In altre parole, ogni servizio Google Cloud ha un'autorizzazione associata per ogni metodo REST di cui dispone. Per chiamare un metodo, l'autore della chiamata deve disporre dell'autorizzazione associata. Ad esempio, per chiamare il metodo
projects.topics.publish
dell'API Pub/Sub, devi disporre dell'autorizzazionepubsub.topics.publish
.ETag: un identificatore della versione del ruolo per contribuire a impedire che gli aggiornamenti simultanei si sovrascrivano a vicenda. I ruoli di base e predefiniti hanno sempre l'ETag
AA==
. Gli ETag per i ruoli personalizzati cambiano ogni volta che li modifichi.
Ruoli di base
I ruoli di base sono ruoli altamente permissivi esistenti prima dell'introduzione di IAM. In origine erano noti come ruoli primitivi. Puoi utilizzare i ruoli di base per concedere alle entità un accesso ampio alle risorse Google Cloud.
Quando concedi un ruolo di base a un'entità, quest'ultima ottiene tutte le autorizzazioni del ruolo di base. Riceve anche tutte le autorizzazioni fornite dai servizi ai principali con ruoli di base, ad esempio le autorizzazioni ottenute tramite i valori di convenienza di Cloud Storage e l'appartenenza a gruppi speciali di BigQuery.
La tabella seguente riassume le autorizzazioni concesse agli utenti dai ruoli di base in tutti i servizi Google Cloud:
Ruoli di base | Autorizzazioni |
---|---|
Visualizzatore (roles/viewer ) |
Autorizzazioni relative ad azioni di sola lettura senza effetto sullo stato, ad esempio la visualizzazione (ma non la modifica) di risorse o dati esistenti. Per un elenco delle autorizzazioni nel ruolo Visualizzatore, consulta i dettagli del ruolo nella console Google Cloud: |
Editor (roles/editor ) |
Tutte le autorizzazioni di visualizzazione, oltre a quelle per le azioni che modificano lo stato, ad esempio la modifica di risorse esistenti. Le autorizzazioni del ruolo Editor ti consentono di creare ed eliminare risorse per la maggior parte dei servizi Google Cloud. Tuttavia, il ruolo Editor non contiene autorizzazioni per eseguire tutte le azioni per tutti i servizi. Per ulteriori informazioni su come verificare se un ruolo dispone delle autorizzazioni di cui hai bisogno, consulta la sezione Tipi di ruoli in questa pagina. Per un elenco delle autorizzazioni nel ruolo Editor, consulta i dettagli del ruolo nella console Google Cloud: |
Proprietario (roles/owner ) |
Tutte le autorizzazioni dell'editor, oltre a quelle per azioni come quelle elencate di seguito:
Il ruolo Proprietario non contiene tutte le autorizzazioni per tutte le risorse Google Cloud. Ad esempio, non contiene le autorizzazioni per modificare i dati di pagamento del fatturazione Cloud o creare criteri di rifiuto IAM. Per un elenco delle autorizzazioni nel ruolo Proprietario, consulta i dettagli del ruolo nella console Google Cloud: |
Puoi concedere i ruoli di base utilizzando la console Google Cloud, l'API e gcloud CLI. Tuttavia, per concedere il ruolo Proprietario di un progetto a un utente al di fuori della tua organizzazione, devi utilizzare la console Google Cloud, non la gcloud CLI. Se il progetto non fa parte di un'organizzazione, devi utilizzare la console Google Cloud per concedere il ruolo Proprietario.
Per istruzioni, vedi Concedere, modificare e revocare l'accesso.
Ruoli predefiniti
Oltre ai ruoli di base, IAM fornisce altri ruoli predefiniti che consentono l'accesso granulare a risorse Google Cloud specifiche. Questi ruoli vengono creati e gestiti da Google. Google aggiorna automaticamente le proprie autorizzazioni in base alle necessità, ad esempio quando Google Cloud aggiunge nuove funzionalità o servizi.
Puoi assegnare più ruoli allo stesso utente, a qualsiasi livello della gerarchia delle risorse. Ad esempio, lo stesso utente può avere i ruoli Amministratore della rete Compute e Visualizzatore dei log in un progetto e anche il ruolo Publisher Pub/Sub in un argomento Pub/Sub all'interno del progetto. Per elencare le autorizzazioni contenute in un ruolo, consulta Ottenere i metadati del ruolo.
Per assistenza nella scelta dei ruoli predefiniti più appropriati, consulta Scegliere i ruoli predefiniti.
Per un elenco dei ruoli predefiniti, consulta la documentazione di riferimento sui ruoli.
Ruoli personalizzati
IAM ti consente anche di creare ruoli IAM personalizzati. I ruoli personalizzati ti aiutano ad applicare il principio del privilegio minimo, perché contribuiscono ad assicurarti che le entità della tua organizzazione dispongano solo delle autorizzazioni di cui hanno bisogno.
I ruoli personalizzati sono definiti dall'utente e ti consentono di raggruppare una o più autorizzazioni supportate per soddisfare le tue esigenze specifiche. Quando crei un ruolo personalizzato, devi scegliere un'organizzazione o un progetto in cui crearlo. Puoi quindi concedere il ruolo personalizzato all'organizzazione o al progetto, nonché a qualsiasi risorsa all'interno dell'organizzazione o del progetto.
Puoi concedere un ruolo personalizzato solo all'interno del progetto o dell'organizzazione in cui lo hai creato. Non puoi concedere ruoli personalizzati ad altri progetti o organizzazioni o alle risorse all'interno di altri progetti o organizzazioni.
Puoi creare un ruolo personalizzato combinando una o più delle autorizzazioni IAM supportate.
Autorizzazioni supportate
Nei ruoli personalizzati puoi includere molte, ma non tutte, le autorizzazioni IAM. Ogni autorizzazione ha uno dei seguenti livelli di assistenza per l'utilizzo nei ruoli personalizzati:
Livello di assistenza | Descrizione |
---|---|
SUPPORTED |
L'autorizzazione è completamente supportata nei ruoli personalizzati. |
TESTING |
Google sta testando l'autorizzazione per verificarne la compatibilità con i ruoli personalizzati. Puoi includere l'autorizzazione nei ruoli personalizzati, ma potresti notare un comportamento imprevisto. Sconsigliata per l'uso in produzione. |
NOT_SUPPORTED |
L'autorizzazione non è supportata nei ruoli personalizzati. |
Un ruolo personalizzato a livello di organizzazione può includere qualsiasi autorizzazione IAM supportata nei ruoli personalizzati. Un ruolo personalizzato a livello di progetto può contenere qualsiasi autorizzazione supportata ad eccezione di quelle che possono essere utilizzate solo a livello di organizzazione o cartella.
Il motivo per cui non puoi includere autorizzazioni specifiche per cartella e per organizzazione nei ruoli a livello di progetto è che non fanno nulla se concesse a questo livello. Questo perché le risorse in Google Cloud sono organizzate in modo gerarchico. Le autorizzazioni vengono ereditate tramite la gerarchia della risorsa, il che significa che sono efficaci per la risorsa e per tutti i relativi discendenti. Tuttavia, le organizzazioni e le cartelle sono sempre sopra i progetti nella gerarchia delle risorse Google Cloud. Di conseguenza, non potrai mai utilizzare
un'autorizzazione che ti è stata concessa a livello di progetto per accedere a
cartelle o
organizzazioni. Di conseguenza, le autorizzazioni specifiche per cartella e organizzazione, ad esempio resourcemanager.folders.list
, non sono efficaci per i ruoli personalizzati a livello di progetto.
Quando utilizzare i ruoli personalizzati
Nella maggior parte dei casi, dovresti essere in grado di utilizzare i ruoli predefiniti anziché quelli personalizzati. I ruoli predefiniti sono gestiti da Google e vengono aggiornati automaticamente quando vengono aggiunte nuove autorizzazioni, funzionalità o servizi a Google Cloud. I ruoli personalizzati, invece, non vengono gestiti da Google. Quando Google Cloud aggiunge nuove autorizzazioni, funzionalità o servizi, i ruoli personalizzati non vengono aggiornati automaticamente.
Tuttavia, ti consigliamo di creare un ruolo personalizzato nelle seguenti situazioni:
- Un'entità ha bisogno di un'autorizzazione, ma ogni ruolo predefinito che include quell'autorizzazione include anche autorizzazioni di cui l'entità non ha bisogno e che non deve avere.
- Utilizza i suggerimenti sui ruoli per sostituire le concessioni di ruoli eccessivamente permissive con concessioni di ruoli più appropriate. In alcuni casi, potresti ricevere un suggerimento per creare un ruolo personalizzato.
Tieni presente anche i seguenti limiti:
- I ruoli personalizzati possono contenere fino a 3000 autorizzazioni. Inoltre, la dimensione totale massima di titolo, descrizione e nomi autorizzazione per un ruolo personalizzato è 64 KB.
Esistono limiti al numero di ruoli personalizzati che puoi creare:
- Puoi creare fino a 300 ruoli personalizzati a livello di organizzazione
- Puoi creare fino a 300 ruoli personalizzati a livello di progetto in ogni progetto della tua organizzazione.
Dipendenze dalle autorizzazioni
Alcune autorizzazioni sono efficaci solo se concesse insieme. Ad esempio, per
aggiornare un criterio di autorizzazione, devi leggerlo prima di poterlo modificare
e scrivere. Di conseguenza, per aggiornare un criterio di autorizzazione, è quasi sempre necessaria l'autorizzazione getIamPolicy
per il servizio e il tipo di risorsa, oltre all'autorizzazione setIamPolicy
.
Per assicurarti che i ruoli personalizzati siano efficaci, puoi crearli in base a ruoli predefiniti con autorizzazioni simili. I ruoli predefiniti sono progettati in base a attività specifiche e contengono tutte le autorizzazioni necessarie per svolgere queste attività. L'esame di questi ruoli può aiutarti a capire quali autorizzazioni vengono solitamente concesse insieme. Puoi quindi utilizzare queste informazioni per progettare ruoli personalizzati efficaci.
Per scoprire come creare un ruolo personalizzato in base a un ruolo predefinito, consulta Creare e gestire i ruoli personalizzati.
Ciclo di vita dei ruoli personalizzati
Le sezioni seguenti descrivono le considerazioni chiave in ogni fase del ciclo di vita di un ruolo personalizzato. Puoi utilizzare queste informazioni per sapere come creare e gestire i tuoi ruoli personalizzati.
Creazione
Quando crei un ruolo personalizzato, scegli un ID, un titolo e una descrizione che ti aiutino a identificare il ruolo:
ID ruolo: l'ID ruolo è un identificatore univoco del ruolo. Può avere una lunghezza massima di 64 byte e può contenere caratteri alfanumerici maiuscoli e minuscoli, trattini bassi e punti. Non puoi riutilizzare un ID ruolo all'interno di un'organizzazione o di un progetto.
Non puoi modificare gli ID ruolo, quindi sceglili con attenzione. Puoi eliminare un ruolo personalizzato, ma non puoi creare un nuovo ruolo personalizzato con lo stesso ID nella stessa organizzazione o nello stesso progetto fino al completamento della procedura di eliminazione di 44 giorni. Per ulteriori informazioni sulla procedura di eliminazione, consulta Eliminare un ruolo personalizzato.
Titolo del ruolo: il titolo del ruolo viene visualizzato nell'elenco dei ruoli nella console Google Cloud. Il titolo non deve essere univoco, ma ti consigliamo di utilizzare titoli univoci e descrittivi per distinguere meglio i tuoi ruoli. Inoltre, valuta la possibilità di indicare nel titolo del ruolo se è stato creato a livello di organizzazione o di progetto.
I titoli dei ruoli possono avere una lunghezza massima di 100 byte e possono contenere simboli e caratteri alfanumerici maiuscoli e minuscoli. Puoi modificare i titoli dei ruoli in qualsiasi momento.
Descrizione ruolo: la descrizione del ruolo è un campo facoltativo in cui puoi fornire informazioni aggiuntive su un ruolo. Ad esempio, puoi includere lo scopo previsto del ruolo, la data di creazione o modifica di un ruolo e eventuali ruoli predefiniti su cui si basa il ruolo personalizzato. Le descrizioni possono avere una lunghezza massima di 300 byte e possono contenere simboli e caratteri alfanumerici sia maiuscoli che minuscoli.
Tieni inoltre presente le dipendenze delle autorizzazioni quando crei i ruoli personalizzati.
Per scoprire come creare un ruolo personalizzato in base a un ruolo predefinito, consulta Creare e gestire i ruoli personalizzati.
Avvia
I ruoli personalizzati includono una fase di lancio come parte dei metadati del ruolo. Le fasi di lancio più comuni per i ruoli personalizzati sono ALPHA
, BETA
e GA
. Queste fasi di lancio sono informative e ti aiutano a tenere traccia del fatto che ogni ruolo sia pronto per un uso diffuso. Un'altra fase di lancio comune è DISABLED
. Questa fase di lancio ti consente di disattivare un ruolo personalizzato.
Ti consigliamo di utilizzare le fasi di lancio per comunicare le seguenti informazioni sul ruolo:
EAP
oALPHA
: il ruolo è ancora in fase di sviluppo o test oppure include autorizzazioni per funzionalità o servizi Google Cloud non ancora pubblici. Non è pronta per l'uso generalizzato.BETA
: il ruolo è stato testato in modo limitato o include autorizzazioni per funzionalità o servizi Google Cloud non generalmente disponibili.GA
: il ruolo è stato ampiamente testato e tutte le sue autorizzazioni sono per funzionalità o servizi Google Cloud disponibili a livello generale.DEPRECATED
: il ruolo non è più in uso.
Per scoprire come modificare la fase di lancio di un ruolo, consulta Modificare un ruolo personalizzato esistente.
Manutenzione
Sei responsabile della gestione dei ruoli personalizzati. Ciò include l'aggiornamento dei ruoli in base alle modifiche delle responsabilità degli utenti, nonché l'aggiornamento dei ruoli per consentire agli utenti di accedere a nuove funzionalità che richiedono autorizzazioni aggiuntive.
Se basi il tuo ruolo personalizzato su ruoli predefiniti, ti consigliamo di controllare regolarmente la presenza di modifiche alle autorizzazioni per questi ruoli. Il monitoraggio di queste modifiche puoi aiutarti a decidere quando e come aggiornare il tuo ruolo personalizzato. Ad esempio, potresti notare che un ruolo predefinito è stato aggiornato con le autorizzazioni per utilizzare una nuova funzionalità di anteprima e decidere di aggiungere queste autorizzazioni anche al tuo ruolo personalizzato.
Per individuare più facilmente i ruoli predefiniti da monitorare, ti consigliamo di elencare nel campo della descrizione del ruolo personalizzato tutti i ruoli predefiniti su cui si basa il ruolo personalizzato. La console Google Cloud esegue questa operazione automaticamente quando utilizzi la console per creare un ruolo personalizzato in base a quelli predefiniti.
Per scoprire come aggiornare le autorizzazioni e la descrizione di un ruolo personalizzato, consulta Modificare un ruolo personalizzato esistente.
Consulta il log delle modifiche delle autorizzazioni per determinare quali ruoli e autorizzazioni sono stati modificati di recente.
Disabilitazione in corso…
Se non vuoi più che gli amministratori della tua organizzazione utilizzino un ruolo personalizzato, puoi disattivarlo. Per disattivare il ruolo, imposta la relativa fase di lancio su
DISABLED
.
I ruoli disattivati vengono comunque visualizzati nei criteri IAM e possono essere assegnati ai principali, ma non hanno alcun effetto.
Per scoprire come disattivare un ruolo personalizzato, consulta la sezione Disattivare un ruolo personalizzato.
Passaggi successivi
- Scopri come concedere i ruoli IAM alle entità.
- Scopri come scegliere i ruoli predefiniti più appropriati.
- Scopri come creare ruoli personalizzati.
- Utilizza Policy Troubleshooter per capire perché un utente ha o meno accesso a una risorsa o ha l'autorizzazione per chiamare un'API.