Google Cloud offre Identity and Access Management (IAM), che ti permette di concedere un accesso più granulare a risorse specifiche di Google Cloud e impedisce l'accesso indesiderato ad altre risorse. IAM consente di adottare il principio di sicurezza del privilegio minimo, quindi concedi solo l'accesso necessario alle tue risorse.
IAM consente di controllare chi (utenti) dispone di quale accesso (ruoli) a quali risorse impostando i criteri IAM. I criteri IAM concedono ruoli specifici a un utente concedendogli determinate autorizzazioni.
Questa pagina spiega i ruoli IAM disponibili a livello di cartelle e come creare e gestire i criteri IAM per le cartelle utilizzando l'API Resource Manager. Per una descrizione dettagliata di IAM, consulta la documentazione di IAM. In particolare, vedi Concessione, modifica e revoca dell'accesso.
Panoramica dei ruoli IAM per le cartelle
Per aiutarti a configurare i ruoli IAM, consulta le seguenti tabelle:
- Il tipo di azioni che vuoi attivare
- I ruoli necessari per eseguire queste azioni
- Il livello di risorsa sul quale devi applicare questi ruoli
Tipo di azioni | Ruoli obbligatori | Livello di risorsa |
---|---|---|
Amministrare cartelle in tutta l'organizzazione | Amministratore cartelle | Organizzazione |
Amministrare una cartella e tutti i progetti e le cartelle che contiene | Amministratore cartelle | Cartella specifica |
Accedere e amministrare i criteri IAM di una cartella | Amministratore IAM cartella | Cartella specifica |
Creare nuove cartelle | Creatore cartella | Risorsa principale per la posizione delle nuove cartelle |
Sposta cartelle e progetti | Autore spostamento cartella | Risorsa principale per la posizione della cartella originale e per la nuova cartella |
Spostare un progetto in una nuova cartella | Editor del progetto o proprietario del progetto | Risorsa principale sia per la località del progetto originale sia per quella nuova |
Elimina una cartella | Editor cartelle o Amministratore cartelle | Cartella specifica |
Best practice per l'utilizzo di ruoli e autorizzazioni IAM con le cartelle
Quando assegni ruoli e autorizzazioni IAM da utilizzare con le cartelle, tieni presente che:
- Utilizzare i gruppi ogni volta che è possibile per gestire le entità.
- Riduci al minimo l'utilizzo di ruoli di base, ad esempio proprietario, editor e visualizzatore. Prova invece a utilizzare i ruoli predefiniti come principio del privilegio minimo.
- Per la gestione a livello di cartella, assegna le autorizzazioni a livello di cartella e lascia che i progetti le ereditino automaticamente. Ad esempio, potresti assegnare a un gruppo di amministratori di un reparto il ruolo Amministratore cartelle per la cartella. Gli amministratori di rete che devono disporre di autorizzazioni a livello di reparto possono avere il ruolo di amministratore di rete per la cartella.
- Prima di spostare una risorsa fuori da una cartella, valuta con attenzione le autorizzazioni che potrebbero subire modifiche. In caso contrario, potresti rischiare di interrompere app o flussi di lavoro esistenti che richiedono le autorizzazioni per la risorsa.
- Pianifica e testa con attenzione la gerarchia delle risorse prima di spostare i progetti di produzione in cartelle. Un modo per farlo è creare una cartella di test sotto la risorsa Organizzazione e un prototipo di gerarchia pianificata in anticipo.
- La concessione di un ruolo a un utente a livello di cartella ne comporta il suo accesso anche per ogni risorsa al di sotto di quella cartella. Ad esempio, se concedi a un utente il ruolo Amministratore Compute (
roles/compute.admin
) su una cartella, l'utente avrà il controllo completo di tutte le risorse Compute Engine in ogni progetto in quella cartella.
Informazioni sui ruoli e sulle autorizzazioni delle cartelle
Ruoli predefiniti
Quando crei una cartella, ti vengono concessi i ruoli Amministratore cartelle ed Editor cartelle per la cartella, per fornirti il controllo completo come creator. Di seguito sono riportate le autorizzazioni fornite da questi ruoli. Questi ruoli predefiniti possono essere modificati normalmente in un criterio IAM.
Utilizzo di ruoli predefiniti
Ruolo | Autorizzazioni |
---|---|
Amministratore cartelle( Fornisce tutte le autorizzazioni disponibili per lavorare con le cartelle. Contiene tre autorizzazioni di proprietario |
orgpolicy.constraints.list orgpolicy.policies.list orgpolicy.policy.get resourcemanager.folders.*
resourcemanager.projects.get resourcemanager. resourcemanager.projects.list resourcemanager.projects.move
manage_accounts
resourcemanager. |
Amministratore IAM cartella( Fornisce le autorizzazioni per amministrare i criteri di autorizzazione per le cartelle. Contiene 1 autorizzazione di proprietario |
resourcemanager.folders.get resourcemanager.
manage_accounts
resourcemanager. |
Creatore cartella( Fornisce le autorizzazioni necessarie per esplorare la gerarchia e creare cartelle. |
orgpolicy.constraints.list orgpolicy.policies.list orgpolicy.policy.get resourcemanager.folders.create resourcemanager.folders.get resourcemanager.folders.list resourcemanager.projects.get resourcemanager.projects.list |
Editor cartella( Fornisce l'autorizzazione a modificare le cartelle e a visualizzare il criterio di autorizzazione di una cartella. |
orgpolicy.constraints.list orgpolicy.policies.list orgpolicy.policy.get resourcemanager.folders.delete resourcemanager.folders.get resourcemanager. resourcemanager.folders.list resourcemanager. resourcemanager.folders.update resourcemanager.projects.get resourcemanager.projects.list |
Autore spostamento cartella( Fornisce l'autorizzazione a spostare progetti e cartelle all'interno e all'esterno dell'organizzazione o una cartella principale. Contiene 1 autorizzazione di proprietario |
manage_accounts resourcemanager.folders.move resourcemanager.projects.move |
Visualizzatore cartella( Fornisce l'autorizzazione per ottenere una cartella ed elencare le cartelle e i progetti di seguito in una risorsa. |
orgpolicy.constraints.list orgpolicy.policies.list orgpolicy.policy.get resourcemanager.folders.get resourcemanager.folders.list resourcemanager.projects.get resourcemanager.projects.list |
Creazione di ruoli personalizzati
Oltre ai ruoli predefiniti descritti in questo argomento, puoi creare ruoli personalizzati che sono raccolte di autorizzazioni personalizzate in base alle tue esigenze. Quando crei un ruolo personalizzato da utilizzare con Resource Manager, tieni presente quanto segue:- Le autorizzazioni per l'elenco e le autorizzazioni, come
resourcemanager.projects.get/list
, devono essere sempre concesse in coppia. - Quando il ruolo personalizzato include le autorizzazioni
folders.list
efolders.get
, dovrebbero includere ancheprojects.list
eprojects.get
. - Tieni presente che l'autorizzazione
setIamPolicy
per risorse dell'organizzazione, della cartella e del progetto consente all'utente di concedere tutte le altre autorizzazioni, pertanto deve essere assegnata con attenzione.
Concessione di ruoli per abilitare la navigazione nelle cartelle
Le autorizzazioni dell'elenco abilitano la navigazione nelle cartelle. I due tipi di autorizzazioni degli elenchi che in genere devono essere concessi sono resourcemanager.folders.list
, che consente agli utenti di elencare le cartelle di una risorsa, e resourcemanager.projects.list
, che consentono agli utenti di sfogliare i progetti contenuti in un'organizzazione o una cartella. L'amministratore dell'organizzazione è inizializzato con entrambe queste autorizzazioni. Per gli utenti a cui non è stato assegnato il ruolo Amministratore organizzazione:
- Puoi concedere
resourcemanager.folders.list
tramite i ruoli Visualizzatore cartelle ed Editor cartelle. - La concessione di
resourcemanager.projects.list
può essere concessa mediante i ruoli Visualizzatore o Browser.
Per consentire alle entità dell'organizzazione di sfogliare l'intera gerarchia dell'organizzazione, devi concedere le autorizzazioni di elenco a livello di organizzazione.
Concessione di ruoli per abilitare la creazione di cartelle
Agli utenti che devono creare cartelle deve essere assegnato il ruolo Creatore cartelle su una risorsa nella gerarchia al di sopra del livello in cui verrà creata la cartella. Potrebbe essere utile concedere autorizzazioni di navigazione e autorizzazioni di creazione delle cartelle, in modo che gli utenti possano navigare in modo efficace nella posizione in cui verrà creata la cartella. Per saperne di più sulle autorizzazioni di navigazione, consulta la sezione precedente.
Creatore cartelle non concede a un utente l'autorizzazione per eliminare una cartella. Tuttavia, la persona a cui viene creata una cartella riceve automaticamente il ruolo Editor cartelle. Il ruolo Editor cartelle consente l'eliminazione delle cartelle.
Concessione di ruoli per abilitare lo spostamento delle cartelle
Per spostare una cartella da una risorsa padre a un'altra, gli utenti devono avere il ruolo di spostamento delle cartelle sia sulle risorse padre precedenti sia su quelle nuove o su un predecessore comune.
Concessione di ruoli per consentire lo spostamento dei progetti
Per spostare un progetto in una cartella, gli utenti devono avere i ruoli Editor progetto o Proprietario progetto nel progetto e Autore spostamento progetto sia nelle risorse padre sia in quelle di origine.
Questa operazione è leggermente diversa dai requisiti per spostare nell'organizzazione un progetto non di proprietà di un'organizzazione, in cui gli utenti devono disporre del ruolo Editor progetto o Proprietario progetto per il progetto e del ruolo Creatore progetti per l'organizzazione.
Concessione di ruoli specifici per cartella per consentire la creazione di progetti
Per creare progetti, gli utenti devono avere il ruolo di autore del progetto. Tuttavia, invece di concedere l'autorizzazione per la creazione di progetti a livello di organizzazione, può essere utile limitare gli utenti alla visualizzazione e alla creazione di progetti solo all'interno di una determinata cartella.
Per concedere autorizzazioni specifiche per le cartelle:
- Concedi all'utente il ruolo Visualizzatore organizzazione a livello di nodo organizzazione (ad esempio dominio.com).
- Crea una nuova cartella.
- Aggiungi l'utente a IAM a livello di cartella e concedi i ruoli Visualizzatore cartelle e Autore progetto.
In questo modo, l'utente può creare progetti nella cartella senza concedere la sua visibilità a tutti i progetti nell'organizzazione.