Controllo dell'accesso per le cartelle con IAM

Google Cloud offre Identity and Access Management (IAM), che consente di fornire un accesso più granulare a risorse Google Cloud specifiche e impedisce l'accesso indesiderato ad altre risorse. IAM ti consente di adottare il principio di sicurezza del privilegio minimo, in modo da concedere solo l'accesso necessario alle tue risorse.

IAM consente di controllare chi (utenti) ha quale accesso (ruoli) a quale accesso di archiviazione impostando i criteri IAM. I criteri IAM concedono ruoli specifici a un che concede all'utente determinate autorizzazioni.

Questa pagina illustra i ruoli IAM che sono disponibili a livello di cartella. Inoltre, scopri come creare e gestire IAM i criteri per le cartelle usando l'API Cloud Resource Manager. Per una descrizione dettagliata di IAM, consulta la documentazione di IAM. In particolare, consulta la sezione Assegnazione, modifica e revoca dell'accesso.

Panoramica dei ruoli IAM per le cartelle

Per aiutarti a configurare i ruoli IAM, la tabella seguente elenca:

  • Il tipo di azioni che vuoi attivare
  • I ruoli richiesti per eseguire queste azioni
  • Il livello di risorsa a cui devi applicare i ruoli
Tipo di azioni Ruoli richiesti A livello di risorsa
Amministra le cartelle nella risorsa dell'organizzazione Amministratore cartelle Risorsa dell'organizzazione
Amministrare una cartella e tutti i progetti e le cartelle che contiene Amministratore cartelle Cartella specifica
Accedere ai criteri IAM di una cartella e gestirli Folder IAM Admin Cartella specifica
Crea nuove cartelle Creatore cartella Risorsa principale per la posizione delle nuove cartelle
Spostare cartelle e progetti Autore spostamento cartella Risorsa principale sia per la posizione della cartella originale sia per quella della nuova cartella
Spostare un progetto in una nuova cartella Editor progetto o proprietario progetto Risorsa padre sia per la località del progetto originale che per la nuova località del progetto
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, mantieni tieni presente quanto segue:

  • Se possibile, utilizza i gruppi per gestire le entità.
  • Riduci al minimo l'utilizzo dei ruoli di base, come proprietario, editor e visualizzatore. Invece, prova a usare i ruoli predefiniti per il principio del privilegio minimo.
  • Per la gestione a livello di cartella, assegna le autorizzazioni a livello di cartella e fai in modo che i progetti le ereditino automaticamente. Ad esempio, potresti assegnare al gruppo di amministratori del reparto il ruolo Amministratore della cartella per la cartella. Gli amministratori di rete che devono disporre di autorizzazioni per tutto il reparto possono avere il ruolo Amministratore di rete per la cartella.
  • Valuta attentamente quali autorizzazioni potrebbero cambiare prima di spostare una risorsa da una cartella. In caso contrario, potresti rischiare di interrompere app o flussi di lavoro esistenti che richiedono queste autorizzazioni per quella risorsa.
  • Pianifica e testa attentamente la gerarchia delle risorse prima di spostare i progetti di produzione nelle cartelle. Un modo per farlo è creare una cartella di test nella risorsa dell'organizzazione e creare in anticipo un prototipo della gerarchia prevista.
  • La concessione di un ruolo a un utente a livello di cartella implica la concessione di tale ruolo anche per ogni risorsa sotto quella cartella. Ad esempio, se concedi un utente con il ruolo Amministratore Compute (roles/compute.admin) in una cartella, avrà il controllo completo di tutte le risorse Compute Engine in ogni progetto quella cartella.

Informazioni sui ruoli e sulle autorizzazioni delle cartelle

Ruoli predefiniti

Quando crei una cartella, ti viene assegnato il ruolo Amministratore cartelle e I ruoli di Editor cartelle per la cartella ti offrono il controllo completo come creator. Di seguito sono riportate le autorizzazioni fornite da questi ruoli. Questi valori predefiniti possono essere modificati normalmente in un criterio IAM.

Utilizzo dei ruoli predefiniti

Ruolo Autorizzazioni

(roles/resourcemanager.folderAdmin)

Fornisce tutte le autorizzazioni disponibili per lavorare con le cartelle.

Risorse di livello più basso a cui puoi concedere questo ruolo:

  • Cartella

essentialcontacts.*

  • essentialcontacts.contacts.create
  • essentialcontacts.contacts.delete
  • essentialcontacts.contacts.get
  • essentialcontacts.contacts.list
  • essentialcontacts.contacts.send
  • essentialcontacts.contacts.update

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.*

  • resourcemanager.folders.create
  • resourcemanager.folders.createPolicyBinding
  • resourcemanager.folders.delete
  • resourcemanager.folders.deletePolicyBinding
  • resourcemanager.folders.get
  • resourcemanager.folders.getIamPolicy
  • resourcemanager.folders.list
  • resourcemanager.folders.move
  • resourcemanager.folders.searchPolicyBindings
  • resourcemanager.folders.setIamPolicy
  • resourcemanager.folders.undelete
  • resourcemanager.folders.update
  • resourcemanager.folders.updatePolicyBinding

resourcemanager.hierarchyNodes.*

  • resourcemanager.hierarchyNodes.createTagBinding
  • resourcemanager.hierarchyNodes.deleteTagBinding
  • resourcemanager.hierarchyNodes.listEffectiveTags
  • resourcemanager.hierarchyNodes.listTagBindings

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

