Questo documento descrive come utilizzare OS Login per gestire l'accesso alla VM all'interno dell'organizzazione.
Questo argomento illustra le seguenti attività:
- Abilita OS Login per un'organizzazione utilizzando un criterio dell'organizzazione: utilizza un criterio dell'organizzazione per assicurarti che in tutte le nuove istanze VM della organizzazione sia abilitato OS Login.
- Concedi l'accesso all'istanza a utenti esterni all'organizzazione: Consenti agli account utente esterni all'organizzazione di utilizzare SSH per connettersi a delle tue istanze.
- Gestire l'API OS Login: consenti o negare agli utenti l'accesso per utilizzare l'API OS Login. Attiva o disattiva anche le funzionalità dell'API OS Login.
- Controlla gli eventi di accesso al sistema operativo: monitora gli eventi e le attività correlati all'accesso al sistema operativo, ad esempio l'aggiunta, l'eliminazione o l'aggiornamento di una chiave SSH o l'eliminazione di informazioni POSIX.
- Modificare gli account utente utilizzando l'API Directory: aggiornamento alle proprietà utente, come il nome utente e i dati dell'account POSIX, utilizzando l'API Directory.
- Usa gruppi Linux con OS Login (deprecato): gestisci le autorizzazioni utente usando gruppi Linux con OS Login.
- Utilizza OS Login con federazione delle identità per la forza lavoro (Anteprima): connettiti alle VM con sistema operativo L'accesso è abilitato 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 è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
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, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
enable-oslogin=true
è incluso nei metadati di progetto per tutti i nuovi in modo programmatico a gestire i progetti.- Richieste che impostano
enable-oslogin
sufalse
nell'istanza o nel progetto vengono rifiutati tutti per VM e progetti nuovi ed esistenti. - Cloud Data Fusion 6.1.4 e versioni 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 pool di nodi precedente 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
- Nella console Google Cloud, vai alla pagina Criteri dell'organizzazione.
- Nell'elenco dei criteri, fai clic su Richiedi OS Login per visualizzare il Vincoli di OS Login.
- Fai clic su Modifica per modificare i vincoli esistenti di OS Login.
- Nella pagina Modifica, seleziona Personalizza.
- Per attivare l'applicazione di questa limitazione, seleziona On.
- Fai clic su Salva per applicare le impostazioni del vincolo.
Trova l'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
folder-id
: il tuo ID cartella.project-id
: il tuo ID progetto.- Nella console Google Cloud, vai alla sezione IAM e Console di amministrazione.
- Fai clic sul menu a discesa Seleziona un progetto. Nella sezione Seleziona una risorsa
Seleziona la tua organizzazione procedendo nel seguente modo:
- Fai clic sul menu a discesa delle organizzazioni 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 il quale in cui vuoi configurare l'accesso all'istanza.
- Nel menu a discesa Ruolo, seleziona il ruolo Utente esterno OS Login Compute.
- Fai clic su Salva.
- Se non lo hai ancora fatto, concedi all'utente gli altri ruoli di accesso alle istanze OS Login a livello di progetto o organizzazione.
- 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 del dominio non è selezionata. - Decidi se i membri della tua organizzazione possono gestire le chiavi SSH utilizzando il sistema operativo API Login.
- Limita o consenti l'accesso alle VM a utenti esterni all'organizzazione.
- 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
- Cambia il nome utente a cui gli utenti si connettono sull'istanza.
USER_KEY
: l'indirizzo email principale, l'indirizzo email alias o l'ID utente univoco dell'utente.USERNAME
: il nome utente Compute Engine aggiunge la 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
: l'ID utente sulla VM per questo utente. Questa proprietà deve essere un valore compreso tra1001
e60000
o un valore tra65535
e2147483647
. Per accedere a un sistema operativo ottimizzato per i container, il valore diUID
deve essere compreso tra65536
e214748646
. Il valoreUID
deve essere univoco all'interno della tua 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 del file predefinito della shell per l'utente dopo essersi connesso all'istanza. Ad esempio:/bin/bash
o/bin/sh
.KEY_VALUE
: il valore della chiave pubblica SSH.EXPIRATION_TIME
: (facoltativo) la data e l'ora di scadenza della chiave in microsecondi dall'epoca (1 secondo = 106 microsecondi).- Se non conosci l'ID risorsa dell'organizzazione, recuperalo.
- Elenca tutti i gruppi POSIX che fa parte della tua organizzazione. Prendi nota dell'indirizzo email di ogni gruppo.
- Per ogni gruppo POSIX della tua organizzazione:
- Recupero delle informazioni del gruppo. Tieni presente
posixGroups.gid
. - Elimina il gruppo POSIX.
- Recupero delle informazioni del gruppo. Tieni presente
- Se vuoi, verifica che tutti i gruppi siano stati eliminati elencando tutti i gruppi POSIX della tua organizzazione. Se tutti i gruppi sono stati eliminati correttamente, la risposta è vuota.
- Crea un pool di identità della forza lavoro.
- Configura le mappature degli attributi
google.posix_username
. Configura la VM in modo che utilizzi l'accesso al sistema operativo con la federazione delle identità della forza lavoro come segue:
Verifica che nella VM sia installato OpenSSH 7.4 o versione successiva eseguendo il seguente comando sulla VM:
ssh -V
La VM a cui ti stai connettendo deve avere OpenSSH versione 7.4 o successiva per utilizzare la federazione delle identità della forza lavoro con OS Login.
Gli utenti delle organizzazioni che utilizzano la federazione delle identità per la forza lavoro non possono accedere alle porte seriali della VM.
- 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.
-
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 contenente 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
-
Installa IAP desktop sulla workstation, se non l'hai già fatto.
-
Apri IAP Desktop. Si apre la finestra Aggiungi progetti.
-
Quando richiesto, di accedere con la federazione delle identità per la forza lavoro.
-
Nella finestra Aggiungi progetti, inserisci l'ID o il nome del progetto che contiene le VM a cui vuoi connetterti.
-
Nella finestra Esploratore progetti, fai di nuovo clic con il tasto destro del mouse sul nome della VM e seleziona Connetti per connetterti alla VM.
- 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 a.SUBJECT_ATTRIBUTE_VALUE
: il valore della mappatura degli attributigoogle.posix_username
dell'utente.
PROJECT_ID
: l'ID del progetto che contiene la VM a cui vuoi connetterti.LOCATION
: la zona in cui vuoi connettere la VM a.PUBLIC_KEY
: i contenuti del file della chiave pubblica SSH.
Copia il certificato SSH dall'output del
user.signSshPublicKey
metodo e salva i contenuti in un nuovo file.Imposta le autorizzazioni sul file del certificato SSH, eseguendo questo 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 del parametro Mappatura degli attributigoogle.posix_username
.EXTERNAL_IP
: l'indirizzo IP esterno della VM.
- 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.
- Risoluzione dei problemi OS Login.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Criterio dell'organizzazione per 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:
Limitazioni
OS Login non è supportato nei seguenti prodotti, funzionalità e VM: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 dei criteri dell'organizzazione, consulta la sezione sulla creazione e modifica dei criteri.
Attiva il criterio dell'organizzazione
Per attivare il criterio OS Login, puoi impostare la limitazione OS Login su progetti e cartelle specifici utilizzando Google Cloud CLI. Puoi anche impostare il vincolo di accesso al sistema operativo per l'intera organizzazione utilizzando la console Google Cloud o Google Cloud CLI.
Console
Per impostare il criterio dell'organizzazione per l'accesso al sistema operativo dalla console, completa i seguenti passaggi:
gcloud
Per impostare il criterio dell'organizzazione di OS Login, utilizza il comando
gcloud beta resource-manager org-policies enable-enforce
.Puoi anche applicare il criterio dell'organizzazione OS Login a una cartella o un progetto con i flag
--folder
o--project
, nonché l'ID cartella e il progetto ID rispettivamente.Per le cartelle, esegui questo comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Per i progetti, esegui il seguente comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Sostituisci quanto segue:
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 all'istanza 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 loro di configurare i dati dell'account POSIX.Per concedere
roles/compute.osLoginExternalUser
e altri OS Login necessari ruoli di accesso alle istanze per gli utenti esterni all'organizzazione, seguenti passaggi:Ora l'utente può connettersi alle istanze nel tuo progetto in cui è abilitato l'accesso tramite sistema operativo.
Gestire l'API OS Login
A livello di organizzazione, puoi limitare l'accesso all'API OS Login impostando Controlli amministratore di Google Workspace. Per configurare i controlli amministrativi di Google Workspace o visualizzare le opzioni di configurazione, consulta Controllare 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:
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 di accesso al sistema operativo
In qualità di amministratore di Google Workspace, puoi utilizzare il ruolo Amministratore di Google Workspace SDK 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 dall'SDK Admin di Google Workspace chiamando
Activities.list()
conapplicationName=gcp
. Per ulteriori informazioni, vedi Eventi di attività di Google Cloud nella documentazione dell'API Google Workspace Admin SDK Reports.Modificare gli account utente utilizzando l'API Directory
OS Login utilizza Cloud Identity o Google Workspace impostazioni utente per la connessione 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:
I seguenti esempi mostrano come modificare o rimuovere gli account utente utilizzando la proprietà l'API Directory. Per ulteriori informazioni sulle proprietà dell'account che puoi modificare, consulta il riferimento all'API Directory.
Modificare le proprietà dell'account
Per modificare i dati dell'account POSIX di un utente o gestire le sue chiavi SSH, invia una richiesta
PUT
a Metododirectory.users.update
e specificare una o più proprietà da modificare nell'account utente.Se modifichi le proprietà
posixAccounts
di un utente, devi specificare il campo valoriusername
,uid
egid
nuovi o attuali nella richiesta.Se modifichi le proprietà
sshPublicKeys
dell'utente, devi specificare il parametro 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:
Rimuovere le proprietà dell'account
Per cancellare i dati
posixAccounts
esshPublicKeys
per un utente: invia una richiestaPUT
a il metododirectory.users.update
, imposto 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 dell'utente indirizzo email alias o ID utente univoco.Utilizza gruppi Linux con OS Login (deprecato)
Gli amministratori dell'organizzazione possono utilizzare API Cloud Identity Groups per configurare Gruppi Linux per utenti OS Login tramite la creazione e la gestione di gruppi POSIX. OS Login collega i gruppi POSIX a gruppi Linux supplementari nelle VM della tua organizzazione per consentirti di gestire le autorizzazioni di cui gli utenti dispongono nelle tue VM.
Gestire l'appartenenza degli utenti nei gruppi Linux
Per creare un gruppo POSIX, consulta Creare e aggiornare i gruppi POSIX.
Per aggiungere utenti a un gruppo, vedi Aggiungere o invitare utenti in un gruppo.
Gli aggiornamenti all'abbonamento diventeranno effettivi entro 10 minuti. Le modifiche al gruppo sono in tutte le VM appena create. Gli aggiornamenti dei gruppi POSIX possono richiedere fino a sei ore per propagarsi a tutte le VM in esecuzione. Gli utenti potrebbero dover uscire o utilizzare
newgrp
per osservare le modifiche al gruppo.Eliminare le configurazioni dei gruppi POSIX
Il supporto del gruppo POSIX di accesso al sistema operativo è stato ritirato. Ti consigliamo di eliminare il sistema operativo Configurazioni dei gruppi POSIX di accesso.
Per eliminare le configurazioni dei gruppi POSIX di accesso al sistema operativo, devi essere un amministratore dell'organizzazione.
Limiti di frequenza per i gruppi Linux con accesso al sistema operativo
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 al minuto, per progetto per una particolare regione.Se hai bisogno di un limite di frequenza più elevato, puoi richiedere una quota aggiuntiva nella pagina Quote del nella console Google Cloud.
Utilizzare la federazione delle identità per la forza lavoro con OS Login
Le organizzazioni che utilizzano federazione delle identità per la forza lavoro può utilizzare OS Login per gestire l'accesso alle proprie VM. Quando la federazione delle identità della forza lavoro è attivata per un'organizzazione, Accesso sistema operativo utilizza l'autenticazione basata su certificato anziché l'autenticazione basata su chiavi per verificare le identità utente.
Prima di iniziare
Limitazioni
Connettiti alle VM che utilizzano OS Login e la federazione delle identità della forza lavoro
Connettiti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud o altri client SSH.
Console
Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità della 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:
gcloud
Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità della forza lavoro utilizzando la CLI gcloud, Compute Engine configura il certificato SSH per tuo conto quando provi a connetterti.
Connettiti a una VM tramite SSH eseguendo Comando
gcloud beta compute ssh
:IAP per computer desktop
Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità della 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:
Client SSH
Per connetterti a una VM che utilizza OS Login con la federazione delle identità per la forza lavoro utilizzando un client SSH, procedi nel seguente modo:
Passaggi successivi
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 2024-10-14 UTC.
-