Controllo dell'accesso per i progetti con IAM

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

IAM consente di controllare chi (utenti) ha un determinato accesso (ruoli) a quali risorse impostando i criteri IAM, che garantiscono specifici che contengono determinate autorizzazioni.

Questa pagina illustra le autorizzazioni e i ruoli IAM che che puoi utilizzare per gestire l'accesso ai progetti. Per una descrizione dettagliata IAM, leggi le documentazione IAM. In particolare, consulta Concessione, modifica e revoca dell'accesso.

Autorizzazioni e ruoli

Per controllare l'accesso alle risorse, Google Cloud richiede che gli account che creano API alle richieste dispongono di ruoli IAM appropriati. Ruoli IAM includi le autorizzazioni che consentono agli utenti di eseguire azioni specifiche dell'accesso a specifiche risorse Google Cloud. Ad esempio, resourcemanager.projects.delete consente a un utente di eliminare un progetto.

Non concedi direttamente le autorizzazioni agli utenti, concedi loro i ruoli, che hanno una o più autorizzazioni raggruppate al loro interno. Puoi concedere questi ruoli per una particolare risorsa, ma si applicano anche a tutti i discendenti di quella risorsa nel gerarchia delle risorse.

Autorizzazioni

Per gestire i progetti, il chiamante deve avere un ruolo che includa quanto segue autorizzazioni aggiuntive. Il ruolo viene concesso alla risorsa o alla cartella dell'organizzazione che contiene progetti:

Metodo Autorizzazioni obbligatorie
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
Se concedi questa autorizzazione, concedi anche l'accesso per recuperare il nome del responsabile della fatturazione account associato al progetto tramite il metodo API Billing billing.projects.getBillingInfo .
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list resourcemanager.projects.list
resourcemanager.projects.search resourcemanager.projects.get
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions Non richiede alcuna autorizzazione.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch Per aggiornare i metadati di un progetto, è necessario Autorizzazione resourcemanager.projects.update. Per aggiornare lo spazio di archiviazione di e spostare il progetto in una risorsa dell'organizzazione, Autorizzazione resourcemanager.projects.create nella risorsa dell'organizzazione.
projects.move projects.move

Utilizzo dei ruoli predefiniti

I ruoli IAM predefiniti consentono di gestire attentamente l'insieme autorizzazioni a cui hanno accesso i tuoi utenti. Per un elenco completo dei ruoli a livello di progetto, consulta Informazioni sui ruoli.

La tabella seguente elenca i ruoli predefiniti che puoi utilizzare per concedere l'accesso a un progetto. Ciascun ruolo include una descrizione delle autorizzazioni incluse in quel ruolo.

Ruolo Autorizzazioni

(roles/resourcemanager.projectCreator)

Fornisce l'accesso per creare nuovi progetti. Una volta che un utente crea un progetto, gli viene automaticamente assegnato il ruolo di proprietario per quel progetto.

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

  • Cartella

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

Fornisce l'accesso per eliminare i progetti Google Cloud.

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

  • Cartella

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Fornisce l'accesso per aggiornare e spostare i progetti.

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

  • Progetto

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

Fornisce le autorizzazioni per amministrare i criteri di autorizzazione sui progetti.

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

  • Progetto

iam.policybindings.*

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

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/browser)

Accesso in lettura per l'esplorazione della gerarchia di un progetto, incluse la cartella, l'organizzazione e . Il ruolo non include l'autorizzazione per la visualizzazione delle risorse di un progetto.

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

  • Progetto

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

Ruoli di base

Evita di utilizzare ruoli di base, tranne quando è assolutamente necessario. Questi ruoli sono molto potente e includono un gran numero di autorizzazioni in tutti servizi Google Cloud. Per ulteriori dettagli su quando utilizzare le basi ruoli, vedi Ruoli di base.

Ruolo Descrizione Autorizzazioni
roles/owner Accesso completo a tutte le risorse. Tutte le autorizzazioni per tutte le risorse.
roles/editor Accesso in modifica alla maggior parte delle risorse. Accesso in creazione e aggiornamento per la maggior parte delle risorse.
roles/viewer Accesso in lettura alla maggior parte delle risorse. Recupera ed elenca l'accesso per la maggior parte delle risorse.

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:
  • Elenca e ottieni le autorizzazioni, ad esempio 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 organizzazione, cartella risorse di progetto permettono all'utente di concedere tutte le altre autorizzazioni, per cui devono essere assegnate con attenzione.

Controllo dell'accesso a livello di progetto

Puoi concedere ruoli agli utenti a livello di progetto utilizzando la console Google Cloud. l'API Cloud Resource Manager e Google Cloud CLI. Per istruzioni, vedi Concessione, modifica e revoca dell'accesso.

Ruoli predefiniti

Quando crei un progetto, ti viene concesso il ruolo di roles/owner per che ti offre il pieno controllo in qualità di autore. Questo ruolo predefinito può essere è cambiato normalmente in un criterio IAM.

Controlli di servizio VPC

I Controlli di servizio VPC possono garantire maggiore sicurezza quando si utilizzano l'API Cloud Resource Manager. Per scoprire di più sui Controlli di servizio VPC, consulta Panoramica dei Controlli di servizio VPC.

Per saperne di più sulle attuali limitazioni all'utilizzo di Resource Manager con Controlli di servizio VPC, consulta le prodotti supportati e limitazioni .