resourcemanager.projects.move

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/resourcemanager.folderIamAdmin)

Fornisce le autorizzazioni per amministrare i criteri di autorizzazione per le cartelle.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Cartella

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.folders.createPolicyBinding

resourcemanager.folders.deletePolicyBinding

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.searchPolicyBindings

resourcemanager.folders.setIamPolicy

resourcemanager.folders.updatePolicyBinding

(roles/resourcemanager.folderCreator)

Fornisce le autorizzazioni necessarie per esplorare la gerarchia e creare cartelle.

Risorse di livello più basso a cui puoi concedere questo ruolo:

  • Cartella

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.create

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderEditor)

Fornisce l'autorizzazione per modificare le cartelle e per visualizzare il criterio di autorizzazione di una cartella.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Cartella

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.delete

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.list

resourcemanager.folders.searchPolicyBindings

resourcemanager.folders.undelete

resourcemanager.folders.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderMover)

Fornisce l'autorizzazione per spostare progetti e cartelle all'interno e all'esterno di un'organizzazione o di una cartella principale.

Risorse di livello più basso a cui puoi concedere questo ruolo:

  • Cartella

resourcemanager.folders.move

resourcemanager.projects.move

(roles/resourcemanager.folderViewer)

Fornisce l'autorizzazione per ottenere una cartella ed elencare le cartelle e i progetti al di sotto di una risorsa.

Risorse di livello più basso a cui puoi concedere questo ruolo:

  • Cartella

essentialcontacts.contacts.get

essentialcontacts.contacts.list

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 anche creare ruoli personalizzati, ovvero raccolte di autorizzazioni personalizzate in base alle tue esigenze. Quando crei un ruolo personalizzato da utilizzare con Resource Manager, tieni presente i seguenti punti:
  • Le autorizzazioni di elenco e di acquisizione, come resourcemanager.projects.get/list, devono sempre essere concesse in coppia.
  • Quando il tuo ruolo personalizzato include folders.list e folders.get autorizzazioni, dovrebbe includere anche projects.list e projects.get.
  • Tieni presente che l'autorizzazione setIamPolicy per le 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 l'esplorazione delle cartelle

Le autorizzazioni di elenco consentono di sfogliare le cartelle. I due tipi di autorizzazioni di elenco che solitamente devono essere concesse sono resourcemanager.folders.list, che consente agli utenti di elencare le cartelle in una risorsa, e resourcemanager.projects.list, che consente agli utenti di sfogliare i progetti in una risorsa o una cartella dell'organizzazione. L'amministratore dell'organizzazione viene inizializzato con entrambe le autorizzazioni. Per Gli utenti a cui non è stato assegnato il ruolo Amministratore organizzazione:

  • L'autorizzazione resourcemanager.folders.list può essere concessa tramite il Visualizzatore cartelle e Ruoli di Editor cartelle.
  • resourcemanager.projects.list può essere concesso tramite i ruoli Visualizzatore o Browser.

Affinché i principali delle risorse dell'organizzazione possano sfogliare l'intera gerarchia delle risorse dell'organizzazione, le autorizzazioni di elenco devono essere concesse a livello di risorsa dell'organizzazione.

Concessione di ruoli per abilitare la creazione delle cartelle

Agli utenti che devono creare cartelle deve essere concesso il ruolo Creatore di cartelle in una risorsa della gerarchia superiore al livello in cui verrà creata la cartella. Può essere utile concedere le autorizzazioni di navigazione insieme alle autorizzazioni di creazione della cartella in modo che gli utenti possano accedere in modo efficace alla posizione della gerarchia in cui verrà creata la cartella. Consulta la sezione sopra per ulteriori informazioni sulle autorizzazioni di navigazione.

Folder Creator non concede a un utente l'autorizzazione per eliminare una cartella. Tuttavia, Quando una persona crea una cartella, le viene concesso automaticamente Ruolo Editor cartelle. Il ruolo Editor di 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 Strumento di spostamento cartelle per le risorse padre vecchie e nuove o su una predecessore.

Assegnazione di ruoli per consentire lo spostamento dei progetti

Per spostare un progetto in una cartella, gli utenti devono disporre dell'Editor di progetto oppure Ruoli di Proprietario progetto nel progetto e Autore spostamento progetto sia nella risorse padre di origine e di destinazione.

Questo è leggermente diverso dai requisiti per trasferire un dominio non di proprietà dell'organizzazione progetto nella risorsa dell'organizzazione, dove gli utenti devono disporre dell'Editor di progetto o Proprietario progetto per il progetto e il ruolo Autore progetto per la risorsa dell'organizzazione.

Concedere ruoli specifici per le cartelle per consentire la creazione di progetti

Per creare progetti, gli utenti devono disporre del ruolo Autore progetto. Tuttavia, anziché concedere l'autorizzazione di 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:

  1. Concedi all'utente il ruolo Visualizzatore dell'organizzazione a livello di nodo dell'organizzazione (ad es. domain.com).
  2. Crea una nuova cartella.
  3. Aggiungi l'utente ad IAM a livello di cartella e concedi i ruoli Visualizzatore cartelle e Creator di progetti.

In questo modo l'utente può creare progetti nella propria cartella senza concedere la visibilità a ogni progetto nella risorsa dell'organizzazione più grande.