Informazioni sui ruoli IAM personalizzati

Identity and Access Management (IAM) fornisce ruoli predefiniti che forniscono un accesso granulare a specifiche risorse di Google Cloud ed evitano gli accessi indesiderati ad altre risorse.

IAM consente anche di creare ruoli IAM personalizzati. I ruoli personalizzati consentono di applicare il principio del privilegio minimo, poiché aiutano a garantire che le entità della tua organizzazione dispongano solo delle autorizzazioni necessarie.

Ti consigliamo di creare un ruolo personalizzato nelle seguenti situazioni:

  • Un'entità richiede un'autorizzazione, ma ogni ruolo predefinito che include tale autorizzazione include anche le autorizzazioni non necessarie e che non dovrebbero avere.
  • Utilizza i consigli sui ruoli per sostituire le concessioni di ruolo eccessivamente permissive con concessioni di ruoli più appropriate. In alcuni casi, potresti ricevere un consiglio per creare un ruolo personalizzato.

Alcune autorizzazioni IAM non sono supportate nei ruoli personalizzati. Per verificare se un'autorizzazione specifica è supportata, vedi Livello di assistenza per le autorizzazioni nei ruoli personalizzati.

Prima di iniziare

Concetti di base

In IAM non concedi direttamente le autorizzazioni. Concedi invece i ruoli, che contengono una o più autorizzazioni. In IAM esistono diversi tipi di ruoli: ruoli di base, ruoli predefiniti e ruoli personalizzati.

I ruoli di base includono tre ruoli esistenti prima dell'introduzione di IAM: Proprietario, Editor e Visualizzatore.

I ruoli predefiniti sono creati e gestiti da Google. Google aggiorna automaticamente le sue autorizzazioni in base alle necessità, ad esempio quando Google Cloud aggiunge nuove funzionalità o nuovi servizi.

I ruoli personalizzati sono definiti dall'utente e ti consentono di raggruppare una o più autorizzazioni supportate per soddisfare le tue esigenze specifiche. I ruoli personalizzati non sono gestiti da Google; quando nuove autorizzazioni, funzionalità o servizi vengono aggiunti a Google Cloud, i tuoi ruoli personalizzati non vengono aggiornati automaticamente.

Quando crei un ruolo personalizzato, devi scegliere un'organizzazione o un progetto in cui crearlo. Puoi quindi concedere il ruolo personalizzato a livello di organizzazione o progetto, nonché a tutte le risorse al suo interno.

Puoi creare un ruolo personalizzato combinando una o più autorizzazioni IAM disponibili. Le autorizzazioni consentono agli utenti di eseguire azioni specifiche sulle risorse Google Cloud. Nel mondo IAM, le autorizzazioni sono rappresentate nel formato:

service.resource.verb

Ad esempio, l'autorizzazione compute.instances.list consente a un utente di elencare le istanze di Compute Engine di sua proprietà e compute.instances.stop consente a un utente di arrestare una VM. Quando aggiungi un'autorizzazione a un ruolo personalizzato, devi specificare esplicitamente servizio, risorsa e verbo: non puoi utilizzare caratteri jolly (*).

In genere le autorizzazioni 1:1, ma non sempre, corrispondono ai metodi REST. Vale a dire, ogni servizio Google Cloud è associato a un'autorizzazione per ogni metodo REST. Per chiamare un metodo, il chiamante ha bisogno di tale autorizzazione. Ad esempio, il chiamante del dominio topic.publish() ha bisogno dell'autorizzazione pubsub.topics.publish.

Quando crei un ruolo personalizzato a livello di progetto, non può contenere autorizzazioni disponibili solo a livello di cartella o organizzazione. Ad esempio, non puoi utilizzare l'autorizzazione resourcemanager.organizations.get in un ruolo personalizzato a livello di progetto, perché un progetto non può contenere altri progetti e, di conseguenza, è utile solo a livello di cartella o organizzazione.

Puoi concedere un ruolo personalizzato solo nel progetto o nell'organizzazione in cui lo hai creato. Non puoi concedere ruoli personalizzati ad altri progetti o organizzazioni o a risorse all'interno di altri progetti o organizzazioni.

Autorizzazioni e ruoli obbligatori

Per creare un ruolo personalizzato, un chiamante deve avere l'autorizzazione iam.roles.create.

