OS Login einrichten

In diesem Dokument wird beschrieben, wie Sie OS Login einrichten.

Mit OS Login können Sie den Zugriff auf VM-Instanzen anhand von IAM-Berechtigungen steuern. Weitere Informationen zu OS Login finden Sie unter OS Login.

Hinweis

Beschränkungen

OS Login wird in den folgenden Fällen nicht unterstützt:
  • OS Login-Profile mit einer Gesamtgröße von mehr als 32 KiB. Das OS Login-Profil enthält POSIX-Kontoinformationen und öffentliche SSH-Schlüssel.
  • Compute-Instanzen, die die folgenden Betriebssystem-Images verwenden:
    • Windows Server und SQL Server.
    • Fedora CoreOS. Verwenden Sie zum Verwalten des Instanzzugriffs auf Compute-Instanzen, die mit diesen Images erstellt wurden, das Ignition-System von Fedora CoreOS.
    • SLES 16 Verwenden Sie zum Verwalten des Instanzzugriffs auf Compute-Instanzen, die mit diesen Images erstellt wurden, metadatenbasiertes SSH.

Informationen zur Unterstützung von OS Login für bestimmte Linux-Distributionen finden Sie unter Details zu Betriebssystemen.

OS Login-IAM-Rollen zuweisen

Weisen Sie alle Nutzer, die eine Verbindung zu VMs mit aktiviertem OS Login herstellen, alle erforderlichen IAM-Rollen zu.

Rolle Erforderliche Nutzer Berechtigungsstufe
roles/compute.osLogin oder roles/compute.osAdminLogin Alle Nutzer

Auf dem Projekt oder der Instanz.

Wenn ein Nutzer SSH-Zugriff über die Google Cloud Console oder die Google Cloud CLI benötigt, müssen Sie diese Rollen auf Projektebene oder zusätzlich eine Rolle auf Projektebene zuweisen, die die Berechtigung compute.projects.get enthält.

roles/iam.serviceAccountUser Alle Nutzer, wenn die VM über ein Dienstkonto verfügt Im Dienstkonto

OS Login aktivieren

Sie können OS Login für eine einzelne VM oder für alle VMs in einem Projekt aktivieren, indem Sie enable-oslogin in den Projekt- oder Instanzmetadaten auf TRUE festlegen.

Wenn Sie OS Login-Metadaten festlegen, löscht Compute Engine die authorized_keys-Dateien der VM und akzeptiert keine Verbindungen mehr von SSH-Schlüsseln, die in Projekt- oder Instanzmetadaten gespeichert sind.

Wichtig: In Google Cloudunterstützt OS Login nur Verbindungen, die SSH-Zertifikate verwenden. Wenn Sie enable-oslogin auf TRUE setzen, müssen Sie auch enable-oslogin-certificates auf TRUE setzen.

OS Login für alle VMs in einem Projekt aktivieren

Wenn Sie OS Login für alle VMs in einem Projekt aktivieren möchten, legen Sie den folgenden Wert in den Projektmetadaten fest:

  • Schlüssel: enable-oslogin
  • Wert: TRUE

OS Login für eine einzelne VM aktivieren

Wenn Sie OS Login für eine einzelne VM aktivieren möchten, legen Sie den folgenden Wert in den Instanzmetadaten fest:

  • Schlüssel: enable-oslogin
  • Wert: TRUE

OS Login während der VM-Erstellung aktivieren

Aktivieren Sie OS Login beim Erstellen einer VM mit der Google Cloud Console oder der gcloud CLI.

Console

