Panoramica del controllo dell'accesso


Per impostazione predefinita, tutti i progetti Google Cloud sono associati a un unico utente: il creatore del progetto originale. Nessun altro utente ha accesso al progetto e quindi alle risorse Compute Engine finché un utente non viene aggiunto come membro del progetto o associato a una risorsa specifica. Questa pagina descrive i modi in cui puoi aggiungere nuovi utenti al tuo progetto e come impostare il controllo degli accessi per le tue risorse Compute Engine utilizzando Identity and Access Management (IAM).

Per informazioni su come fornire l'accesso alle applicazioni in esecuzione sulle tue istanze Compute Engine, consulta Come viene determinata l'autorizzazione.

Opzioni di controllo dell'accesso per gli utenti

Per consentire agli utenti di creare e gestire le risorse Compute Engine, puoi aggiungerli come membri del team al progetto o a risorse specifiche e concedere loro le autorizzazioni utilizzando i ruoli IAM.

Un membro del team può essere un singolo utente con un Account Google valido, un gruppo Google, un account di servizio o un dominio Google Workspace. Quando aggiungi un membro del team a un progetto o a una risorsa, specifica i ruoli da concedergli. IAM fornisce tre tipi di ruoli: ruoli predefiniti, ruoli di base e ruoli personalizzati.

Le risorse ereditano i criteri delle risorse di primo livello nella gerarchia delle risorse di Google Cloud. Il criterio applicato a una risorsa è dato dall'unione del criterio impostato per quella risorsa più il criterio ereditato dalla risorsa di livello superiore.

Ruoli Compute Engine predefiniti

I ruoli predefiniti concedono un insieme di autorizzazioni correlate. Compute Engine offre i seguenti ruoli predefiniti:

Titolo del ruolo Funzionalità Utente di destinazione
Utente immagine Compute Engine

Autorizzazione per elencare e utilizzare le immagini di un altro progetto. Concedi a un membro questo ruolo insieme a un altro ruolo in modo che possa utilizzare le immagini di un altro progetto per creare una nuova risorsa. Ad esempio, concedi questo ruolo e il ruolo InstanceAdmin in modo che un membro possa utilizzare le immagini di un altro progetto per creare istanze VM e dischi permanenti.

Se stai creando gruppi di istanze gestite o se utilizzi Deployment Manager per creare istanze VM, potresti dover concedere questo ruolo all'account del servizio API di Google del progetto prima di poter utilizzare le immagini di altri progetti.

  • Account di servizio
  • Amministratori di sistema
  • Sviluppatori
Amministratore delle istanze Compute Engine (v1)

Controllo completo di istanze, gruppi di istanze, dischi, snapshot e immagini di Compute Engine. Accesso in sola lettura a tutte le risorse di networking di Compute Engine.

Se il membro gestisce istanze VM configurate per essere eseguite come account di servizio, devi concedere anche il ruolo roles/iam.serviceAccountUser in modo che possa assegnare gli account di servizio alle istanze VM.

  • Amministratori di sistema
  • Sviluppatori
Ruolo Amministratore Compute Engine

Controllo completo di tutte le risorse Compute Engine. Se l'utente gestisce istanze VM configurate per l'esecuzione come account di servizio, devi concedere anche il ruolo roles/iam.serviceAccountUser.

  • Amministratori di sistema
  • Sviluppatori
Amministratore di rete Compute Engine

Autorizzazioni per creare, modificare ed eliminare le risorse di networking, ad eccezione delle regole firewall e dei certificati SSL. Il ruolo Amministratore di rete consente l'accesso di sola lettura alle regole del firewall, ai certificati SSL e alle istanze (per visualizzare i relativi indirizzi IP temporanei). Il ruolo di amministratore di rete non consente a un membro di creare, avviare, arrestare o eliminare istanze.

Amministratori rete
Amministratore della sicurezza Compute Engine

