Controllo dell'accesso per i progetti con IAM

Google Cloud offre Identity and Access Management (IAM), che consente di concedere 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 quali risorse impostando criteri IAM, che concedono ruoli specifici contenenti determinate autorizzazioni.

In questa pagina vengono spiegati le autorizzazioni e i ruoli IAM che puoi utilizzare per gestire l'accesso ai progetti. Per una descrizione dettagliata di IAM, leggi la 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 effettuano richieste API abbiano ruoli IAM appropriati. I ruoli IAM includono autorizzazioni che consentono agli utenti di eseguire azioni specifiche sulle 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, ma concedi loro dei ruoli, che contengono una o più autorizzazioni raggruppate al loro interno. Puoi concedere questi ruoli a una determinata risorsa, ma si applicano anche a tutti i discendenti della risorsa nella gerarchia delle risorse.

Autorizzazioni

Per gestire i progetti, il chiamante deve avere un ruolo che include le seguenti autorizzazioni. Il ruolo viene concesso nella risorsa o nella 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
La concessione di questa autorizzazione concederà anche l'accesso per ottenere il nome dell'account di fatturazione associato al progetto tramite il metodo dell'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, è necessaria l'autorizzazione resourcemanager.projects.update. Per aggiornare il padre di un progetto e spostarlo in una risorsa dell'organizzazione, è necessaria l'autorizzazione resourcemanager.projects.create per la risorsa dell'organizzazione.
projects.move projects.move

Utilizzo dei ruoli predefiniti

I ruoli IAM predefiniti consentono di gestire con attenzione l'insieme di autorizzazioni a cui gli utenti hanno accesso. Per un elenco completo dei ruoli che possono essere concessi a livello di progetto, consulta Informazioni sui ruoli.

Nella tabella seguente sono elencati i ruoli predefiniti che puoi utilizzare per concedere l'accesso a un progetto. Ogni ruolo include una descrizione di ciò che fa e delle autorizzazioni incluse in quel ruolo.

Ruolo Autorizzazioni

(roles/resourcemanager.projectCreator)

Fornisce l'accesso per creare nuovi progetti. Quando a un utente crea un progetto, gli verrà concesso automaticamente il ruolo di proprietario.

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 in cui puoi concedere questo ruolo:

  • Cartella

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Fornisce l'accesso per aggiornare e spostare progetti.

Risorse di livello più basso in 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

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.setIamPolicy

(roles/browser)

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

Risorse di livello più basso in 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 potenti e includono un numero elevato di autorizzazioni per tutti i servizi Google Cloud. Per maggiori dettagli sull'uso dei ruoli di base, consulta 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 ed elenco per la maggior parte delle risorse.

Creazione di ruoli personalizzati

Oltre ai ruoli predefiniti descritti in questo argomento, puoi creare anche 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 quanto segue:
  • Le autorizzazioni di tipo Elenca e ottieni, ad esempio resourcemanager.projects.get/list, devono essere sempre 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 le risorse dell'organizzazione, della cartella e del progetto consente all'utente di concedere tutte le altre autorizzazioni, pertanto deve essere assegnata con cautela.

Controllo dell'accesso a livello di progetto

Puoi concedere i 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 Concessione, modifica e revoca dell'accesso.

Ruoli predefiniti

Quando crei un progetto, ti viene concesso il ruolo roles/owner del progetto per garantirti il controllo completo in qualità di autore. Questo ruolo predefinito può essere modificato normalmente in un criterio IAM.

Controlli di servizio VPC

I Controlli di servizio VPC possono fornire ulteriore sicurezza quando si utilizza l'API Cloud Resource Manager. Per saperne di più sui Controlli di servizio VPC, consulta la Panoramica dei Controlli di servizio VPC.

Per conoscere le limitazioni attuali dell'utilizzo di Resource Manager con i Controlli di servizio VPC, consulta la pagina Prodotti e limitazioni supportati.