Agli utenti che non sono proprietari, inclusi gli amministratori dell'organizzazione, deve essere assegnato il ruolo Amministratore ruolo organizzazione (roles/iam.organizationRoleAdmin) o il ruolo Amministratore ruolo IAM (roles/iam.roleAdmin). Il ruolo Revisore sicurezza IAM (roles/iam.securityReviewer) consente di visualizzare i ruoli personalizzati, ma non di amministrarli. Per informazioni su come concedere questi ruoli, consulta Concedere, modificare e revocare l'accesso.

L'interfaccia utente dei ruoli personalizzati si trova nella sezione Google Roles di Google Cloud Console. È disponibile solo per gli utenti con autorizzazioni a creare o gestire ruoli personalizzati. Per impostazione predefinita, solo i proprietari del progetto possono creare nuovi ruoli. I proprietari del progetto possono controllare l'accesso a questa funzionalità concedendo agli altri il ruolo di Amministratore ruoli IAM sullo stesso progetto. Per le organizzazioni, solo gli amministratori dell'organizzazione possono concedere il ruolo Amministratore ruolo organizzazione.

I ruoli di amministratore sono descritti più in dettaglio di seguito.

Ruolo Amministratore ruolo organizzazione

Se hai un'organizzazione associata al tuo account Google Cloud, il ruolo Amministratore ruolo organizzazione ti consente di amministrare tutti i ruoli personalizzati all'interno dell'organizzazione. Questo ruolo può essere concesso solo a livello di organizzazione. Solo gli amministratori dell'organizzazione possono concedere il ruolo Amministratore ruolo organizzazione.

La tabella riportata di seguito elenca le autorizzazioni nel ruolo Amministratore ruolo organizzazione:

Ruolo Autorizzazioni
roles/iam.organizationRoleAdmin iam.roles.create
iam.roles.delete
iam.roles.undelete
iam.roles.get
iam.roles.list
iam.roles.update
resourcemanager.projects.get
resourcemanager.policys.gets.get

Ruolo Amministratore del ruolo

Il ruolo Amministratore ruolo ti consente di amministrare tutti i ruoli personalizzati per un progetto. Utilizza questo ruolo se non hai un'organizzazione. Questo ruolo può essere concesso solo a livello di progetto dai proprietari del progetto o dell'organizzazione.

La seguente tabella elenca le autorizzazioni nel ruolo Amministratore ruolo:

Ruolo Autorizzazioni
roles/iam.roleAdmin iam.roles.create
iam.roles.delete
iam.roles.undelete
iam.roles.get
iam.roles.list
iam.roles.update
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy

Ciclo di vita dei ruoli personalizzati

Per decidere come progettare, creare e gestire i ruoli personalizzati, esistono alcuni concetti che si applicano.

Creazione

Prima di decidere di creare un ruolo personalizzato, controlla se il servizio ha un ruolo predefinito (o una combinazione di più ruoli predefiniti) che soddisfa le tue esigenze. Per un elenco completo dei ruoli predefiniti, nonché le autorizzazioni incluse in ogni ruolo predefinito, consulta la guida di riferimento ai ruoli predefiniti.

Se non esiste un ruolo predefinito o una combinazione di ruoli predefiniti che soddisfi le tue esigenze, puoi creare un ruolo personalizzato che includa solo le autorizzazioni che devi concedere. Per maggiori dettagli, consulta la sezione Creare e gestire ruoli personalizzati.

Autorizzazioni non supportate o non disponibili

Nei ruoli personalizzati puoi includere molte, ma non tutte, le autorizzazioni IAM. Ogni autorizzazione dispone di uno dei seguenti livelli di assistenza per l'utilizzo nei ruoli personalizzati:

Livello di assistenza Descrizione
SUPPORTED L'autorizzazione è pienamente 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. Opzione non consigliata per l'uso in produzione.
NOT_SUPPORTED L'autorizzazione non è supportata nei ruoli personalizzati.

Alcune autorizzazioni potrebbero non essere visibili per te o utilizzabili in un ruolo personalizzato, anche se sono supportate nei ruoli personalizzati. Ad esempio, un'autorizzazione potrebbe non essere disponibile per l'utilizzo nei ruoli personalizzati se non hai attivato l'API per il servizio. Inoltre, se stai creando un ruolo personalizzato a livello di progetto, non puoi utilizzare le autorizzazioni a livello di organizzazione nel ruolo.