Autorizzazioni per creare, modificare ed eliminare regole firewall e certificati SSL.

Amministratori sicurezza
Amministratore del bilanciatore del carico Compute Enginebeta

Autorizzazioni per creare, modificare ed eliminare i bilanciatori del carico e le risorse associate.

Amministratori del bilanciatore del carico
Utente dell'account di servizio Compute Engine

Autorizzazione per creare istanze che utilizzano account di servizio e autorizzazione per collegare un disco e impostare i metadati su un'istanza già configurata per l'esecuzione come account di servizio.

Non dovresti concedere questo ruolo da solo perché non fornisce autorizzazioni all'API Compute Engine. Devi concedere a un membro questo ruolo e un altro ruolo, ad esempio il ruolo di amministratore dell'istanza.

  • Amministratori di sistema
  • Sviluppatori
Ruolo Visualizzatore Compute Engine

Accesso in sola lettura per recuperare ed elencare le risorse Compute Engine, ma non per leggere i dati archiviati al loro interno. Ad esempio, un account con questo ruolo potrebbe inventariare tutti i dischi di un progetto, ma non potrebbe leggere nessuno dei dati su questi dischi.

Amministratori di sistema
Utente della rete Compute Engine

Autorizzazioni per utilizzare una rete VPC condivisa. In particolare, concedi questo ruolo ai proprietari di servizi che devono utilizzare le risorse nel progetto host. Una volta concesse, i proprietari di servizi possono utilizzare le subnet e le reti appartenenti al progetto host. Ad esempio, un utente di rete può creare un'istanza VM che appartiene a una rete host VPC condivisa, ma non può eliminare o creare nuove reti nel progetto host.

  • Amministratori di sistema
  • Sviluppatori
Visualizzatore della rete Compute Engine

Accesso di sola lettura a tutte le risorse di rete. Ad esempio, se hai un software che ispeziona la configurazione di rete, puoi concedere all'account di servizio del software il ruolo Visualizzatore della rete.

  • Amministratori rete
  • Amministratori di sistema
  • Sviluppatori
  • Account di servizio
Amministratore archiviazione Compute Enginebeta

Autorizzazioni per creare, modificare ed eliminare dischi, immagini e snapshot.

Ad esempio, se nella tua azienda le immagini vengono gestite da una persona a cui non vuoi assegnare il ruolo di Editor nel progetto, assegna al suo account questo ruolo.

  • Amministratori di sistema
  • Sviluppatori
Amministratore VPC condivisa Compute Engine

Autorizzazioni per amministrare i progetti host della rete VPC condivisa, in particolare per attivare i progetti host e associare i progetti di servizio alla rete del progetto host. Questo ruolo può essere concesso solo a livello di organizzazione.

Autori dei progetti

Per visualizzare un elenco dei metodi API a cui un ruolo specifico concede l'autorizzazione, consulta la documentazione relativa ai ruoli IAM di Compute Engine.

Matrice dei ruoli predefiniti

La tabella seguente fornisce un confronto completo delle funzionalità di ciascun ruolo Compute Engine.

Capacità Amministratore istanza (v1) Utente dell'immagine Utente di rete Visualizzatore di reti Amministratore di rete Amministratore della sicurezza Amministratore dello spazio di archiviazione Amministratore del VPC condiviso Amministratore Compute Visualizzatore Compute Amministratore del bilanciatore del carico
Crea o elimina istanze VM *
Accedere tramite SSH alle istanze VM * *
Elenca o recupera le istanze VM
Creare o eliminare immagini, dischi, snapshot
Elenca o ricevi immagini
Creare o eliminare gruppi di istanze *
Elenca o recupera i gruppi di istanze
Creare e gestire i bilanciatori del carico
Creare e gestire le VPN
Visualizza le risorse di rete/subnet
Visualizza le regole firewall
Crea e gestisci firewall e certificati SSL per i firewall,
per i certificati SSL
Creare e gestire progetti host VPC condivisa
Utilizzare reti e sottoreti in un progetto host VPC condiviso
Creare e gestire reti e subnet

