Configura OS Login

Questo documento descrive come configurare OS Login.

OS Login ti consente di controllare l'accesso alle istanze di macchine virtuali (VM) in base alle autorizzazioni IAM. Per scoprire di più su OS Login, consulta Informazioni su OS Login.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • Terraform

    Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

    1. Installa Google Cloud CLI.

    2. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    3. Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:

      gcloud auth application-default login

      Non è necessario eseguire questa operazione se utilizzi Cloud Shell.

      Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

Limitazioni

OS Login non è supportato con quanto segue:
  • Profili OS Login con una dimensione totale superiore a 32 KiB. Il profilo OS Login include i dati dell'account POSIX e le chiavi SSH pubbliche.
  • Istanza di computing che utilizza le seguenti immagini del sistema operativo:
    • Windows Server e SQL Server.
    • Fedora CoreOS. Per gestire l'accesso delle istanze alle istanze di computing create utilizzando queste immagini, utilizza il sistema di ignizione Fedora CoreOS.
    • SLES 16. Per gestire l'accesso delle istanze alle istanze di Compute create utilizzando queste immagini, utilizza SSH basato su metadati.

Per verificare il supporto di OS Login per distribuzioni Linux specifiche, consulta Dettagli del sistema operativo.

Assegna i ruoli IAM per OS Login

Assegna tutti i ruoli IAM richiesti agli utenti che si connettono alle VM in cui è abilitato OS Login.

Ruolo Utenti obbligatori Livello di concessione
roles/compute.osLogin oppure roles/compute.osAdminLogin Tutti gli utenti

Nel progetto o nell'istanza.

Se un utente richiede l'accesso SSH dalla console Google Cloud o da Google Cloud CLI, devi concedere questi ruoli a livello di progetto oppure concedere un altro ruolo a livello di progetto contenente l'autorizzazione compute.projects.get.

roles/iap.tunnelResourceAccessor Tutti gli utenti che richiedono l'accesso SSH utilizzando l'inoltro TCP di IAP

Nel progetto o nell'istanza.

roles/iam.serviceAccountUser Tutti gli utenti, se la VM ha un service account In Service account.
roles/compute.osLoginExternalUser Utenti di un'organizzazione diversa da quella della VM a cui si connettono

In Organizzazione.

Questo ruolo deve essere concesso da un amministratore dell'organizzazione.

Attiva OS Login

Puoi attivare OS Login per una singola VM o per tutte le VM di un progetto impostando enable-oslogin su TRUE nei metadati del progetto o dell'istanza.

Quando imposti i metadati di OS Login, Compute Engine elimina i file authorized_keys della VM e non accetta più connessioni da chiavi SSH archiviate nei metadati del progetto o dell'istanza.

Attiva OS Login per tutte le VM di un progetto

Per attivare OS Login per tutte le VM di un progetto, imposta il seguente valore nei metadati del progetto:

  • Chiave: enable-oslogin
  • Valore: TRUE

Attiva OS Login per una singola VM

Per attivare OS Login per una singola VM, imposta il seguente valore nei metadati dell'istanza:

  • Chiave: enable-oslogin
  • Valore: TRUE

Attiva OS Login durante la creazione della VM

Attiva OS Login durante la creazione di una VM utilizzando la console Google Cloud o gcloud CLI.

Console

Crea una VM che attivi OS Login all'avvio creando una VM da un'immagine pubblica e specificando le seguenti configurazioni:

  1. Espandi la sezione Opzioni avanzate.
  2. Espandi la sezione Sicurezza.
  3. Espandi la sezione Gestisci accesso.
  4. Seleziona Controllo dell'accesso alle VM tramite autorizzazioni IAM.
  5. Fai clic su Crea per creare e avviare la VM.

gcloud

  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 e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Crea una VM che attivi OS Login all'avvio eseguendo il seguente comando gcloud compute instance create:

    gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della nuova VM.
    • IMAGE_FAMILY: la famiglia di immagini di un sistema operativo Linux. In questo modo, la VM viene creata dall'immagine sistema operativo più recente e non deprecata. Per tutte le famiglie di immagini pubbliche, consulta Dettagli del sistema operativo.
    • IMAGE_PROJECT: il progetto di immagini che contiene la famiglia di immagini. Ogni sistema operativo ha il proprio progetto di immagini. Per tutti i progetti di immagini pubbliche, consulta Dettagli del sistema operativo.

Terraform

