Gestire OS Login in un'organizzazione

Questo documento descrive come utilizzare OS Login per gestire l'accesso alla VM all'interno dell'organizzazione.

Questo argomento tratta le seguenti attività:

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di 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

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Criterio dell'organizzazione OS Login

Puoi configurare un vincolo di OS Login nella tua organizzazione per assicurarti che tutti I nuovi progetti e le istanze VM create in questi nuovi progetti hanno OS Login in un bucket con il controllo delle versioni attivo.

Quando questo vincolo è configurato, vengono applicate le seguenti condizioni:

  • enable-oslogin=true è incluso nei metadati di progetto per tutti i nuovi in modo programmatico a gestire i progetti.
  • Richieste che impostano enable-oslogin su false nell'istanza o nel progetto vengono rifiutati tutti per VM e progetti nuovi ed esistenti.

Limitazioni

OS Login non è supportato nei seguenti prodotti, funzionalità e VM:
  • Cloud Data Fusion 6.1.4 e versioni precedenti
  • Cloud Composer 1
  • Cluster pubblici di Google Kubernetes Engine (GKE) che eseguono versioni precedenti 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 alle istanze VM create utilizzando questi utilizza il sistema di accensione 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, abilitare il vincolo di OS Login a livello di organizzazione di disabilitare il vincolo sui progetti o sulle cartelle in modo programmatico a gestire i progetti.

Per saperne di più sulla modifica dei criteri dell'organizzazione, consulta creazione e modifica di criteri.

Abilita il criterio dell'organizzazione

Per abilitare il criterio di OS Login, puoi impostare il vincolo di OS Login su a progetti e cartelle specifici con Google Cloud CLI. Puoi anche Impostare il vincolo di OS Login per l'intera organizzazione utilizzando la console Google Cloud o Google Cloud CLI.

Console

Per impostare OS Login criteri dell'organizzazione dalla console, completa questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri dell'organizzazione.

    Vai alla pagina Criteri dell'organizzazione

  2. Nell'elenco dei criteri, fai clic su Richiedi OS Login per visualizzare il Vincoli di OS Login.
  3. Fai clic su Modifica per modificare i vincoli esistenti di OS Login.
  4. Nella pagina Modifica, seleziona Personalizza.
  5. Per attivare l'applicazione di questo vincolo, seleziona On.
  6. Fai clic su Salva per applicare le impostazioni del vincolo.

gcloud

Per impostare il criterio dell'organizzazione OS Login, utilizza la gcloud beta resource-manager org-policies enable-enforce .

  1. Trova l'ID organizzazione.

    gcloud organizations list
  2. 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 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 questo comando:

gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \
    --project=project-id

Sostituisci quanto segue:

Concedi l'accesso all'istanza agli utenti esterni all'organizzazione

Per impostazione predefinita, gli utenti esterni all'organizzazione non possono impostare chiavi SSH per le istanze nella tua organizzazione o di avere accesso alle istanze della tua organizzazione. Nel in alcune situazioni, potrebbe essere necessario concedere l'accesso all'istanza agli utenti che fanno parte di un'altra organizzazione o che hanno un Account Google gmail.com consumer.

La roles/compute.osLoginExternalUser Il ruolo IAM 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:

  1. Nella console Google Cloud, vai al progetto e all'organizzazione pagina di selezione.

    Vai alla pagina di selezione dei progetti e delle organizzazioni

  2. Nel menu a discesa Organizzazione, seleziona la tua organizzazione.
    1. Fai clic su Tutte per visualizzare tutte le tue organizzazioni.
    2. Fai clic sul nome dell'organizzazione.
  3. Fai clic su Aggiungi per aggiungere un nuovo ruolo a un utente.
  4. Specifica il nome utente dell'utente per il quale vuoi e configurare l'accesso all'istanza.
  5. Fai clic su Seleziona un ruolo per specificare i ruoli che vuoi concedere al utenti.
  6. Nell'elenco dei ruoli di Compute Engine, seleziona Ruolo Utente esterno OS Login Compute.
  7. Fai clic su Aggiungi per confermare che vuoi concedere il ruolo selezionato a per l'utente.
  8. Se non l'hai ancora fatto, concedi gli altri ruoli di accesso alle istanze OS Login per l'utente a livello di progetto o organizzazione.

Ora l'utente può connettersi alle istanze nel tuo progetto con OS Login abilitato.

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 l'amministratore di Google Workspace o visualizzare le opzioni di configurazione, Specificare chi può utilizzare Google Cloud nell'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 dal sistema operativo API Login. Ad esempio, nel dominio example.com, l'utente user@example.com avrà il nome utente user se l'impostazione da includere il suffisso di dominio non sia verificato.
  • 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.

Per ulteriori informazioni su come attivare o disattivare le impostazioni dell'API OS Login, vedi Scegliere le impostazioni per la piattaforma Google Cloud.

Controlla gli eventi di OS Login

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 oppure elimina POSIX i dati dell'account.

Puoi recuperare gli eventi dell'attività di controllo dell'API OS Login dal SDK Admin di Google Workspace, chiamando Activities.list() con applicationName=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 attività seguenti per Account utente Google Workspace o Cloud Identity:

  • Modificare le impostazioni di accesso all'istanza.
  • Impostare un utente come amministratore
  • Modificare le proprietà utente come nome dell'account ed email
  • 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.

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 modifica, consulta Riferimento API Directory.

