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:

    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. 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.

    2. Set a default region and zone.

    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.

      Installa Google Cloud CLI.

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

      If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Per saperne di più, consulta Set up authentication for a local development environment.

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 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 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. In the Google Cloud console, activate Cloud Shell.

    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.

  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.
  3. 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 (2FA) supportati, consulta Informazioni su OS Login.

Prima di attivare l'autenticazione a due fattori, 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