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 padre 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 Google del progetto prima di poter utilizzare le immagini di altri progetti. |
|
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 |
|
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 |
|
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. |
|
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. |
|
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. |
|
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. |
|
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, dovresti 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.
Norme 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 ruolocompute.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 di primo livello. 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 di risorse Google Cloud. Per Compute Engine, puoi implementare i seguenti criteri:
- Disattiva l'accesso interattivo alla console seriale.
- Disattiva gli indirizzi IP esterni per le istanze VM.
- Limitare i progetti di immagini disponibili per i membri del progetto
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 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 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 workload di 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 workload gestiti, consulta Autenticare i workload con altri workload tramite mTLS.
Passaggi successivi
- Aggiungi utenti come membri del team.
- Scopri di più sui ruoli IAM.
- Scopri di più su come aggiungere e rimuovere le chiavi SSH.
- Scopri di più sugli account di servizio.