*Se l'istanza VM può essere eseguita come account di servizio, concedi anche il ruolo Utente account di servizio.

Per visualizzare un elenco dei metodi API a cui un ruolo specifico concede l'autorizzazione, consulta la documentazione relativa ai ruoli IAM di Compute Engine.

Ruoli IAM di base

I ruoli IAM di base si mappano direttamente ai ruoli di proprietario, editor e visualizzatore dei progetti precedenti. In genere, devi utilizzare i ruoli predefiniti, se possibile. Tuttavia, in alcuni casi, se IAM non è ancora supportato, potresti dover utilizzare un ruolo di base per concedere le autorizzazioni corrette.

Titolo del ruolo Autorizzazioni
Owner Tutti i privilegi di visualizzatore ed editor, oltre alla possibilità di modificare le impostazioni di fatturazione, gestire controllo dell'accesso ed eliminare un progetto.
Editor Tutti i privilegi di visualizzazione, oltre alla possibilità di creare, modificare ed eliminare le risorse.
Viewer Autorizzazioni di sola lettura per tutte le risorse; nessuna autorizzazione per modificare le risorse.

Per scoprire di più sui ruoli di base, leggi la documentazione relativa ai ruoli di base.

Se i ruoli di base o predefiniti non soddisfano le tue esigenze, puoi creare ruoli personalizzati.

Criteri IAM per le risorse Compute Engine

Puoi concedere l'accesso alle risorse di Compute Engine come istanze VM, immagini e dischi, collegando i criteri IAM direttamente a queste risorse. Un criterio IAM ti consente di gestire i ruoli IAM su queste risorse anziché, o in aggiunta a, gestire i ruoli a livello di progetto. In questo modo, hai la flessibilità di applicare il principio del privilegio minimo, ovvero concedere l'accesso solo alle risorse specifiche di cui i collaboratori hanno bisogno per svolgere il proprio lavoro.

Con i criteri IAM per le risorse Compute Engine, le organizzazioni possono:

  • Concedi agli utenti l'accesso a un sottoinsieme specifico di risorse. Supponiamo che Alice debba gestire un sottoinsieme di istanze in un progetto. Con i criteri IAM a livello di istanza, le concedi il ruolo compute.instanceAdmin.v1 solo per queste istanze. Se avessi concesso ad Alice lo stesso ruolo nel progetto, avrebbe l'autorizzazione per modificare tutte le istanze del progetto.
  • Consenti agli amministratori di concedere l'accesso. Gli amministratori possono concedere ad altre persone l'accesso a istanze, dischi e immagini senza dover essere proprietari di progetti con autorizzazioni elevate. Supponiamo che Bob sia uno sviluppatore a cui è stato assegnato il ruolo compute.storageAdmin per un'immagine specifica. Può condividerla con i suoi compagni di squadra concedendo loro il ruolo compute.imageUser per l'immagine. Senza i criteri IAM per le risorse Compute Engine, Bob non può condividere l'immagine con i suoi compagni di squadra, a meno che non diventi un proprietario del progetto, perché dovrebbe modificare il criterio IAM del progetto.

Le risorse ereditano anche i criteri delle risorse principali. Se imposti un'impostazione a livello di progetto, questa viene ereditata da tutte le risorse figlio. Il criterio applicato a una risorsa è dato dall'unione del criterio impostato per quella risorsa e del criterio ereditato dal livello superiore della gerarchia. Per ulteriori informazioni, consulta la gerarchia dei criteri IAM.

Criteri dell'organizzazione

Se sei un membro di Google Workspace, il tuo progetto potrebbe far parte di una risorsa dell'organizzazione. Una risorsa organizzazione è il supernodo nella gerarchia delle risorse di Google Cloud strettamente associato a un account Google Workspace. Dopo aver creato una risorsa Organization per un dominio Google Workspace, tutti i progetti Google Cloud creati dai membri del dominio appartengono alla risorsa Organization.