Per verificare se puoi utilizzare un'autorizzazione specifica nei ruoli personalizzati, consulta Livello di assistenza per le autorizzazioni nei ruoli personalizzati. Per verificare quali autorizzazioni puoi utilizzare con una risorsa specifica, consulta Visualizzare le autorizzazioni disponibili per una risorsa.

Dipendenze autorizzazioni

Alcune autorizzazioni sono valide soltanto se concesse in coppia. Ad esempio, per aggiornare un criterio di autorizzazione, devi utilizzare il pattern read-Modify-write. Di conseguenza, per aggiornare un criterio di autorizzazione, hai quasi sempre bisogno dell'autorizzazione getIamPolicy per il servizio e il tipo di risorsa aggiuntivi, 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 possono aiutarti a capire quali autorizzazioni sono generalmente utilizzate in combinazione.

Per informazioni su come creare un ruolo personalizzato basato su un ruolo predefinito, vedi Creazione e gestione di ruoli personalizzati.

Assegna un nome al ruolo

I ruoli hanno sia un ID che un titolo. L'ID ruolo è un identificatore univoco del ruolo. Il titolo è visualizzato nell'elenco dei ruoli in Google Cloud Console.

Gli ID ruolo devono essere univoci all'interno del progetto o dell'organizzazione in cui hai creato il ruolo. In questo modo, l'ID completo del ruolo, che include il progetto o l'organizzazione, è univoco. Gli ID ruolo possono contenere fino a 64 caratteri e possono contenere caratteri alfanumerici maiuscoli e minuscoli, trattini bassi e punti.

Non puoi modificare gli ID ruolo, quindi sceglilo attentamente. Puoi eliminare un ruolo personalizzato, ma non puoi crearne uno nuovo con lo stesso ID completo fino al completamento del processo di eliminazione di 44 giorni. Per ulteriori informazioni sulla procedura di eliminazione, consulta la sezione Eliminare un ruolo personalizzato.

Il titolo di un ruolo personalizzato non deve essere univoco. Pertanto, in Google Cloud Console è possibile visualizzare più di un ruolo personalizzato con lo stesso titolo. Per evitare confusione, utilizza titoli univoci e descrittivi per i ruoli personalizzati. Inoltre, ti consigliamo di indicare nel titolo se il ruolo è a livello di organizzazione o di progetto.

I titoli dei ruoli possono contenere fino a 100 byte e possono contenere caratteri alfanumerici maiuscoli e minuscoli e simboli. Puoi modificare i titoli dei ruoli in qualsiasi momento.

Descrizione ruolo

Valuta la possibilità di aggiornare la descrizione del ruolo dopo aver modificato un ruolo personalizzato e di includere sia la data di modifica sia un riepilogo dello scopo previsto del ruolo. Le descrizioni possono contenere fino a 256 caratteri e possono contenere caratteri alfanumerici maiuscoli e minuscoli e simboli.

Test e deployment

I ruoli personalizzati includono una fase di lancio, che viene archiviata nella proprietà stage per il ruolo. Le fasi di lancio più comuni per i ruoli personalizzati attivi sono ALPHA, BETA e GA. Queste fasi di lancio sono informativi; ti aiutano a capire se ogni ruolo è pronto per un uso ampio. Un'altra fase comune di lancio è DISABLED. In questa fase di lancio puoi disattivare un ruolo personalizzato.

Ti consigliamo di utilizzare le fasi di lancio ALPHA, BETA e GA per comunicare le seguenti informazioni sul ruolo:

  • ALPHA: il ruolo è ancora in fase di sviluppo o test oppure include le autorizzazioni per servizi o funzionalità di Google Cloud non ancora pubblici. Non è adatto a un uso ampio.
  • BETA: il ruolo è stato testato su base limitata oppure include autorizzazioni per servizi o funzionalità di Google Cloud non disponibili a livello generale.
  • GA: il ruolo è stato ampiamente testato e tutte le relative autorizzazioni sono relative a servizi o funzionalità di Google Cloud generalmente disponibili.

Per un elenco completo delle possibili fasi di lancio, consulta la documentazione sul ruolo.

Per informazioni su come modificare la fase di lancio di un ruolo, consulta Modifica di un ruolo personalizzato esistente.

Manutenzione

