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 alla modalità di utilizzo degli esempi in questa pagina:

    Console

    Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e 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 le credenziali di autenticazione locali per il tuo account utente:

      gcloud auth application-default login

      Non devi 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 nelle seguenti VM:
  • 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.
  • VM SLES-16. Per gestire l'accesso delle istanze alle VM create utilizzando queste immagini, utilizza lo 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/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 in 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 Google Cloud console 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 Google Cloud console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della Google Cloud console, 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à inclusa e 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 gcloud compute instance create comando:

    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.

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 sui propri account. Per informazioni sui metodi di autenticazione a due fattori supportati, consulta Informazioni su OS Login.

Prima di attivare l'autenticazione a due fattori, assicurati che OS Login sia attivato come descritto in Attiva OS Login. Per attivare l'autenticazione a due fattori 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 di OS Login venga applicata, i metadati sia per OS Login (enable-oslogin) sia per l'autenticazione a due fattori 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