OS Login einrichten

In diesem Dokument werden die grundlegenden Schritte zum Einrichten von OS Login erläutert.

Mit OS Login können Sie Compute Engine-IAM-Rollen verwenden, um SSH-Zugriff auf Ihre Linux-Instanzen zu gewähren oder zu entziehen. OS Login ist eine Alternative zum Verwalten des Instanzzugriffs durch Einfügen und Entfernen von SSH-Schlüsseln in Metadaten. Weitere Informationen zu den Vorteilen dieses Features finden Sie unter OS Login.

Wenn Sie OS Login mit einer Bestätigung in zwei Schritten aktivieren möchten, finden Sie weitere Informationen unter OS Login mit Bestätigung in zwei Schritten einrichten. Informationen zum Verwalten des Zugriffs auf Ihre VMs finden Sie unter Zugriffsmethode auswählen.

Führen Sie die folgenden Schritte aus, um OS Login zu konfigurieren und eine Verbindung zu Ihren Instanzen herzustellen:

  1. Installieren oder aktualisieren Sie die Gastumgebung.
  2. Optional: Wenn Sie Organisationsadministrator sind, lesen Sie die Informationen unter OS Login in einer Organisation verwalten.
  3. Aktivieren Sie das OS Login-Feature für Ihr Projekt oder einzelne Instanzen.
  4. Weisen Sie sich selbst oder anderen Hauptkonten die erforderlichen IAM-Rollen zu.
  5. Verbindung mit Instanzen herstellen.

Hinweis

Beschränkungen

  • OS Login wird in privaten Google Kubernetes Engine-Clustern (GKE-Clustern) mit Node Pool Version 1.20.5 oder höher unterstützt.

  • OS Login wird in öffentlichen GKE-Clustern nicht unterstützt. Öffentliche Clusterknoten verwenden weiterhin Metadaten-SSH-Schlüssel, auch wenn OS Login aktiviert ist.

  • OS Login wird von Fedora CoreOS-Images derzeit nicht unterstützt. Verwenden Sie zum Verwalten des Instanzzugriffs auf VMs, die mit diesen Images erstellt wurden, das Ignition-System von Fedora CoreOS.

  • Windows Server- und SQL Server-Images unterstützen OS Login nicht.

Schritt 1: Gastumgebung installieren oder aktualisieren

Auf der VM-Instanz muss die neueste Version der Gastumgebung installiert sein. Bei den meisten öffentlichen Images ist die neueste Version bereits installiert. Aktualisieren Sie die Gastumgebung ggf. auf die neueste Version.

Wenn auf Ihren VMs benutzerdefinierte Images ausgeführt werden, die Sie importiert haben, installieren Sie die Gastumgebung auf diesen VMs.

Aktualisieren Sie die Gastumgebung ggf. auf die neueste Version.

Schritt 2: (Optional) Verwalten von OS Login in einer Organisation prüfen

Als Organisationsadministrator können Sie bestimmte Konfigurationen festlegen, wie z. B. die Aktivierung von OS Login auf Organisationsebene. Weitere Informationen finden Sie unter OS Login in einer Organisation verwalten.

Schritt 3: OS Login aktivieren oder deaktivieren

Sie können OS Login aktivieren oder deaktivieren, indem Sie Metadatenwerte auf Instanz- oder Projektebene festlegen. Durch Aktivieren oder Deaktivieren von OS Login in Instanzmetadaten wird der in Projektmetadaten festgelegte Wert überschrieben. Zum Festlegen von OS Login-Werten können Sie entweder die Google Cloud Console oder das gcloud-Befehlszeilentool verwenden.

Console

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

  • Option 1: Geben Sie in den projektübergreifenden Metadaten enable-oslogin an, damit der Eintrag für alle Instanzen im Projekt gilt.

    1. Rufen Sie in der Google Cloud Console die Seite Metadaten auf.

      Zur Seite "Metadaten"

    2. Klicken Sie auf Bearbeiten.

    3. Fügen Sie einen Metadateneintrag hinzu und setzen Sie den Schlüssel auf enable-oslogin und den Wert auf TRUE. Alternativ können Sie den Wert auf FALSE setzen, um das Feature zu deaktivieren.

    4. Klicken Sie auf Speichern, um die Änderungen zu übernehmen.

  • Option 2: Geben Sie in den Instanzmetadaten einer vorhandenen Instanz enable-oslogin an.

    1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

      Zu „VM-Instanzen“

    2. Klicken Sie auf den Namen der Instanz, für die Sie OS Login aktivieren möchten.

    3. Klicken Sie auf der Seite "Instanzdetails" auf Bearbeiten.

    4. Fügen Sie unter Benutzerdefinierte Metadaten einen Metadateneintrag hinzu und setzen Sie den Schlüssel auf enable-oslogin sowie den Wert auf TRUE. Alternativ können Sie den Wert auf FALSE festlegen, um OS Login für die Instanz zu deaktivieren.

    5. Klicken Sie auf Speichern, um die Änderungen auf die Instanz anzuwenden.

  • Option 3: Geben Sie beim Erstellen einer Instanz in den Instanzmetadaten enable-oslogin an.

    1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

      Zur Seite „Instanz erstellen“

    2. Maximieren Sie den Bereich Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten und gehen Sie so vor:

      1. Maximieren Sie den Bereich Verwaltung.
      2. Klicken Sie im Abschnitt Metadaten auf Element hinzufügen, um einen Metadateneintrag hinzuzufügen. Geben Sie dann die folgenden Informationen an:

        • Schlüssel: Legen Sie den Metadatenschlüssel auf enable-oslogin fest.
        • Wert: Legen Sie den Metadatenwert auf TRUE fest.

        Alternativ können Sie für den Wert FALSE festlegen, damit dieses Feature nicht für Ihre VM verwendet wird.

    3. Klicken Sie auf Erstellen.