Erstellen Sie eine VM, die OS Login beim Start aktiviert. Erstellen Sie dazu eine VM aus einem öffentlichen Image und geben Sie die folgenden Konfigurationen an:

  1. Maximieren Sie den Bereich Erweiterte Optionen.
  2. Maximieren Sie den Abschnitt Sicherheit.
  3. Maximieren Sie den Abschnitt Zugriff verwalten.
  4. Wählen Sie VM-Zugriff über IAM-Berechtigungen steuern aus.
  5. Klicken Sie auf Erstellen, um die VM zu erstellen und zu starten.

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Erstellen Sie eine VM, die OS Login beim Start aktiviert. Führen Sie dazu den folgenden gcloud compute instance create-Befehl aus:

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

    Ersetzen Sie Folgendes:

    • VM_NAME ist der Name der neuen VM.
    • IMAGE_FAMILY ist die Image-Familie eines Linux-Betriebssystems. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Informationen zu allen öffentlichen Image-Familien finden Sie unter Details zu Betriebssystemen.
    • IMAGE_PROJECT ist das Image-Projekt, das das Image enthält Jedes Betriebssystem hat ein eigenes Image-Projekt. Informationen zu allen öffentlichen Image-Projekten finden Sie unter Details zu Betriebssystemen.

Terraform

Sie können die Metadatenwerte auf Ihre Projekte oder VMs anwenden. Verwenden Sie dazu eine der folgenden Optionen:

  • Option 1: Legen Sie in den projektweiten Metadaten enable-oslogin fest, damit der Eintrag für alle VMs im Projekt gilt.

    Verwenden Sie die Terraform-Ressource google_compute_project_metadata und legen Sie einen Metadatenwert mit oslogin=TRUE fest:

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

    Alternativ können Sie enable-oslogin auf FALSE festlegen, um OS Login zu deaktivieren.

  • Option 2: Legen Sie in den Metadaten einer neuen oder vorhandenen VM enable-oslogin fest.

    Verwenden Sie die Terraform-Ressource google_compute_instance und legen Sie oslogin=TRUE fest. Ersetzen Sie oslogin_instance_name durch den Namen Ihrer 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-13"
        }
      }
      network_interface {
        # A default network is created for all GCP projects
        network = "default"
        access_config {
        }
      }
    }

    Alternativ können Sie enable-oslogin auf FALSE setzen, damit OS Login für Ihre VM nicht verwendet wird.

OS Login deaktivieren

Sie können OS Login deaktivieren, indem Sie enable-oslogin in den Projekt- oder Instanzmetadaten auf FALSE festlegen.

Wenn OS Login deaktiviert ist, können Sie mit in Metadaten gespeicherten SSH-Schlüsseln eine Verbindung zu Ihren VMs herstellen.

OS Login für alle VMs in einem Projekt deaktivieren

Wenn Sie OS Login für alle VMs in einem Projekt deaktivieren möchten, legen Sie den folgenden Wert in den Projektmetadaten fest:

  • Schlüssel: enable-oslogin
  • Wert: FALSE

OS Login für eine einzelne VM deaktivieren

Wenn Sie OS Login für eine einzelne VM deaktivieren möchten, legen Sie den folgenden Wert in den Instanzmetadaten fest:

  • Schlüssel: enable-oslogin
  • Wert: FALSE

Wenn Sie enable-oslogin in den Instanzmetadaten auf FALSE festlegen, wird OS Login für die VM deaktiviert, auch wenn enable-oslogin in den Projektmetadaten auf TRUE festgelegt ist.

Verbindung zu VMs herstellen, für die OS Login aktiviert ist

Stellen Sie eine Verbindung zu VMs her, für die OS Login aktiviert ist. Verwenden Sie dazu die unter Verbindung zu Linux-VMs herstellen beschriebenen Methoden.

Wenn Sie eine Verbindung zu VMs herstellen, für die OS Login aktiviert ist, verwendet Compute Engine den Wert Ihrer google.posix_username-Attributzuordnung als Nutzernamen. Weitere Informationen zu Nutzernamen finden Sie unter So funktioniert OS Login.

Fehlerbehebung bei OS Login

Methoden zur Diagnose und Behebung von OS Login-Fehlern finden Sie unter Fehlerbehebung bei OS Login.

Nächste Schritte