OS Login mit Bestätigung in zwei Schritten einrichten

Wenn Sie den Zugriff auf Ihre Instanzen mit OS Login verwalten, können Sie mithilfe der Bestätigung in zwei Schritten, auch als 2FA (Two-Factor Authentication) bezeichnet, eine weitere Sicherheitsebene hinzufügen.

Führen Sie die folgenden Schritte aus, um für Ihre Instanzen 2FA zu verwenden:

  1. Aktivieren Sie 2FA für Ihr Google-Konto oder Ihre Domain.
  2. Aktivieren Sie 2FA für Ihr Projekt oder Ihre Instanz.
  3. Weisen Sie sich selbst, den Projektmitarbeitern oder den Mitarbeitern in Ihrer Organisation die erforderlichen IAM-Rollen zu.
  4. [Optional] Wenn Ihr Projekt Teil einer Organisation ist, lesen Sie OS Login in einer Organisation verwalten.
  5. Verbindung zu Instanzen herstellen
  6. Prüfen Sie das erwartete Anmeldeverhalten.

Nach dem Einrichten von OS Login mit 2FA können Sie mithilfe von Audit-Logs Ihre Authentifizierungssitzungen beobachten.

Vorbereitung

Einschränkungen

  • OS Login wird von Google Kubernetes Engine (GKE) derzeit nicht unterstützt. GKE-Clusterknoten verwenden weiterhin Metadaten-SSH-Schlüssel, wenn OS Login aktiviert ist.

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

Unterstützte Betriebssysteme

Bei der Bestätigung in zwei Schritten von OS Login müssen nach den folgenden Terminen Betriebssystem-Images erstellt werden:

Betriebssystem Daten
CentOS 6 und 7 26. März 2019
Debian 9 26. März 2019
RHEL 6 und 7 26. März 2019
SUSE 12 und 15 17. Juni 2019
Ubuntu 16.04 LTS, 18.04 LTS, 18.10 und 19.04 28. Juni 2019

Unterstützte Methoden oder Typen der Identitätsbestätigung

OS Login unterstützt die folgenden 2FA-Methoden bzw. Arten der Identitätsbestätigung:

2FA für Ihr Google-Konto oder Ihre Domain aktivieren

Bevor Sie die Bestätigung in zwei Schritten für Ihr Projekt oder Ihre Instanz aktivieren können, müssen Sie 2FA zuerst für Ihr Google-Konto bzw. Ihre Domain aktivieren. Achten Sie darauf, 2FA für die Domain zu aktivieren, die das Projekt oder die Instanzen enthält, oder für den Nutzer, der das Projekt oder die Instanzen besitzt.

Ein G Suite-Administrator kann die Bestätigung in zwei Schritten für eine ganze Domain aktivieren, während ein einzelner Google-Nutzer sie auf Nutzerkontoebene aktivieren kann.

Domain

Die Bestätigung in zwei Schritten für eine Domain muss von einem G Suite-Administrator aktiviert werden.

Informationen zum Aktivieren von 2FA für eine Domain finden Sie unter Unternehmen mit der Bestätigung in zwei Schritten schützen im Leitfaden für G Suite-Administratoren.

Nutzerkonto

Wenn Ihre Nutzerkonten nicht von einem G Suite-Administrator verwaltet werden, können Sie 2FA für einzelne Google-Konten konfigurieren.

Informationen zum Konfigurieren von 2FA für ein einzelnes Google-Konto finden Sie unter Google-Bestätigung in zwei Schritten.

2FA für ein Projekt oder eine Instanz aktivieren

Nachdem Sie die Bestätigung in zwei Schritten auf Domain- oder Nutzerkontoebene aktiviert haben, können Sie für einzelne Instanzen oder ein Projekt die Verwendung von OS Login-2FA aktivieren.

Für eine Instanz oder ein Projekt muss OS Login aktiviert sein, damit OS Login-2FA verwendet werden kann.

Sie können bei der Instanzerstellung oder Projekteinrichtung sowohl OS Login als auch OS Login-2FA konfigurieren. OS Login-2FA lässt sich auch für eine vorhandene Instanz oder ein bestehendes Projekt konfigurieren, für das bereits OS Login aktiviert ist.

Wenn Sie Ihr Projekt oder Ihre Instanz für die Verwendung der Bestätigung in zwei Schritten von OS Login konfigurieren möchten, legen Sie in den Metadaten des Projekts bzw. der Instanz enable-oslogin-2fa=TRUE fest.

Console

Legen Sie enable-oslogin-2fa beim Erstellen einer Instanz in den Instanzmetadaten fest:

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

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf Instanz erstellen.
  3. Legen Sie auf der Seite Neue Instanz erstellen die gewünschten Attribute für Ihre Instanz fest.
  4. Fügen Sie im Abschnitt Metadaten die folgenden Metadateneinträge hinzu:

    • enable-oslogin und der Wert ist TRUE.
    • enable-oslogin-2fa und der Wert ist TRUE.
  5. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