gcloud

Mit den folgenden Optionen können Sie Metadatenwerte auf Ihre Projekte oder VMs anwenden:

  • Option 1: Geben Sie in den projektübergreifenden Metadaten enable-oslogin an, damit der Eintrag für alle Instanzen im Projekt gilt.

    Verwenden Sie im gcloud-Befehlszeilentool den Befehl project-info add-metadata und legen Sie einen Metadatenwert oslogin=TRUE fest, um OS Login zu aktivieren:

    gcloud compute project-info add-metadata \
        --metadata enable-oslogin=TRUE
    

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

  • Option 2: Geben Sie in den Metadaten einer vorhandenen Instanz enable-oslogin an.

    Verwenden Sie den Befehl instances add-metadata im gcloud-Befehlszeilentool und legen Sie oslogin=TRUE fest, um OS Login zu aktivieren: Ersetzen Sie VM_NAME durch den Namen Ihrer VM.

    gcloud compute instances add-metadata VM_NAME \
        --metadata enable-oslogin=TRUE
    

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

  • Option 3: Geben Sie beim Erstellen einer Instanz in den Instanzmetadaten enable-oslogin an.

    Verwenden Sie den Befehl instances create im gcloud-Befehlszeilentool und legen Sie oslogin=TRUE fest, um OS Login zu aktivieren: Ersetzen Sie dabei VM_NAME durch den Namen Ihrer Instanz.

    gcloud compute instances create VM_NAME \
        --metadata enable-oslogin=TRUE
    

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

Nach der Aktivierung von OS Login auf den Instanzen in Ihrem Projekt können Sie Nutzern Berechtigungen zuweisen, mit denen sie sich mit den Instanzen verbinden können.

Schritt 4: OS Login-Rollen für Nutzerkonten konfigurieren

OS Login-IAM-Rollen erteilen

Nachdem Sie auf einer oder mehreren Instanzen in Ihrem Projekt OS Login aktiviert haben, akzeptieren diese VMs nur noch Verbindungen von Nutzerkonten mit den erforderlichen IAM-Rollen in Ihrem Projekt oder in Ihrer Organisation.

Dem Nutzer müssen die erforderlichen Rollen zugewiesen werden, um OS Login-Zugriff auf diese VMs zu ermöglichen. So gewähren Sie OS Login Zugriff:

  1. Weisen Sie eine der folgenden Rollen für den Instanzzugriff zu:

    Mit dem Befehl gcloud compute instances add-iam-policy-binding können Sie diese Instanzzugriffsrollen auf Instanzebene erteilen.

  2. Wenn Ihre VM ein Dienstkonto verwendet, kann jeder Nutzer, der über SSH eine Verbindung zur VM herstellt, die Identität des Dienstkontos übernehmen. Konfigurieren Sie jeden Nutzer so, dass er die Rolle roles/iam.serviceAccountUser für das Dienstkonto hat, damit die Identitätsübernahme den Best Practices entspricht. Informationen zum Hinzufügen des Zugriffs eines Nutzers auf ein Dienstkonto finden Sie unter Identitätswechsel für Dienstkonten verwalten.

  3. Erteilen Sie Nutzern außerhalb Ihrer Organisation, die auf Ihre VMs zugreifen, zusätzlich zur Instanzzugriffsrolle die Rolle roles/compute.osLoginExternalUser. Diese Rolle muss von einem Organisationsadministrator auf Organisationsebene zugewiesen werden. Weitere Informationen finden Sie unter Nutzern außerhalb Ihrer Organisation Instanzzugriff gewähren.

SSH-Zugriff für Dienstkonto gewähren

