In diesem Dokument wird beschrieben, wie Sie mit OS Login den Zugriff auf VM-Instanzen in Ihrem Unternehmen verwalten können.
In diesem Thema werden folgende Aufgaben behandelt:
- OS Login für eine Organisation mit einer Organisationsrichtlinie aktivieren: Mithilfe einer Organisationsrichtlinie können Sie festlegen, dass für alle neuen VM-Instanzen in Ihrer Organisation OS Login aktiviert ist.
- Nutzern außerhalb Ihrer Organisation Instanzzugriff gewähren: Sie können Nutzerkonten außerhalb Ihrer Organisation das Herstellen von SSH-Verbindungen zu Ihren Instanzen erlauben.
- Zugriff auf die OS Login API steuern: Sie können Nutzern den Zugriff auf die OS Login API gewähren oder verweigern. Außerdem können Sie Features der OS Login API aktivieren oder deaktivieren.
- OS Login-Ereignisse prüfen: Verfolgen Sie OS Login-bezogene Ereignisse und Aktivitäten wie Hinzufügen, Löschen oder Aktualisieren von SSH-Schlüsseln oder Löschen von POSIX-Informationen.
- Nutzerkonten mithilfe der Directory API bearbeiten: Mit der Directory API können Sie Nutzerattribute wie Nutzername und POSIX-Kontoinformationen aktualisieren.
- Linux-Gruppen mit OS Login verwenden: Verwalten Sie Nutzerberechtigungen innerhalb von VMs mithilfe von Linux-Gruppen mit OS Login.
- OS Login mit Mitarbeiteridentitätsföderation (Vorschau) verwenden: Stellen Sie eine Verbindung zu VMs her, für die OS Login aktiviert ist, wenn Ihre Organisation einen externen Identitätsanbieter (IdP) verwendet.
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
enable-oslogin=true
ist in den Projektmetadaten für alle neuen Projekte enthalten.- Anfragen, die
enable-oslogin
in Instanz- oder Projektmetadaten auffalse
setzen, werden für neue und vorhandene VMs und Projekte abgelehnt. - Cloud Data Fusion Versionen 6.1.4 und niedriger.
- Cloud Composer 1
- Öffentliche Cluster in Google Kubernetes Engine (GKE), die Versionen vor 1.23.5 ausführen
- Private GKE-Cluster, die Knotenpoolversionen vor 1.20.5 ausführen
- Dataproc Serverless
- Windows Server- und SQL Server-VMs
- Fedora CoreOS-VMs. Verwenden Sie zum Verwalten des Instanzzugriffs auf VMs, die mit diesen Images erstellt wurden, das Ignition-System von Fedora CoreOS.
- Wechseln Sie in der Google Cloud Console zur Seite Organisationsrichtlinien.
- Klicken Sie in der Liste der Richtlinien auf OS-Anmeldung erforderlich, um die Einschränkungen für vertrauenswürdige Images aufzurufen.
- Klicken Sie auf Bearbeiten, um die Einschränkungen für OS Login zu bearbeiten.
- Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.
- Wählen Sie An, um die Erzwingung dieser Einschränkung zu aktivieren.
- Klicken Sie auf Speichern, um die Einstellungen für die Einschränkungen zu übernehmen.
Ermitteln Sie Ihre Organisations-ID.
gcloud organizations list
Legen Sie die Einschränkung in Ihrer Organisation fest. Ersetzen Sie
organization-id
durch Ihre Organisations-ID.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
folder-id
: Ihre Ordner-ID.project-id
: Ihre Projekt-ID.- Rufen Sie in der Google Cloud Console die Seite für die Projekt- und Organisationsauswahl auf.
- Wählen Sie im Drop-down-Menü Organisation Ihre Organisation aus.
- Klicken Sie auf Alle, um alle Organisationen aufzurufen.
- Klicken Sie auf den Namen der Organisation.
- Klicken Sie auf Hinzufügen, um einem Nutzer eine neue Rolle zuzuweisen.
- Geben Sie den Nutzernamen des Nutzers an, für den Sie den Instanzzugriff konfigurieren möchten.
- Klicken Sie auf Rolle auswählen, um festzulegen, welche Rollen Sie dem Nutzer zuweisen möchten.
- Wählen Sie in der Liste der Compute Engine-Rollen die Rolle Externer Nutzer von Compute OS-Log-in aus.
- Klicken Sie auf Hinzufügen, um zu bestätigen, dass Sie dem Nutzer die ausgewählte Rolle zuweisen möchten.
- Sofern noch nicht geschehen, müssen Sie dem Nutzer auf Projekt- oder Organisationsebene die anderen Rollen für den Zugriff auf Instanzen mit OS Login zuweisen.
- Wählen Sie aus, ob das Domain-Suffix in Nutzernamen eingefügt werden soll, die von der OS Login API generiert wurden. Beispiel: In der Domain
example.com
hat der Nutzeruser@example.com
den Nutzernamenuser
, wenn die Einstellung zum Einbinden des Domain-Suffix nicht aktiviert ist. - Entscheiden Sie, ob Mitglieder Ihrer Organisation SSH-Schlüssel mit der OS Login API verwalten können.
- Sie können den VM-Zugriff für Nutzer außerhalb Ihrer Organisation einschränken oder zulassen.
- Anmeldeeinstellungen für Instanz ändern
- Nutzer als Administrator festlegen
- Nutzerattribute wie Kontoname und E-Mail bearbeiten
- SSH-Schlüssel für Nutzer hinzufügen und entfernen
- POSIX-Kontoinformationen bearbeiten
- Den Nutzernamen ändern, mit dem Nutzer auf der Instanz verbunden sind
USER_KEY
: Die primäre E-Mail-Adresse, Alias-E-Mail-Adresse oder eindeutige Nutzer-ID des Nutzers.USERNAME
: Der von Compute Engine für den Nutzer zur VM hinzufügte Nutzername. Dieser Wert muss innerhalb der Organisation eindeutig sein und darf nicht mit einer Tilde ("~") enden oder einen Punkt (".") enthalten.UID
: Die Nutzer-ID auf der VM für diesen Nutzer. Das Attribut muss ein Wert zwischen1001
und60000
oder zwischen65535
und2147483647
sein. Für den Zugriff auf Container-Optimized OS muss dieUID
zwischen65536
und214748646
liegen. DieUID
muss innerhalb der Organisation einmalig sein.GID
: Die Gruppen-ID auf der VM, zu der der Nutzer gehört.USER_HOME_PATH
: (Optional) Das Basisverzeichnis auf der VM für den Nutzer. Beispiel:/home/example_username
.SHELL_PATH
: (Optional) Der Pfad zur Standard-Shell für den Nutzer, nachdem er eine Verbindung zur Instanz hergestellt hat. Beispiel:/bin/bash
oder/bin/sh
.KEY_VALUE
: Der Wert des öffentlichen SSH-Schlüssels.EXPIRATION_TIME
: (Optional) Die Ablaufzeit des Schlüssels in Mikrosekunden seit der Epoche (1 Sekunde = 106 Mikrosekunden).- Erstellen Sie einen Mitarbeiteridentitätspool.
- Richten Sie
google.posix_username
-Attributzuordnungen ein. Konfigurieren Sie Ihre VM für die Verwendung von OS Login mit der Mitarbeiteridentitätsföderation. Gehen Sie dazu so vor:
Prüfen Sie, ob durch Ausführen des folgenden Befehls in der VM OpenSSH 7.4 oder höher installiert ist. Führen Sie dazu den folgenden Befehl in der VM aus:
ssh -V
Die VM, zu der Sie eine Verbindung herstellen, muss OpenSSH Version 7.4 oder höher haben , um die Mitarbeiteridentitätsföderation mit OS Login zu verwenden.
Nutzer in Organisationen, die die Mitarbeiteridentitätsföderation verwenden, haben keinen Zugriff auf serielle Ports der VM.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
-
In the Google Cloud console, 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.
Führen Sie dazu diesen Befehl aus:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Ersetzen Sie Folgendes:
PROJECT_ID
: Die ID des Projekts, das die VM enthältZONE
Der Name der Zone, in der sich die VM befindetVM_NAME
: der Name der VM
Wenn Sie Standardeigenschaften für das Google Cloud CLI festgelegt haben, können Sie die Flags
--project
und--zone
bei diesem Befehl weglassen. Beispiele:gcloud compute ssh VM_NAME
-
Installieren Sie IAP Desktop auf Ihrer Workstation, falls noch nicht geschehen.
-
Rufen Sie IAP Desktop auf. Das Fenster Projekte hinzufügen wird geöffnet.
-
Wenn Sie dazu aufgefordert werden, melden Sie sich mit der Mitarbeiteridentitätsföderation an.
-
Geben Sie im Fenster Projekte hinzufügen die Projekt-ID oder den Namen des Projekts ein, das die VMs enthält, zu denen Sie eine Verbindung herstellen möchten.
-
Klicken Sie im Fenster Project Explorer mit der rechten Maustaste noch einmal auf den Namen der VM und wählen Sie Verbinden aus, um eine Verbindung zur VM herzustellen.
- Erstellen Sie einen SSH-Schlüssel, falls Sie nicht bereits einen haben.
Signieren Sie Ihren öffentlichen SSH-Schlüssel mit der
users.projects.locations.signSshPublicKey
-Methode:POST https://oslogin.googleapis.com/v1beta/users/USER/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" }
Ersetzen Sie Folgendes:
USER
: eine einzelne Identität in einem Mitarbeiterpool im folgenden Format:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Ersetzen Sie Folgendes:
POOL_ID
: der Mitarbeiterpool, zu dem der Nutzer gehört.SUBJECT_ATTRIBUTE_VALUE
: der Wert dergoogle.posix_username
-Attributzuordnung des Nutzers.
PROJECT_ID
: die Projekt-ID des Projekts, das die VM enthält, zu der Sie eine Verbindung herstellen möchten.LOCATION
: die Zone, mit der die VM verbunden werden soll an der Stelle befindet.PUBLIC_KEY
: der Inhalt der Datei Ihres öffentlichen SSH-Schlüssels.
Kopieren Sie das SSH-Zertifikat aus der Ausgabe von
user.signSshPublicKey
und speichern Sie den Inhalt in einer neuen Datei.Legen Sie die Berechtigungen für die SSH-Zertifikatsdatei fest, indem Sie folgenden Befehl ausführen:
sudo chmod 600 FILE_NAME
Ersetzen Sie
FILE_NAME
durch den Namen der Datei.Stellen Sie mit dem folgenden Befehl eine Verbindung zur VM her:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Ersetzen Sie Folgendes:
PATH_TO_PRIVATE_KEY
: der Pfad zur privaten SSH-Schlüsseldatei.PATH_TO_SSH_CERTIFICATE
: der Pfad zu der Zertifikatsdatei Ihres SSH-Kontos.USERNAME
: der Wert dergoogle.posix_username
-Attributzuordnung des Nutzers.EXTERNAL_IP
: die externe IP-Adresse der VM
- OS Login einrichten
- OS Login mit Bestätigung in zwei Schritten einrichten
- Übersicht über das Feature "OS Login"
- Fehlerbehebung bei OS Login
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Organisationsrichtlinie für OS Login
Richten Sie eine OS Login-Einschränkung ein, um dafür zu sorgen, dass OS Login in Ihrer Organisation für alle neuen Projekte und VM-Instanzen aktiviert ist, die in diesen neuen Projekten erstellt werden.
Wenn diese Einschränkung eingerichtet ist, gelten die folgenden Bedingungen:
Beschränkungen
OS Login wird in den folgenden Produkten, Features und VMs nicht unterstützt:Problemumgehungen für Cloud Data Fusion, Cloud Composer und GKE
Zur Verwendung von OS Login in Organisationen, die Cloud Data Fusion, Cloud Composer und GKE verwenden, können Sie die OS Login-Einschränkung auf Organisationsebene aktivieren und dann für Projekte oder Ordner für die betroffenen Projekte selektiv deaktivieren.
Weitere Informationen zum Bearbeiten von Organisationsrichtlinien finden Sie unter Richtlinien erstellen und bearbeiten.
Organisationsrichtlinie aktivieren
Zum Aktivieren der OS Login-Richtlinie können Sie die OS Login-Einschränkung für bestimmte Projekte und Ordner über die Google Cloud CLI festlegen. Sie können die OS Login-Einschränkung für die gesamte Organisation auch über die Google Cloud Console oder die Google Cloud CLI festlegen.
Console
Führen Sie die folgenden Schritte aus, um die OS Login-Organisationsrichtlinie über die Console einzurichten:
gcloud
Zum Festlegen der OS Login-Organisationsrichtlinie verwenden Sie den Befehl
gcloud beta resource-manager org-policies enable-enforce
.Sie können die Organisationsrichtlinie mit dem Flag
--folder
oder--project
und der entsprechenden Ordner-ID bzw. Projekt-ID auch auf einen Ordner oder ein Projekt anwenden.Führen Sie den folgenden Befehl aus, um einen Ordner zu erstellen:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Führen Sie für Projekte den folgenden Befehl aus, um ein Projekt zu erstellen:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Ersetzen Sie Folgendes:
Nutzer außerhalb Ihrer Organisation Instanzzugriff gewähren
Standardmäßig können Nutzer außerhalb Ihrer Organisation keine SSH-Schlüssel für Instanzen in Ihrer Organisation festlegen oder Zugriff auf Instanzen in Ihrer Organisation erhalten. In einigen Situationen kann es jedoch erforderlich sein, Nutzern Instanzzugriff zu gewähren, die zu einer anderen Organisation gehören oder ein privates
gmail.com
-Konto von Google haben.Die IAM-Rolle
roles/compute.osLoginExternalUser
ermöglicht externen Google-Konten die Interaktion mit den anderen OS Login-Rollen, da sie die Möglichkeit erhalten, POSIX-Kontoinformationen zu konfigurieren.So weisen Sie Nutzern außerhalb Ihrer Organisation die Rolle
roles/compute.osLoginExternalUser
und andere erforderliche Rollen für den Zugriff auf OS Login-Instanzen zu:Der Nutzer kann jetzt Verbindungen zu Instanzen in Ihrem Projekt herstellen, für die OS Login aktiviert ist.
OS Login API verwalten
Auf Organisationsebene können Sie den Zugriff auf die OS Login API einschränken. Legen Sie dazu die Google Workspace Administrator-Steuerelemente fest. Informationen zum Konfigurieren der Google Workspace Administrator-Steuerelemente oder zum Anzeigen der Konfigurationsoptionen finden Sie unter Steuern, wer Google Cloud in Ihrer Organisation verwenden darf. Als Google Workspace-Administrator können Sie auch bestimmte Features der OS Login API aktivieren oder deaktivieren. Dazu gehören folgende Optionen:
Weitere Informationen zum Aktivieren oder Deaktivieren der OS Login API-Einstellungen finden Sie unter Einstellungen für die Google Cloud Platform auswählen.
OS Login-Ereignisse prüfen
Als Google Workspace-Administrator können Sie mit dem Google Workspace Admin SDK Aktionen prüfen, die mit der OS Login API ausgeführt werden. Anhand dieser Ereignisse können Sie sehen, wenn Nutzer einen SSH-Schlüssel hinzufügen, löschen oder aktualisieren oder POSIX-Kontoinformationen löschen.
Durch Aufrufen von
Activities.list()
mitapplicationName=gcp
können Sie die Aktivitätsereignisse der OS Login API-Audits im Google Workspace Admin SDK abrufen. Weitere Informationen finden Sie unter Google Cloud-Aktivitätsereignisse in der Dokumentation zur Google Workspace Admin SDK Reports API.Nutzerkonten mithilfe der Directory API bearbeiten
OS Login verwendet für die Verbindung zu einer Instanz entweder die Nutzereinstellungen für Cloud Identity oder für Google Workspace. Als Organisationsadministrator können Sie mithilfe der Directory API die folgenden Aufgaben für Ihre Google Workspace- oder Cloud Identity-Nutzerkonten ausführen:
In den folgenden Beispielen wird gezeigt, wie Sie Nutzerkonten mithilfe der Directory API ändern oder entfernen. Weitere Informationen zu den Kontoattributen, die Sie bearbeiten können, finden Sie in der Referenz zur Directory API.
Kontoattribute ändern
Um die POSIX-Kontoinformationen eines Nutzers zu ändern oder die SSH-Schlüssel des Nutzers zu verwalten, senden Sie eine
PUT
-Anfrage an die Methodedirectory.users.update
und geben Sie ein oder mehrere Attribute an, um sie für das Nutzerkonto zu ändern.Wenn Sie die
posixAccounts
-Attribute eines Nutzers ändern, müssen Sie die aktuellen oder neuen Werte fürusername
,uid
undgid
in der Anfrage angeben.Wenn Sie die
sshPublicKeys
-Attribute des Nutzers ändern, müssen Sie denkey
-Wert in der Anfrage angeben.Das folgende Beispiel zeigt eine
PUT
-Anfrage:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": [ { "username": "USERNAME", "uid": "UID", "gid": "GID", "homeDirectory": "USER_HOME_PATH", "shell": "SHELL_PATH" } ], "sshPublicKeys": [ { "key": "KEY_VALUE", "expirationTimeUsec": EXPIRATION_TIME } ], }
Ersetzen Sie Folgendes:
Kontoattribute entfernen
Um die
posixAccounts
- undsshPublicKeys
-Daten für einen Nutzer zu löschen, senden Sie einePUT
-Anfrage an die Methodedirectory.users.update
und legen Sie die FelderposixAccounts
undsshPublicKeys
aufnull
fest:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Ersetzen Sie
USER_KEY
durch die primäre E-Mail-Adresse, die Alias-E-Mail-Adresse oder die eindeutige Nutzer-ID des Nutzers.Linux-Gruppen mit OS Login verwenden
Organisationsadministratoren können mit der Cloud Identity Groups API zusätzliche Linux-Gruppen für OS Login-Nutzer konfigurieren. Dazu erstellen und verwalten sie POSIX-Gruppen. OS Login verknüpft POSIX-Gruppen mit zusätzlichen Linux-Gruppen in den VMs Ihrer Organisation, sodass Sie die Berechtigungen verwalten können, die Nutzer in Ihren VMs haben.
Nutzermitgliedschaft in Linux-Gruppen verwalten
Informationen zum Erstellen einer POSIX-Gruppe finden Sie unter POSIX-Gruppen erstellen und aktualisieren.
Informationen zum Hinzufügen von Nutzern zu einer Gruppe finden Sie unter Nutzer zu einer Gruppe hinzufügen oder einladen.
Mitgliedschaftsaktualisierungen werden innerhalb von zehn Minuten wirksam. Gruppenänderungen werden in allen neu erstellten VMs übernommen. Es kann bis zu sechs Stunden dauern, bis Änderungen an POSIX-Gruppen an alle ausgeführten VMs verteilt werden. Nutzer müssen sich möglicherweise abmelden oder den Befehl
newgrp
verwenden, um Gruppenänderungen zu beobachten.Ratenbegrenzungen für Linux-Gruppen mit OS Login
Linux-Gruppen mit OS Login verwenden das Kontingent
oslogin.googleapis.com/metadata_server_groups_requests
. Standardmäßig beträgt das Kontingentlimit 60 Anfragen/Minute pro Projekt für eine bestimmte Region.Wenn Sie eine höhere Ratenbegrenzung benötigen, können Sie zusätzliche Kontingente anfordern. Rufen Sie dazu die Seite "Kontingente" in der Google Cloud Console auf.
Mitarbeiteridentitätsföderation mit OS Login verwenden
Organisationen, die die Mitarbeiteridentitätsföderation verwenden, können mit OS Login den Zugriff auf ihre VMs verwalten. Wenn die Mitarbeiteridentitätsföderation für eine Organisation aktiviert ist, verwendet OS Login die zertifikatbasierte Authentifizierung anstelle der schlüsselbasierten Authentifizierung, um Nutzeridentitäten zu verifizieren.
Hinweise
Beschränkungen
Verbindung zu VMs herstellen, die OS Login und die Mitarbeiteridentitätsföderation verwenden
Stellen Sie über die Cloud Console, die gcloud CLI oder andere SSH-Clients eine Verbindung zu VMs her, die OS Login mit der Mitarbeiteridentitätsföderation verwenden.
Console
Wenn Sie mithilfe von SSH im Browser eine Verbindung zu VMs herstellen, die OS Login mit der Mitarbeiteridentitätsföderation verwenden, konfiguriert Compute Engine das SSH-Zertifikat für Sie.
So stellen Sie eine Verbindung zu VMs her:
gcloud
Wenn Sie über die gcloud CLI eine Verbindung zu VMs herstellen, die OS Login mit der Mitarbeiteridentitätsföderation verwenden, konfiguriert Compute Engine das SSH-Zertifikat für Sie.
Stellen Sie mit SSH eine Verbindung zu einer VM her, indem Sie den Befehl
gcloud beta compute ssh
ausführen:IAP Desktop
Wenn Sie mithilfe von IAP Desktop eine Verbindung zu VMs herstellen, die OS Login mit der Mitarbeiteridentitätsföderation verwenden, konfiguriert Compute Engine das SSH-Zertifikat für Sie.
So stellen Sie über IAP Desktop eine Verbindung zu einer VM her:
SSH-Client
So stellen Sie über einen SSH-Client eine Verbindung zu einer VM her, die OS Login mit der Mitarbeiteridentitätsföderation verwendet:
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-25 (UTC).
-