Modificare le proprietà dell'account

Per modificare i dati dell'account POSIX di un utente o per gestire le chiavi SSH dell'utente, invia una richiesta PUT a Metodo directory.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 valori username, uid e gid nuovi o attuali nella richiesta.

Se modifichi le proprietà sshPublicKeys dell'utente, devi specificare il parametro Valore key 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: indirizzo email principale dell'utente, indirizzo email alias o ID utente univoco.
  • USERNAME: il nome utente Compute Engine aggiunge la VM per l'utente. Questo valore deve essere univoco nella tua organizzazione e non deve terminare con una tilde ("~") o contengono un punto (".").
  • UID: l'ID utente sulla VM per questo utente. Questa proprietà deve essere un valore compreso tra 1001 e 60000 o un valore tra 65535 e 2147483647. Per accedere a un sistema operativo ottimizzato per i container, UID deve avere un valore compreso tra 65536 e 214748646. Il UID deve essere univoco all'interno di dell'organizzazione.
  • GID: l'ID gruppo sulla VM a cui appartiene l'utente a.
  • USER_HOME_PATH: (facoltativo) la home directory su la 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 SSH pubblica.
  • EXPIRATION_TIME: (facoltativo) la scadenza della chiave tempo in microsecondi dall'epoca (1 secondo = 106 microsecondi).

Rimuovere le proprietà dell'account

Per cancellare i dati posixAccounts e sshPublicKeys per un utente: invia una richiesta PUT a il metodo directory.users.update, imposto i campi posixAccounts e sshPublicKeys su null:

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

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: Creazione e aggiornamento di 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.

Limiti di frequenza per gruppi Linux con OS Login

Gruppi Linux con OS Login 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.

Vai a Quote

Utilizza la federazione delle identità della 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 è abilitato per un'organizzazione, OS Login utilizza l'autenticazione basata su certificati anziché l'autenticazione basata su chiave per verificare le identità degli utenti.

Prima di iniziare

Limitazioni

  • 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à della forza lavoro non possono accedere Porte seriali della VM.

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à della forza lavoro utilizzando Console Google 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 utilizzando l'SSH nel browser. Compute Engine configura il certificato SSH per tuo conto quando prova a connetterti.

Per connetterti alle VM, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nell'elenco delle istanze di macchine virtuali, fai clic su SSH nella riga dell'istanza a cui vuoi connetterti.

    Pulsante SSH accanto al nome dell'istanza.

gcloud

Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro utilizzando gcloud CLI, Compute Engine configura il certificato SSH per tuo conto quando prova a connetterti.

Connettiti a una VM tramite SSH eseguendo Comando gcloud compute ssh:

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Esegui questo comando:

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    Connettiti alla VM eseguendo questo comando:

    • PROJECT_ID: l'ID del progetto che contiene la VM
    • ZONE: il nome della zona in cui si trova la VM
    • VM_NAME: il nome della VM

    Se hai impostato le impostazioni predefinite proprietà per Google Cloud CLI, puoi omettere --project e --zone da questo comando. Ad esempio:

    gcloud compute ssh VM_NAME

IAP per computer desktop

Quando ti connetti alle VM che utilizzano OS Login con la federazione delle identità per la forza lavoro tramite IAP desktop, Compute Engine configura il certificato SSH per tuo conto quando prova a connetterti.

Per connetterti a una VM utilizzando IAP desktop, segui questi passaggi:

  1. Installa IAP desktop sulla workstation, se non l'hai già fatto.

  2. Apri IAP Desktop. Si apre la finestra Aggiungi progetti.

  3. Quando richiesto, di accedere con la federazione delle identità per la forza lavoro.

  4. Nella finestra Aggiungi progetti, inserisci l'ID progetto o il nome del contenente le VM a cui vuoi connetterti.

  5. Nella finestra Esplora progetto, fai clic con il tasto destro del mouse sul nome della VM e seleziona Connetti per connetterti alla VM.

client SSH

Connettiti a una VM che utilizza OS Login con la federazione delle identità per la forza lavoro utilizzando un client SSH, procedi nel seguente modo:

  1. In caso contrario, crea una chiave SSH. ne hai già uno.
  2. Firma la chiave SSH pubblica 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:

    • 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 della chiave pubblica SSH .

  3. Copia il certificato SSH dall'output di user.signSshPublicKey e salva i contenuti in un nuovo file.

  4. Imposta le autorizzazioni sul file del certificato SSH, eseguendo questo comando :

    sudo chmod 600 FILE_NAME
    

    Sostituisci FILE_NAME con il nome del file.

  5. Connettiti alla VM utilizzando il comando seguente:

    ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
    

    Sostituisci quanto segue:

    • PATH_TO_PRIVATE_KEY: il percorso alla posizione di chiave SSH.
    • PATH_TO_SSH_CERTIFICATE: il percorso del tuo SSH del certificato.
    • USERNAME: il valore del parametro Mappatura degli attributi google.posix_username.
    • EXTERNAL_IP: l'indirizzo IP esterno della VM.

Passaggi successivi