Controllo dell'accesso per i progetti con IAM

Identity and Access Management (IAM) ti consente di concedere un accesso granulare a determinate risorse Google Cloud e impedisce l'accesso indesiderato ad altre risorse. Questo modello ti aiuta ad adottare il principio del privilegio minimo, che ti consente di concedere solo l'accesso necessario alle tue risorse.

Impostando le policy di autorizzazione, controlli chi (utenti) ha quale accesso (ruoli) a quali risorse. Per gestire l'accesso ai progetti, configura i ruoli e le autorizzazioni IAM o utilizza le policy di negazione per impedire alle entità di utilizzare autorizzazioni specifiche. Per saperne di più, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Se stai iniziando a utilizzare Google Cloud, puoi stabilire la gerarchia delle risorse e concedere l'accesso iniziale nell'ambito della procedura di configurazione diGoogle Cloud .

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 risorseGoogle Cloud . Ad esempio, l'autorizzazione resourcemanager.projects.delete consente a un utente di eliminare un progetto.

Non concedi direttamente le autorizzazioni agli utenti, ma assegni loro dei ruoli, che includono una o più autorizzazioni. Concedi questi ruoli su una determinata risorsa, 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 o sulla cartella dell'organizzazione 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 autorizzazioni.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch Per aggiornare i metadati di un progetto, è necessaria l'autorizzazione resourcemanager.projects.update. Per aggiornare l'elemento padre di un progetto e spostare il progetto in una risorsa organizzazione, è necessaria l'autorizzazione resourcemanager.projects.create sulla risorsa organizzazione.
projects.move projects.move

Utilizzo dei ruoli predefiniti

I ruoli IAM predefiniti 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. Quando 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 ampie autorizzazioni su tutti i servizi Google Cloud . 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. Accesso in creazione e aggiornamento 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 quanto segue:
  • Le autorizzazioni di elenco e recupero, ad esempio resourcemanager.projects.get/list, devono essere sempre concesse in coppia.
  • Quando il tuo 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 di organizzazione, cartella e progetto consente all'utente di concedere tutte le altre autorizzazioni, pertanto deve essere assegnata con attenzione.

Controllo degli accessi a livello di progetto

Puoi concedere ruoli agli utenti a livello di progetto utilizzando Google Cloud console, l'API Cloud 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 offre 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 una sicurezza aggiuntiva quando utilizzi l'API Cloud Resource Manager. Per scoprire di più sui Controlli di servizio VPC, consulta la panoramica dei Controlli di servizio VPC.

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