Legen Sie enable-oslogin-2fa in den projektweiten Metadaten fest, sodass er für alle Instanzen im Projekt gültig ist:

  1. Öffnen Sie die Seite "Metadaten".

    Zur Seite "Metadaten"

  2. Klicken Sie auf Bearbeiten.
  3. Fügen Sie einen Metadateneintrag mit dem Schlüssel enable-oslogin-2fa und dem Wert TRUE hinzu. Alternativ können Sie den Wert auf FALSE setzen, um das Feature zu deaktivieren.
  4. Klicken Sie auf Speichern, um die Änderungen zu übernehmen.

Bei VMs, auf denen nicht CoreOS ausgeführt wird, wird diese Änderung sofort übernommen. Sie müssen die Instanz nicht neu starten. Bei CoreOS-Distributionen müssen Sie die Instanz neu starten, damit die Änderung wirksam wird. Führen Sie dazu einen Stopp- und dann einen Startvorgang für die Instanzen aus.

Legen Sie enable-oslogin-2fa in den Metadaten einer vorhandenen Instanz fest:

  1. Öffnen Sie die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, für die Sie den Metadatenwert festlegen möchten.
  3. Klicken Sie oben auf der Seite mit den Instanzdetails auf Bearbeiten, um die Instanzeinstellungen zu bearbeiten.
  4. Fügen Sie unter Benutzerdefinierte Metadaten einen Metadateneintrag mit dem Schlüssel enable-oslogin-2fa und dem Wert TRUE hinzu. Alternativ können Sie den Wert auf FALSE festlegen, um die Instanz von diesem Feature auszuschließen. Sie sollten auch darauf achten, dass enable-oslogin auf True gesetzt ist.
  5. Klicken Sie unten auf der Seite "Instanzdetails" auf Speichern, um die Änderungen für die Instanz zu übernehmen.

Bei allen Betriebssystemen außer CoreOS wird diese Änderung sofort übernommen. Sie brauchen die Instanz nicht neu zu starten. Bei CoreOS-Distributionen müssen Sie die Instanz neu starten, damit die Änderung wirksam wird. Führen Sie dazu einen Stopp- und dann einen Startvorgang für die Instanzen aus.

gcloud

Legen Sie enable-oslogin-2fa beim Erstellen einer Instanz in den Instanzmetadaten fest:

gcloud compute instances create [INSTANCE_NAME] \
  --metadata enable-oslogin=True,enable-oslogin-2fa=True

Legen Sie enable-oslogin-2fa in den projektweiten Metadaten fest, sodass er für alle Instanzen im Projekt gültig ist:

gcloud compute project-info add-metadata \
  --metadata enable-oslogin=True,enable-oslogin-2fa=True

Legen Sie enable-oslogin-2fa in den Metadaten einer vorhandenen Instanz fest:

gcloud compute instances add-metadata \
  --metadata enable-oslogin=True,enable-oslogin-2fa=True [INSTANCE_NAME]

Dabei ist [INSTANCE_NAME] der Name der Instanz.

OS Login-Rollen für Nutzerkonten konfigurieren

OS Login-IAM-Rollen erteilen

Sobald OS Login auf einer oder mehreren Instanzen in Ihrem Projekt aktiviert ist, akzeptieren diese Instanzen nur Verbindungen von Nutzerkonten, die die für Ihr Projekt oder Ihre Organisation erforderlichen IAM-Rollen haben.

Beispielsweise können Sie Nutzern auf folgende Weise Instanzzugriff gewähren:

  1. Weisen Sie den Nutzern die erforderlichen Rollen für den Instanzzugriff zu. Die Nutzer brauchen folgende Rollen:

  2. Als Organisationsadministrator können Sie Mitgliedern außerhalb Ihrer Organisation Zugriff auf Instanzen gewähren. Dazu weisen Sie ihnen auf Organisationsebene die Rolle roles/compute.osLoginExternalUser zu.

Nutzer können keine Details zu Ihren Instanzen oder den externen IP-Adressen für diese Instanzen aufrufen, es sei denn, Sie geben diese Details direkt an sie weiter. Damit Nutzer die Details Ihrer Instanzen ansehen können, benötigen sie zusätzliche IAM-Rollen. Mit der Rolle roles/compute.viewer können Nutzer beispielsweise alle Ressourcen in Ihrem Projekt anzeigen lassen, einschließlich der Instanzdetails.

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. In der Anleitung Anwendungen über SSH mit Instanzen verbinden finden Sie eine Beispielanwendung, mit der ein Dienstkonto SSH-Verbindungen herstellen kann.

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 bei einem Nutzer finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Wenn einem Nutzer der Zugriff entzogen wird, hat er zwar weiterhin öffentliche SSH-Schlüssel, die mit seinem Konto verknüpft sind, jedoch funktionieren diese Schlüssel bei den VM-Instanzen nicht mehr.

