Controllo dell'accesso per i progetti con IAM

Google Cloud offre Identity and Access Management (IAM), che ti consente di concedere un accesso più granulare a risorse Google Cloud specifiche e di impedire 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 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 inviano richieste API dispongano dei 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, l'autorizzazione 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 i progetti:

Metodo Autorizzazioni richieste
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 di Google.
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, è necessaria l'autorizzazioneresourcemanager.projects.update. Per aggiornare lo spazio di archiviazione di e spostare il progetto in una risorsa organizzazione, richiede Autorizzazione resourcemanager.projects.create nella risorsa dell'organizzazione.
projects.move projects.move

Utilizzo dei ruoli predefiniti

I ruoli predefiniti IAM ti consentono di gestire con attenzione l'insieme di 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. Ogni ruolo include una descrizione della sua funzione e le autorizzazioni incluse.

Ruolo Autorizzazioni

(roles/resourcemanager.projectCreator)

Fornisce l'accesso per creare nuovi progetti. Una volta creato un progetto, viene concesso automaticamente all'utente il ruolo di proprietario del progetto.

Risorse di livello più basso in 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 in 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 i 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. Crea e aggiorna l'accesso per la maggior parte delle risorse.
roles/viewer Accesso in lettura alla maggior parte delle risorse. Accesso per recuperare ed elencare 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 che puoi personalizzare 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.
  • Se il ruolo personalizzato include le autorizzazioni folders.list e folders.get, deve 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 le istruzioni, consulta Concedere, modificare e revocare l'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

Controlli di servizio VPC possono fornire una maggiore sicurezza quando utilizzi l'API Cloud Resource Manager. Per scoprire di più su VPC Service Controls, consulta la panoramica dei Controlli di servizio VPC.

Per informazioni sulle limitazioni attuali nell'utilizzo di Resource Manager con i Controlli di servizio VPC, consulta la pagina Prodotti supportati e limitazioni.