Puoi applicare i valori dei metadati ai tuoi progetti o alle tue VM utilizzando una delle seguenti opzioni:

  • Opzione 1: imposta enable-oslogin nei metadati a livello di progetto, in modo che sia applicato a tutte le VM del progetto.

    Utilizza la risorsa Terraform google_compute_project_metadata e imposta un valore dei metadati in cui oslogin=TRUE:

    resource "google_compute_project_metadata" "default" {
      metadata = {
        enable-oslogin = "TRUE"
      }
    }

    In alternativa, puoi impostare enable-oslogin su FALSE per disattivare OS Login.

  • Opzione 2: imposta enable-oslogin nei metadati di una VM nuova o esistente.

    Utilizza la risorsa Terraform google_compute_instance e imposta oslogin=TRUE. Sostituisci oslogin_instance_name con il nome della tua VM.

    resource "google_compute_instance" "oslogin_instance" {
      name         = "oslogin-instance-name"
      machine_type = "f1-micro"
      zone         = "us-central1-c"
      metadata = {
        enable-oslogin : "TRUE"
      }
      boot_disk {
        initialize_params {
          image = "debian-cloud/debian-11"
        }
      }
      network_interface {
        # A default network is created for all GCP projects
        network = "default"
        access_config {
        }
      }
    }

    In alternativa, puoi impostare enable-oslogin su FALSE per escludere la VM dall'utilizzo di OS Login.

Disattiva OS Login

Puoi disattivare OS Login impostando enable-oslogin su FALSE nei metadati del progetto o dell'istanza.

Quando OS Login è disattivato, puoi connetterti alle VM utilizzando le chiavi SSH archiviate nei metadati.

Disattiva OS Login per tutte le VM di un progetto

Per disattivare OS Login per tutte le VM di un progetto, imposta il seguente valore nei metadati del progetto:

  • Chiave: enable-oslogin
  • Valore: FALSE

Disattiva OS Login per una singola VM

Per disattivare OS Login per una singola VM, imposta il seguente valore nei metadati dell'istanza:

  • Chiave: enable-oslogin
  • Valore: FALSE

L'impostazione di enable-oslogin su FALSE nei metadati dell'istanza disattiva OS Login per la VM anche se enable-oslogin è impostato su TRUE nei metadati del progetto.

Connettiti alle VM in cui è abilitato OS Login

Connettiti alle VM in cui è attivato OS Login utilizzando i metodi descritti in Connettiti alle VM Linux.

Quando ti connetti alle VM in cui è attivato OS Login, Compute Engine utilizza il nome utente configurato per te dall'amministratore dell'organizzazione. Se l'amministratore della tua organizzazione non ha configurato un nome utente per te, Compute Engine genera un nome utente nel formato USERNAME_DOMAIN_SUFFIX. Per ulteriori informazioni sui nomi utente, consulta Come funziona OS Login.

Attiva OS Login con l'autenticazione a due fattori

Per una maggiore sicurezza, puoi richiedere agli utenti di utilizzare l'autenticazione a due fattori (2FA) quando si connettono alle VM in cui è abilitato OS Login. Se prevedi di utilizzare OS Login con l'autenticazione a due fattori, gli utenti devono configurare la verifica in due passaggi nei propri account. Per informazioni sui metodi di autenticazione a due fattori (2FA) supportati, consulta Informazioni su OS Login.

Prima di attivare l'autenticazione a due fattori (2FA), assicurati che OS Login sia attivato come descritto in Attivare OS Login. Per attivare l'autenticazione a due fattori (2FA) di OS Login, imposta il seguente valore dei metadati nei metadati dell'istanza o del progetto:

  • Chiave: enable-oslogin-2fa
  • Valore: TRUE

Affinché l'autenticazione a due fattori (2FA) di OS Login venga applicata, i metadati sia di OS Login (enable-oslogin) sia dell'autenticazione a due fattori (2FA) di OS Login (enable-oslogin-2fa) devono essere impostati su TRUE.

Quando ti connetti alle VM in cui è attivata l'autenticazione a due fattori (2FA) di OS Login, viene visualizzato anche un messaggio basato sul metodo di verifica in due passaggi o sul tipo di verifica selezionato. Per il metodo di richiesta sullo smartphone, accetta le richieste sullo smartphone o sul tablet per continuare. Per gli altri metodi, inserisci il codice di sicurezza o la password monouso.

Risolvi i problemi relativi a OS Login

Per trovare metodi per diagnosticare e risolvere gli errori di OS Login, consulta Risoluzione dei problemi relativi a OS Login.

Passaggi successivi