Verbindung zu Instanzen herstellen

Nach der Konfiguration der erforderlichen Rollen können Sie mit den Compute Engine-Tools Verbindungen zu einer Instanz herstellen. Compute Engine generiert automatisch SSH-Schlüssel und ordnet sie Ihrem Nutzerkonto zu. Alternativ können Sie mit Drittanbietertools Verbindungen zu Instanzen herstellen. Dafür müssen Sie eigene SSH-Schlüssel erstellen und die öffentlichen Schlüssel Ihrem Nutzerkonto hinzufügen. Die Instanz ruft den öffentlichen Schlüssel von Ihrem Nutzerkonto ab. Sie können eine Verbindung mit der Instanz herstellen, wenn Sie den korrekten Nutzernamen und den passenden privaten SSH-Schlüssel angeben.

Wenn Sie eine Verbindung zu Ihrer Instanz herstellen, erhalten Sie eine Meldung, die auf der ausgewählten 2FA-Methode bzw. der Art der Identitätsbestätigung basiert.

  • Im Fall von Google Authenticator wird die folgende Meldung angezeigt:

    "Enter your one-time password:"

  • Bei der Überprüfung per SMS oder Telefonanruf ist die folgende Meldung zu sehen:

    "A security code has been sent to your phone. Enter code to continue:"

  • Im Fall einer Smartphone-Aufforderung wird die folgende Meldung angezeigt:

    A login prompt has been sent to your enrolled device:"

    Bei Smartphone-Aufforderungen müssen Sie Ihren Anmeldeversuch auf Ihrem Smartphone oder Tablet bestätigen, um fortzufahren. Bei den anderen Methoden geben Sie Ihren Sicherheitscode oder Ihr einmaliges Passwort ein.

Erwartete Anmeldeverhalten

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

  • Wenn von einem G Suite-Administrator kein Nutzername festgelegt wurde, generiert OS Login einen Linux-Standardnutzernamen. Dazu fasst es den Nutzernamen und die Domain aus der E-Mail zusammen, die dem Google-Profil des Nutzers zugeordnet sind. Diese Namenskonvention gewährleistet, dass der Nutzername eindeutig ist. Ist die mit dem Google-Profil verknüpfte Nutzer-E-Mail beispielsweise user@example.com, dann lautet der generierte Nutzername user_example_com.

    Dieser Nutzername basiert auf den Domains, die mit einem G Suite-Konto verknüpft sind. Wenn ein Nutzer aus einer anderen G Suite-Organisation stammt, wird dem generierten Nutzernamen das Präfix "ext_" vorangestellt. Wenn beispielsweise user@example.com auf eine VM in einer anderen Organisation zugreift, lautet der generierte Nutzername ext_user_example_com.

  • Wenn Sie sich mit dem Befehl gcloud compute ssh bei einer Instanz anmelden, wird die folgende Meldung angezeigt:

    Using OS Login user [user_example_com] instead of default user [user]

    Diese Meldung bestätigt, dass Sie sich mit Ihrem OS Login-Profil anmelden.

OS Login-2FA-Audit-Logs aufrufen

Compute Engine stellt Audit-Logs bereit, mit denen Anfragen zur Bestätigung in zwei Schritten nachverfolgt werden können. Bei der Bestätigung in zwei Schritten gibt es zwei Anfragetypen:

  • StartSession. Startet eine neue Authentifizierungssitzung. Bei einem StartSession-Aufruf deklariert ein Client seine Funktionen gegenüber dem Server und erhält Informationen zur ersten Identitätsbestätigung. Bei einem StartSession-Aufruf wird Folgendes zurückgegeben:

    • eine Sitzungs-ID. Diese Sitzungs-ID wird an alle nachfolgenden ContinueSession-Aufrufe übergeben.
    • Informationen zur Identitätsbestätigung oder zur 2FA-Methode, die in dieser neuen Authentifizierungssitzung verwendet wird.
  • ContinueSession. Setzt eine bestehende Authentifizierungssitzung fort. Mithilfe der angegebenen Sitzungs-ID kann die ContinueSession API eine der folgenden zwei Aktionen ausführen:

    • Die Antwort auf eine Identitätsbestätigung oder Methode akzeptieren und dann entweder die Authentifizierung vornehmen oder ablehnen oder vom Nutzer weitere Identitätsbestätigungen fordern.
    • Zu einer anderen Art der Identitätsbestätigung wechseln als jener, die der Server ursprünglich bei den vorherigen API-Aufrufen vorgeschlagen hat. Wenn sich ein Client für eine andere Art der Identitätsbestätigung entscheidet, z. B. Google Authenticator anstelle einer Smartphone-Aufforderung, kann der Client über einen Aufruf an den Server mit einer request.challengeId des gewünschten Typs eine andere Art der Identitätsbestätigung anfordern.

