Questo documento descrive come utilizzare OS Login per gestire l'accesso alle istanze VM all'interno della tua organizzazione.
Questo argomento illustra le seguenti attività:
- Abilita OS Login per un'organizzazione utilizzando una policy dell'organizzazione: utilizza una policy dell'organizzazione per assicurarti che in tutte le nuove istanze VM dell'organizzazione sia abilitato OS Login.
- Concedi l'accesso alle istanze a utenti esterni all'organizzazione: consenti agli account utente esterni all'organizzazione di utilizzare SSH per connettersi alle istanze.
- Gestisci l'API OS Login: consenti o nega agli utenti l'accesso all'API OS Login. Inoltre, attiva o disattiva le funzionalità dell'API OS Login.
- Controlla gli eventi di OS Login: monitora gli eventi e le attività correlati a OS Login, ad esempio l'aggiunta, l'eliminazione o l'aggiornamento di una chiave SSH o l'eliminazione di informazioni POSIX.
- Modifica gli account utente utilizzando l'API Directory: aggiorna le proprietà utente, come il nome utente e i dati dell'account POSIX, utilizzando l'API Directory.
- Utilizza i gruppi Linux con OS Login (deprecato): gestisci le autorizzazioni utente all'interno delle VM utilizzando i gruppi Linux con OS Login.
- Utilizza OS Login con la federazione delle identità per la forza lavoro (anteprima): connettiti alle VM in cui è abilitato OS Login quando la tua organizzazione utilizza un provider di identità (IdP) esterno.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Policy dell'organizzazione di OS Login
Puoi configurare un vincolo OS Login nella tua organizzazione per assicurarti che tutti i nuovi progetti e le istanze VM create in questi nuovi progetti abbiano OS Login abilitato.
Quando questo vincolo è configurato, vengono applicate le seguenti condizioni:
enable-oslogin=true
è incluso nei metadati del progetto per tutti i nuovi progetti.- Le richieste che impostano
enable-oslogin
sufalse
nei metadati di istanza o progetto vengono rifiutate per VM e progetti nuovi ed esistenti.
Limitazioni
OS Login non è supportato nei seguenti prodotti, funzionalità e VM:- Versioni di Cloud Data Fusion 6.1.4 e precedenti
- Cloud Composer 1
- Cluster pubblici Google Kubernetes Engine (GKE) che eseguono versioni precedenti alla 1.23.5
- Cluster privati GKE che eseguono versioni del node pool precedenti alla 1.20.5
- Dataproc Serverless
- VM Windows Server e SQL Server
- VM Fedora CoreOS. Per gestire l'accesso delle istanze alle VM create utilizzando queste immagini, utilizza il sistema di ignizione Fedora CoreOS
Soluzioni alternative per Cloud Data Fusion, Cloud Composer e GKE
Per utilizzare OS Login nelle organizzazioni che utilizzano Cloud Data Fusion, Cloud Composer e GKE, puoi attivare il vincolo OS Login a livello di organizzazione e poi disattivarlo in modo selettivo per i progetti o le cartelle interessati.
Per ulteriori informazioni sulla modifica delle policy dell'organizzazione, consulta la pagina sulla creazione e modifica delle policy.
Attiva la policy dell'organizzazione
Per attivare la policy OS Login, puoi impostare il vincolo OS Login su progetti e cartelle specifici utilizzando Google Cloud CLI. Puoi anche impostare il vincolo OS Login per l'intera organizzazione utilizzando la console Google Cloud o Google Cloud CLI.
Console
Per impostare la policy dell'organizzazione di OS Login dalla console, completa i seguenti passaggi:
- Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
- Nell'elenco delle policy, fai clic su Richiedi OS Login per visualizzare i vincoli di OS Login.
- Fai clic su Modifica per modificare i vincoli di OS Login esistenti.
- Nella pagina Modifica, seleziona Personalizza.
- Per attivare l'applicazione di questo vincolo, seleziona On.
- Fai clic su Salva per applicare le impostazioni dei vincoli.
gcloud
Per impostare la policy dell'organizzazione di OS Login, utilizza il comando
gcloud beta resource-manager org-policies enable-enforce
.Trova il tuo ID organizzazione.
gcloud organizations list
Imposta il vincolo nella tua organizzazione. Sostituisci
organization-id
con il tuo ID organizzazione.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
Puoi anche applicare la policy dell'organizzazione di OS Login a una cartella o a un progetto con i flag
--folder
o--project
e, rispettivamente, l'ID cartella e l'ID progetto.Per le cartelle, esegui questo comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Per i progetti, esegui questo comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Sostituisci quanto segue:
folder-id
: il tuo ID cartella.project-id
: il tuo ID progetto.
Concedi l'accesso alle istanze a utenti esterni all'organizzazione
Per impostazione predefinita, gli utenti esterni all'organizzazione non possono impostare chiavi SSH per le istanze all'interno dell'organizzazione né ricevere l'accesso alle istanze. In alcune situazioni, potresti dover concedere l'accesso alle istanze a utenti che fanno parte di un'altra organizzazione o che hanno un Account Google
gmail.com
consumer.Il ruolo IAM
roles/compute.osLoginExternalUser
consente agli Account Google esterni di interagire con gli altri ruoli di OS Login consentendo di configurare i dati dell'account POSIX.Per concedere agli utenti esterni all'organizzazione i ruoli di accesso alle istanze di OS Login
roles/compute.osLoginExternalUser
e ad altri ruoli necessari, completa i seguenti passaggi:- Nella console Google Cloud , vai alla pagina IAM e amministrazione.
- Fai clic su Seleziona un progetto dal menu a discesa. Nella finestra di dialogo Seleziona una risorsa che viene visualizzata, seleziona la tua organizzazione nel seguente modo:
- Fai clic sul menu a discesa dell'organizzazione per visualizzare tutte le tue organizzazioni.
- Seleziona la tua organizzazione dal menu a discesa.
- Fai clic su Concedi l'accesso per aggiungere un nuovo ruolo a un utente.
- Nel campo Nuove entità, aggiungi l'indirizzo email dell'utente per cui vuoi configurare l'accesso alle istanze.
- Dal menu a discesa Ruolo, seleziona il ruolo Compute OS Login External User.
- Fai clic su Salva.
- Se non lo hai ancora fatto, concedi altri ruoli di accesso alle istanze OS Login all'utente a livello di progetto o organizzazione.
Ora l'utente può connettersi alle istanze nel progetto in cui è abilitato OS Login.
Gestisci l'API OS Login
A livello di organizzazione, puoi limitare l'accesso all'API OS Login impostando i controlli amministratore di Google Workspace. Per configurare i controlli amministratore di Google Workspace o visualizzare le opzioni di configurazione, consulta Controlla chi utilizza Google Cloud nella tua organizzazione. In qualità di amministratore di Google Workspace, puoi anche attivare o disattivare determinate funzionalità dell'API OS Login. Sono incluse le seguenti opzioni:
- Scegli se includere il suffisso di dominio nei nomi utente generati dall'API OS Login. Ad esempio, nel dominio
example.com
, l'utenteuser@example.com
avrà il nome utenteuser
se l'impostazione per includere il suffisso di dominio non è selezionata. - Decidi se i membri della tua organizzazione possono gestire le chiavi SSH utilizzando l'API OS Login.
- Limita o consenti l'accesso alle VM agli utenti esterni all'organizzazione.
Per saperne di più su come attivare o disattivare le impostazioni dell'API OS Login, consulta Scegliere le impostazioni per la piattaforma Google Cloud.
Controlla gli eventi OS Login
In qualità di amministratore di Google Workspace, puoi utilizzare SDK Admin di Google Workspace per controllare le azioni eseguite con l'API OS Login. Esaminando questi eventi, puoi monitorare quando un utente aggiunge, elimina o aggiorna una chiave SSH o elimina i dati dell'account POSIX.
Puoi recuperare gli eventi di attività di controllo dell'API OS Login da SDK Admin di Google Workspace chiamando
Activities.list()
conapplicationName=gcp
. Per saperne di più, consulta gli eventi di attivitàGoogle Cloud nella documentazione dell'API Reports di SDK Admin di Google Workspace.Modifica gli account utente utilizzando l'API Directory
OS Login utilizza le impostazioni utente di Cloud Identity o Google Workspace quando ti connetti a un'istanza. Se sei un amministratore dell'organizzazione, puoi utilizzare l'API Directory per completare le seguenti attività per i tuoi account utente Google Workspace o Cloud Identity:
- Modificare le impostazioni di accesso all'istanza.
- Impostare un utente come amministratore
- Modificare le proprietà utente, ad esempio il nome e l'email dell'account
- Aggiungere e rimuovere chiavi SSH per un utente
- Modificare i dati dell'account POSIX
- Modificare il nome utente a cui gli utenti si connettono nell'istanza.
I seguenti esempi mostrano come modificare o rimuovere gli account utente utilizzando l'API Directory. Per ulteriori informazioni sulle proprietà dell'account che puoi modificare, consulta il riferimento API Directory.
Modifica le proprietà dell'account
Per modificare i dati dell'account POSIX di un utente o gestire le sue chiavi SSH, invia una richiesta
PUT
al metododirectory.users.update
e specifica una o più proprietà da modificare nell'account utente.Se modifichi le proprietà
posixAccounts
di un utente, devi specificare i valoriusername
,uid
egid
correnti o nuovi nella richiesta.Se modifichi le proprietà
sshPublicKeys
dell'utente, devi specificare il valorekey
nella richiesta.Di seguito è riportato un esempio di richiesta
PUT
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": [ { "username": "USERNAME", "uid": "UID", "gid": "GID", "homeDirectory": "USER_HOME_PATH", "shell": "SHELL_PATH" } ], "sshPublicKeys": [ { "key": "KEY_VALUE", "expirationTimeUsec": EXPIRATION_TIME } ], }
Sostituisci quanto segue:
USER_KEY
: l'indirizzo email principale dell'utente, indirizzo email alias o ID utente unico.USERNAME
: il nome utente che Compute Engine aggiunge alla VM per l'utente. Questo valore deve essere unico all'interno dell'organizzazione e non deve terminare con una tilde ("~") o contenere un punto (".").UID
: ID utente sulla VM per questo utente. Questa proprietà deve essere un valore compreso tra1001
e60000
o tra65535
e2147483647
. Per accedere a un Container-Optimized OS, il valore diUID
deve essere compreso tra65536
e214748646
.UID
deve essere univoco all'interno dell'organizzazione.GID
: l'ID gruppo della VM a cui appartiene l'utente.USER_HOME_PATH
: (facoltativo) la home directory sulla VM per l'utente. Ad esempio,/home/example_username
.SHELL_PATH
: (facoltativo) il percorso della shell predefinita per l'utente dopo la connessione all'istanza. Ad esempio,/bin/bash
o/bin/sh
.KEY_VALUE
: il valore della chiave pubblica SSH.EXPIRATION_TIME
: (facoltativo) la data e ora di scadenza della chiave in microsecondi dall'epoca (1 secondo = 106 microsecondi).
Rimuovi le proprietà dell'account
Per cancellare i dati
posixAccounts
esshPublicKeys
per un utente, invia una richiestaPUT
al metododirectory.users.update
, impostando i campiposixAccounts
esshPublicKeys
sunull
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Sostituisci
USER_KEY
con l'indirizzo email principale, l'indirizzo email alias o l'ID utente unico dell'utente.Utilizza i gruppi Linux con OS Login (deprecato)
Gli amministratori dell'organizzazione possono utilizzare API Cloud Identity Groups per configurare gruppi Linux supplementari per gli utenti di OS Login creando e gestendo gruppi POSIX. OS Login collega i gruppi POSIX ai gruppi Linux supplementari nelle VM della tua organizzazione in modo da poter gestire le autorizzazioni degli utenti nelle tue VM.
Gestisci l'appartenenza degli utenti ai gruppi Linux
Per creare un gruppo POSIX, consulta Creazione e aggiornamento dei gruppi POSIX.
Per aggiungere utenti a un gruppo, consulta Aggiungi o invita utenti in un gruppo.
Gli aggiornamenti dell'appartenenza vengono applicati entro 10 minuti. Le modifiche al gruppo vengono applicate a tutte le VM appena create. La propagazione degli aggiornamenti dei gruppi POSIX a tutte le VM in esecuzione può richiedere fino a sei ore. Gli utenti potrebbero doversi disconnettere o utilizzare il comando
newgrp
per visualizzare le modifiche al gruppo.Elimina le configurazioni dei gruppi POSIX
Il supporto dei gruppi POSIX di OS Login è deprecato. Ti consigliamo di eliminare le configurazioni dei gruppi POSIX di OS Login.
Per eliminare le configurazioni dei gruppi POSIX di OS Login, devi essere un amministratore dell'organizzazione.
- Se non lo conosci, recupera l'ID risorsa dell'organizzazione.
- Crea un elenco di tutti i gruppi POSIX nella tua organizzazione. Prendi nota dell'indirizzo email di ciascun gruppo.
- Per ogni gruppo POSIX della tua organizzazione, segui questi passaggi:
- Recupera le informazioni del gruppo. Nota
posixGroups.gid
. - Elimina il gruppo POSIX.
- Recupera le informazioni del gruppo. Nota
- Se vuoi, verifica che tutti i gruppi siano stati eliminati creando un elenco di tutti i gruppi POSIX della tua organizzazione. Se tutti i gruppi sono stati eliminati correttamente, la risposta è vuota.
Limiti di frequenza per i gruppi Linux con OS Login
I gruppi Linux con OS Login utilizzano la quota
oslogin.googleapis.com/metadata_server_groups_requests
. Per impostazione predefinita, il limite di quota è di 60 richieste/minuto per progetto per una determinata regione.Se hai bisogno di un limite di frequenza superiore, puoi richiedere un aggiustamento della quota dalla pagina Quote nella console Google Cloud .
Utilizza la federazione delle identità per la forza lavoro con OS Login
Le organizzazioni che utilizzano la federazione delle identità per la forza lavoro possono utilizzare OS Login per gestire l'accesso alle proprie VM. Quando la federazione delle identità per la forza lavoro è attivata per un'organizzazione, OS Login utilizza l'autenticazione basata su certificati anziché l'autenticazione basata su chiavi per verificare le identità degli utenti.
Prima di iniziare
- Crea un pool di identità per la forza lavoro.
- Configura le mappature degli attributi
google.posix_username
. Configura la VM in modo che utilizzi OS Login con la federazione delle identità per la forza lavoro seguendo questi passaggi:
Verifica che sulla VM sia installato OpenSSH 7.4 o versioni successive eseguendo il seguente comando sulla VM:
ssh -V
Limitazioni
- La VM a cui ti connetti deve avere OpenSSH versione 7.4 o successive per utilizzare la federazione delle identità per la forza lavoro con OS Login.
- Se la tua organizzazione utilizza la federazione delle identità per la forza lavoro, non puoi accedere alle porte seriali della VM.
- I certificati SSH sono supportati solo per le VM nelle seguenti regioni:
asia-east1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west4
northamerica-northeast1
southamerica-west1
us-central1
us-central2
us-east1
us-east4
us-east5
us-east7
us-south1
us-west1
us-west4
us-west8
Connettiti alle VM che utilizzano OS Login e la federazione delle identità per la forza lavoro
Connettiti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro utilizzando la consoleGoogle Cloud , gcloud CLI o altri client SSH.
Console
Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro tramite SSH nel browser, Compute Engine configura il certificato SSH per tuo conto quando provi a connetterti.
Per connetterti alle VM, segui questi passaggi:
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
gcloud
Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro tramite gcloud CLI, Compute Engine configura il certificato SSH per tuo conto quando provi a connetterti.
Connettiti a una VM tramite SSH eseguendo il comando
gcloud beta compute ssh
:-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Esegui questo comando:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene la VMZONE
: il nome della zona in cui si trova la VMVM_NAME
: il nome della VM
Se hai impostato proprietà predefinite per Google Cloud CLI, puoi omettere i flag
--project
e--zone
da questo comando. Ad esempio:gcloud compute ssh VM_NAME
IAP Desktop
Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro utilizzando IAP Desktop, Compute Engine configura il certificato SSH per tuo conto quando provi a connetterti.
Per connetterti a una VM utilizzando IAP Desktop, segui questi passaggi:
-
Se non l'hai ancora fatto, Installa IAP Desktop sulla tua workstation.
-
Apri IAP Desktop. Viene visualizzata la finestra Aggiungi progetti.
-
Quando richiesto, accedi con la federazione delle identità per la forza lavoro.
-
Nella finestra Aggiungi progetti, inserisci l'ID progetto o il nome del progetto che contiene le VM a cui vuoi connetterti.
-
Nella finestra Project Explorer, fai di nuovo clic con il tasto destro del mouse sul nome della VM e seleziona Connetti per connetterti alla VM.
client SSH
Per connetterti a una VM che utilizza OS Login con la federazione delle identità per la forza lavoro utilizzando un client SSH, segui questi passaggi:
- Crea una chiave SSH se non ne hai già una.
Firma la tua chiave pubblica SSH utilizzando il metodo
users.projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/users/USER/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" }
Sostituisci quanto segue:
USER
: una singola identità in un pool di forza lavoro, nel seguente formato:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Sostituisci quanto segue:
POOL_ID
: il pool di forza lavoro a cui appartiene l'utente.SUBJECT_ATTRIBUTE_VALUE
: il valore della mappatura degli attributigoogle.posix_username
dell'utente.
PROJECT_ID
: l'ID progetto del progetto che contiene la VM a cui vuoi connetterti.LOCATION
: la zona in cui si trova la VM a cui vuoi connetterti.PUBLIC_KEY
: i contenuti del file della chiave pubblica SSH.
Copia il certificato SSH dall'output del metodo
user.signSshPublicKey
e salva i contenuti in un nuovo file.Imposta le autorizzazioni sul file del certificato SSH eseguendo il seguente comando:
sudo chmod 600 FILE_NAME
Sostituisci
FILE_NAME
con il nome del file.Connettiti alla VM utilizzando il seguente comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Sostituisci quanto segue:
PATH_TO_PRIVATE_KEY
: il percorso del file della chiave SSH privata.PATH_TO_SSH_CERTIFICATE
: il percorso del file del certificato SSH.USERNAME
: il valore della mappatura degli attributigoogle.posix_username
dell'utente.EXTERNAL_IP
: l'indirizzo IP esterno della VM.
Passaggi successivi
- Scopri come configurare l'API OS Login.
- Scopri come configurare OS Login con la verifica in due passaggi.
- Leggi una panoramica della funzionalità OS Login.
- Risolvere i problemi relativi a OS Login
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-09-04 UTC.
-