Le mansioni lavorative e le funzionalità del prodotto sono in continua evoluzione. Mantenere aggiornati i ruoli personalizzati e seguire il principio del privilegio minimo richiede interventi di manutenzione.

Ad esempio, quando un servizio rilasciato ottiene nuove funzionalità beta, tali metodi API diventano disponibili pubblicamente e le autorizzazioni vengono aggiunte automaticamente ai ruoli di base e predefiniti corrispondenti. I nuovi ruoli personalizzati per quel servizio non ereditano queste nuove autorizzazioni, pertanto gli utenti assegnati a tali servizi potrebbero segnalare che non possono accedere alle nuove funzionalità beta. A quel punto, potresti scegliere di aggiungerli o creare un ruolo personalizzato separato per concedere solo a determinati utenti l'accesso a tali funzionalità beta.

Google potrebbe aggiornare un ruolo predefinito esistente aggiungendo (o rimuovendo) autorizzazioni, ma non modifica i ruoli personalizzati in base a tali ruoli. I ruoli personalizzati sono elenchi semplici di autorizzazioni; un ruolo personalizzato non ha link ai ruoli predefiniti su cui potrebbe essere basato.

Se il tuo ruolo personalizzato è basato su ruoli predefiniti, ti consigliamo di elencare tali ruoli nel campo della descrizione del ruolo personalizzato. In questo modo è più semplice controllare se devi aggiornare il tuo ruolo personalizzato in base alle modifiche apportate a un ruolo predefinito. Google Cloud Console inserisce automaticamente queste informazioni nella descrizione quando crea un nuovo ruolo personalizzato.

Per informazioni su come aggiornare le autorizzazioni e la descrizione di un ruolo personalizzato, vedi Modificare un ruolo personalizzato esistente.

Fai riferimento al log delle modifiche delle autorizzazioni per determinare i ruoli e le autorizzazioni modificati di recente.

Disabilita ruoli personalizzati

Se non vuoi più che gli utenti della tua organizzazione utilizzino un ruolo personalizzato, puoi disattivarlo. Per disattivare il ruolo, imposta il livello di lancio su DISABLED.

Quando un ruolo è disabilitato, tutte le associazioni di ruoli che concedono il ruolo vengono disattivate, il che significa che la concessione del ruolo a un utente non ha alcun effetto.

Per informazioni su come disattivare un ruolo personalizzato, vedi Disattivare un ruolo personalizzato.

Limitazioni note

  • Alcuni ruoli predefiniti contengono autorizzazioni non consentite nei ruoli personalizzati. Per verificare se puoi utilizzare un'autorizzazione specifica in un ruolo personalizzato, consulta Livello di assistenza per le autorizzazioni nei ruoli personalizzati.
  • I ruoli personalizzati possono contenere fino a 3000 autorizzazioni. Inoltre, le dimensioni totali massime del titolo, della descrizione e dei nomi delle autorizzazioni per un ruolo personalizzato sono pari a 64 kB.
  • L'autorizzazione resourcemanager.projects.list è supportata solo per i ruoli personalizzati a livello di organizzazione, non per i ruoli personalizzati a livello di progetto. Quando copi un ruolo predefinito che include l'autorizzazione resourcemanager.projects.list nel nuovo ruolo personalizzato a livello di progetto, verrà visualizzato uno dei seguenti messaggi:
    • Google Cloud Console: viene visualizzato il seguente messaggio di avviso: "Non applicabile ai ruoli personalizzati a livello di progetto. L'autorizzazione resourcemanager.projects.list verrà deselezionata automaticamente dall'elenco delle autorizzazioni incluse e potrai procedere con la creazione del ruolo.
    • CLI di Google Cloud CLI di gcloud: viene restituito il seguente messaggio di errore: INVALID_ARGUMENT: Permission resourcemanager.projects.list is not valid. Il ruolo personalizzato non verrà creato finché non rimuoverai l'autorizzazione resourcemanager.projects.list dalla definizione del ruolo e proverai nuovamente a eseguire l'operazione.
    • API di Google Cloud: viene restituito il seguente messaggio di errore: Permission resourcemanager.projects.list is not valid, insieme a un codice di errore HTTP 400 e lo stato INVALID_ARGUMENT. Il ruolo personalizzato non verrà creato finché non rimuoverai l'autorizzazione resourcemanager.projects.list dalla definizione del ruolo e proverai di nuovo a eseguire l'operazione.

Passaggi successivi