Zum Ansehen der Logs benötigen Sie Berechtigungen für die Loganzeige oder die Anzeige bzw. Bearbeitung des Projekts.

  1. Öffnen Sie in der Cloud Console die Seite "Logs".

    Zur Seite "Logs"

  2. Maximieren Sie das Drop-down-Menü und wählen Sie Audited Resource aus.
  3. Geben Sie in der Suchleiste oslogin.googleapis.com ein und drücken Sie die Eingabetaste.
  4. Es wird eine Liste von Audit-Logs angezeigt, in denen die Anfragen zur Bestätigung in zwei Schritten beschrieben werden. Sie können jeden der Einträge erweitern, um zusätzliche Informationen zu erhalten:

    Audit-Logs für die Bestätigung in zwei Schritten.

Bei allen Audit-Logs können Sie Folgendes tun:

  1. Maximieren Sie das Attribut protoPayload.

    Audit-Logmesswerte für Authentifizierung in zwei Schritten.

  2. Suchen Sie nach methodName, um die Aktivität zu sehen, auf die sich dieses Log bezieht – entweder eine StartSession- oder eine ContinueSession-Anfrage. Wenn mit diesem Log beispielsweise eine StartSession-Anfrage nachverfolgt wird, lautet der Methodenname "google.cloud.oslogin.OsLoginService.v1.StartSession". Entsprechend würde ein ContinueSession-Log "google.cloud.oslogin.OsLoginService.v1.ContinueSession" heißen. Für jede Anfrage zum Starten und Fortsetzen einer Sitzung wird ein Audit-Logeintrag erstellt.

Es gibt verschiedene Audit-Logattribute für verschiedene Logtypen. Audit-Logs, die sich auf StartSession beziehen, haben z. B. spezielle Attribute für das Starten von Sitzungen. Ebenso haben Audit-Logs für ContinueSession eigene Attribute. Es gibt bestimmte Attribute von Audit-Logs, die bei beiden Logtypen vorkommen.

Alle Audit-Logs der Bestätigung in zwei Schritten

Attribut Wert
serviceName oslogin.googleapis.com
resourceName Ein String, der die Projektnummer enthält. Diese Projektnummer gibt an, zu welcher Anmeldeanfrage das Audit-Log gehört. Beispiel: projects/myproject12345
severity Der Schweregrad der Lognachricht. Beispiel: INFO oder WARNING.
request.email Die E-Mail-Adresse des Nutzers, der über den API-Aufruf authentifiziert wird.
request.numericProjectId Die Projektnummer des Google Cloud-Projekts.
response.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.StartOrContinueSessionResponse
response.sessionId Ein ID-String, mit dem die Sitzung eindeutig identifiziert wird. Diese Sitzungs-ID wird an den nächsten API-Aufruf in der Sequenz übergeben.
response.authenticationStatus Der Status der Sitzung. Beispiel: Authenticated, Challenge required oder Challenge pending.
response.challenges Die Identitätsbestätigungen, die Sie versuchen können, um diese Authentifizierungsrunde erfolgreich durchzuführen. Höchstens eine dieser Identitätsbestätigungen wird gestartet und hat den Status READY. Die anderen werden als Optionen angeboten. Der Nutzer kann diese als Alternative zur vorgeschlagenen primären Identitätsbestätigung verwenden.

StartSession-Audit-Logs

Attribut Wert
methodName google.cloud.oslogin.OsLoginService.v1.StartSession
request.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.StartSessionRequest
request.supportedChallengeTypes Die Liste der Identitätsbestätigungsarten oder 2FA-Methoden, zwischen denen Sie wählen können.

ContinueSession-Audit-Logs

Attribut Wert
methodName google.cloud.oslogin.OsLoginService.v1.ContinueSession
request.sessionId Ein ID-String, mit dem die vorherige Sitzung eindeutig identifiziert wird. Diese Sitzungs-ID wird vom vorherigen API-Aufruf in der Sequenz übergeben.
request.@type type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.ContinueSessionRequest
request.challengeId Ein ID-String, der angibt, welche Art der Identitätsbestätigung gestartet oder durchgeführt werden soll. Diese ID muss zu einer Art der Identitätsbestätigung gehören, die vom Aufruf response.challenges in einer früheren API-Antwort zurückgegeben wurde.
request.action Die erforderliche Aktion.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation