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 determinate Google Cloud risorse e impedisce l'accesso indesiderato ad altre risorse. Con IAM puoi adottare il principio di sicurezza del privilegio minimo, e quindi concedere solo l'accesso necessario alle tue risorse.

IAM ti consente di controllare chi (utenti) ha quale accesso (ruoli) a quali risorse impostando le policy di autorizzazione. Le policy di autorizzazione concedono ruoli specifici a un utente assegnandogli determinate autorizzazioni.

Questa pagina descrive le autorizzazioni e i ruoli IAM che puoi utilizzare per gestire l'accesso ai progetti. Per saperne di più, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Autorizzazioni e ruoli

Per controllare l'accesso alle risorse, Google Cloud richiede che gli account che effettuano richieste API dispongano dei ruoli IAM appropriati. I ruoli IAM includono autorizzazioni che consentono agli utenti di eseguire azioni specifiche sulle Google Cloud risorse. 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 ruoli, che contengono una o più autorizzazioni. Concedi questi ruoli su una risorsa specifica, ma si applicano anche a tutti i discendenti di quella risorsa nella gerarchia delle risorse.

Autorizzazioni

Per gestire i progetti, il chiamante deve disporre di un ruolo che includa le seguenti autorizzazioni. Il ruolo viene concesso sulla risorsa dell'organizzazione o sulla cartella che contiene i progetti:

Metodo Autorizzazioni obbligatorie
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 progetto padre di un progetto e spostarlo in una risorsa dell'organizzazione, è necessaria l'autorizzazione resourcemanager.projects.create sulla risorsa dell'organizzazione.
projects.move projects.move

Utilizzo dei ruoli predefiniti

I ruoli predefiniti IAM ti consentono di gestire le autorizzazioni disponibili per gli utenti. Per un elenco completo dei ruoli che possono essere concessi 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 del suo scopo e delle autorizzazioni che contiene.

Ruolo Autorizzazioni

(roles/resourcemanager.projectCreator)

Fornisce l'accesso per creare nuovi progetti. Una volta che un utente crea un progetto, gli viene concesso automaticamente il ruolo di proprietario per quel 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 in cui puoi concedere questo ruolo:

  • Progetto

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Fornisce l'accesso per aggiornare e spostare i 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 le policy 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, inclusi cartella, organizzazione e policy 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

Utilizza i ruoli di base solo quando necessario. Questi ruoli sono altamente privilegiati e concedono autorizzazioni estese su tutti i Google Cloud servizi. Per saperne di più su quando utilizzare i 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 alla maggior parte delle risorse.
roles/viewer Accesso in lettura alla maggior parte delle risorse. Ottieni ed elenca l'accesso alla 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 adattare alle tue esigenze. Quando crei un ruolo personalizzato da utilizzare con Resource Manager, tieni presente quanto segue:
  • Le autorizzazioni di elenco e recupero, ad esempio resourcemanager.projects.get/list, devono sempre essere concesse come coppia.
  • Quando 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 e pertanto deve essere assegnata con attenzione.

Controllo degli accessi a livello di progetto

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

Ruoli predefiniti

Quando crei un progetto, ricevi il ruolo roles/owner, che ti dà il controllo completo sul progetto. Puoi modificare questo ruolo predefinito in una policy di autorizzazione.

Controlli di servizio VPC

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

Per scoprire le limitazioni attuali nell'utilizzo di Resource Manager con i Controlli di servizio VPC, consulta la pagina dei prodotti supportati e delle limitazioni.