Un'organizzazione può implementare criteri dell'organizzazione, ovvero criteri che limitano le configurazioni consentite nell'intera gerarchia delle risorse Google Cloud. Per Compute Engine, puoi implementare i seguenti criteri:

Per impostare i Criteri dell'organizzazione, devi aver ricevuto il ruolo orgpolicy.policyAdmin nell'organizzazione. Puoi anche impostare sostituzioni specifiche per il progetto nel caso in cui siano presenti eccezioni alle norme.

Per scoprire di più sulle organizzazioni, consulta la documentazione relativa alle organizzazioni.

Per scoprire di più sui criteri dell'organizzazione, consulta la documentazione relativa ai criteri dell'organizzazione.

Concedere agli utenti l'accesso SSH alle istanze VM

Per consentire a un utente di connettersi a un'istanza VM utilizzando SSH senza grantirgli la possibilità di gestire le risorse di Compute Engine, aggiungi la chiave pubblica dell'utente al progetto o a un'istanza specifica. Con questo metodo, puoi evitare di aggiungere un utente come membro del progetto, pur concedendogli l'accesso a istanze specifiche.

Per scoprire di più su SSH e sulla gestione delle chiavi SSH, consulta la panoramica delle chiavi SSH.

Tieni presente che se concedi il ruolo roles/compute.instanceAdmin.v1 a un membro del progetto, quest'ultimo può connettersi automaticamente alle istanze utilizzando SSH, a condizione che l'istanza non sia configurata per l'esecuzione come account di servizio. Se l'istanza è configurata per essere eseguita come account di servizio, devi concedere anche il ruolo roles/iam.serviceAccountUser prima che il membro possa connettersi all'istanza.

Se aggiungi un membro come proprietario o editor del progetto, avrà automaticamente anche accesso SSH alle istanze VM del progetto.

Controllo dell'accesso per le app in esecuzione sulle istanze VM

Se esegui il codice dell'app sulle istanze e l'app deve eseguire l'autenticazione in altre API Google Cloud, puoi creare account di servizio e assegnare a questi account di servizio ruoli IAM specifici per eseguire l'autenticazione per tuo conto in altre API Google Cloud. Un account di servizio è un account speciale che non dispone di credenziali utente ed è ideale per le interazioni tra server.

Per scoprire di più sugli account di servizio, consulta la documentazione relativa agli account di servizio.

Identità di workload gestite per i carichi di lavoro Compute Engine

Puoi configurare il provisioning automatico e la gestione del ciclo di vita dei certificati X.509 da Certificate Authority Service (servizio CA) utilizzando le identità dei carichi di lavoro gestiti. I certificati di identità dei workload gestiti vengono emessi da CA Service, un servizio Google Cloud scalabile e ad alta disponibilità che ti consente di semplificare e automatizzare il deployment, la gestione e la sicurezza dei servizi CA, mantenendo il controllo delle tue chiavi private.

Con le identità di carico di lavoro gestite, puoi usufruire di mTLS per VM, gestito da Compute Engine. mTLS per VM utilizza i certificati X.509 che vengono emessi quando crei una VM. Questi certificati mTLS vengono ruotati automaticamente, quindi non dovrai più preoccuparti di gestirli.

Le identità dei carichi di lavoro gestiti forniscono una base per abilitare le comunicazioni mutuamente autenticate e criptate tra due VM Compute Engine. Ad esempio, quando utilizzi le identità dei carichi di lavoro gestiti, il servizio A in esecuzione in una VM comunica con il servizio B in esecuzione in un'altra VM tramite un canale criptato stabilito utilizzando mTLS.

Per informazioni sulla configurazione delle identità dei carichi di lavoro gestiti, consulta Autenticare i carichi di lavoro con altri carichi di lavoro tramite mTLS.

Passaggi successivi