Sie können mithilfe von OS Login-Rollen Dienstkonten erlauben, SSH-Verbindungen zu Ihren Instanzen herzustellen. Dies ist für die folgenden Aufgaben nützlich:

So gewähren Sie Dienstkonten SSH-Zugriff:

  1. Erstellen Sie ein Dienstkonto.
  2. Weisen Sie dem Dienstkonto die erforderlichen OS Login-Rollen zu. Dienstkonten erfordern dieselben Rollen wie Nutzerkonten. Informationen zum Konfigurieren von Rollen und Berechtigungen für Dienstkonten finden Sie unter Dienstkonten Rollen zuweisen.
  3. Stellen Sie dem Dienstkonto die Standardanmeldedaten für Anwendungen zur Verfügung, damit es Anfragen an die notwendigen APIs autorisieren kann. Verwenden Sie dazu eine der folgenden Optionen:

Nachdem Sie den Dienstkonten SSH-Zugriff gewährt haben, können Sie die Anwendungen so konfigurieren, dass SSH-Schlüssel erstellt und SSH-Verbindungen zu anderen Instanzen in Ihren VPC-Netzwerken hergestellt werden. Eine Beispielanwendung für SSH-Zugriff über Dienstkonten finden Sie in der Anleitung Anwendungen über SSH mit Instanzen verbinden.

OS Login-IAM-Rollen entziehen

Um den Nutzerzugriff auf Instanzen mit aktiviertem OS Login aufzuheben, entfernen Sie die Nutzerrollen aus dem Nutzerkonto. Informationen zum Entziehen einer IAM-Rolle eines Nutzers finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Wenn der Zugriff eines Nutzers widerrufen wird, hat der Nutzer weiterhin öffentliche SSH-Schlüssel, die mit seinem Konto verknüpft sind. Diese Schlüssel funktionieren jedoch nicht mehr für die VM-Instanzen.

Schritt 5: Verbindung zu Instanzen herstellen

Wenn Sie eine Verbindung zu einer VM herstellen, haben Sie drei wesentliche Optionen:

Wenn Sie mithilfe des gcloud-Befehlszeilentools oder mit SSH über den Browser eine Verbindung zu einer VM herstellen, generiert Compute Engine automatisch SSH-Schlüssel und verknüpft sie mit Ihrem Nutzerkonto. Wenn Sie mit einem Drittanbietertool eine Verbindung zu einer VM herstellen möchten, müssen Sie zuerst die öffentlichen Schlüssel zu Ihrem Nutzerkonto hinzufügen.

Überprüfen Sie das erwartete Anmeldeverhalten, nachdem die Verbindung zur Instanz hergestellt wurde.

Erwartetes Anmeldeverhalten prüfen

  • Auf einigen Instanzen, die OS Login verwenden, erhalten Sie die folgende Fehlermeldung, nachdem die Verbindung hergestellt wurde:

    /usr/bin/id: cannot find name for group ID 123456789

    Ignorieren Sie die Fehlermeldung. Dieser Fehler wirkt sich nicht auf Ihre Instanzen aus.

  • Cloud Identity-Administratoren können POSIX-Informationen konfigurieren und für Organisationsmitglieder einen Nutzernamen festlegen. Wenn von einem Cloud Identity-Administrator kein Nutzername festgelegt wurde, generiert OS Login einen standardmäßigen Linux-Nutzernamen, indem der Nutzername und die Domain aus der E-Mail-Adresse, die mit dem Google-Profil des Nutzers verknüpft ist, kombiniert werden. Diese Namenskonvention gewährleistet, dass der Nutzername eindeutig ist. Wenn beispielsweise die mit dem Google-Profil verknüpfte Nutzer-E-Mail user@example.com lautet, wird als Nutzername user_example_com erstellt.

    Optional können Organisationen in Google Workspace ihre Standardeinstellung ändern, um das Domain-Suffix für neu generierte Nutzernamen zu entfernen. Wenn beispielsweise die mit dem Google-Profil verknüpfte Nutzer-E-Mail-Adresse user@example.com lautet, wird als Nutzername user erstellt. Weitere Informationen finden Sie unter OS Login API verwalten.

    Wenn ein Nutzer aus einer separaten Google Workspace-Organisation stammt, wird dem generierten Nutzernamen das Präfix "ext_" vorangestellt. Wenn user@example.com beispielsweise auf eine VM in einer anderen Organisation zugreift, lautet der erstellte Nutzername ext_user_example_com.

  • Wenn Sie sich in einer Instanz mit dem Befehl gcloud compute ssh anmelden, hat die Login-Meldung das folgende Format für den Nutzer user, der zur Domain example.com gehört:

    Using OS Login user user_example_com instead of default user user

    Diese Meldung bestätigt, dass sich der Nutzer mit einem OS Login-Profil angemeldet hat.

Nächste Schritte