OS Login in einer Organisation verwalten

Wenn Sie den Zugriff auf Ihre Instanzen mit OS Login verwalten, können Sie Konfigurationen auf Organisationsebene für Ihr Cloud Identity-Konto festlegen. Sie können beispielsweise steuern, wer die OS Login API direkt verwenden kann, OS Login für alle VM-Instanzen in einer Organisation aktivieren und externen Nutzern Zugriff gewähren.

In diesem Thema werden folgende Aufgaben behandelt:

Vorbereitung

OS Login mithilfe einer Organisationsrichtlinie aktivieren

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:

  • enable-oslogin ist in den Projektmetadaten für alle neuen Projekte auf true eingestellt.
  • Aktualisierungsanfragen zum Festlegen von enable-oslogin auf false in Instanz- oder Projektmetadaten werden abgelehnt.

Einschränkungen

  • Sie können diese Einschränkung nicht rückwirkend anwenden. OS Login wird nicht automatisch für Instanzen und Projekte aktiviert, die vor Anwendung der Einschränkung erstellt wurden.
  • In Google Kubernetes Engine ausgeführte Instanzen unterstützen OS Login nicht. Durch Aktivieren der OS Login-Einschränkung wird verhindert, dass Google Kubernetes Engine-Cluster neue Instanzen in Projekten erstellen, für die die Einschränkung gilt.

    Zur Umgehung dieses Problems können Sie diese Einschränkung auf Organisationsebene aktivieren und dann in Projekten mit Google Kubernetes Engine-Clustern deaktivieren. Alternativ können Sie OS Login entweder auf Projekt- oder Ordnerebene aktivieren. Weitere Informationen zum Verwalten von Organisationsrichtlinien finden Sie unter Organisationsrichtlinien erstellen und verwalten.

Zum Aktivieren der OS Login-Richtlinie können Sie die OS Login-Einschränkung für bestimmte Projekte und Ordner mit dem gcloud-Befehlszeilentool festlegen. Sie können die OS Login-Einschränkung für die gesamte Organisation auch über die Google Cloud Console oder das gcloud-Befehlszeilentool festlegen.

Console

Führen Sie die folgenden Schritte aus, um die OS Login-Organisationsrichtlinie über die Console einzurichten:

  1. Wechseln Sie in der Google Cloud Console zur Seite Organisationsrichtlinien.

    Zur Seite "Organisationsrichtlinien"

  2. Klicken Sie in der Liste der Richtlinien auf OS-Anmeldung erforderlich, um die Einschränkungen für vertrauenswürdige Images aufzurufen.
  3. Klicken Sie auf Bearbeiten, um die Einschränkungen für OS Login zu bearbeiten.
  4. Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.
  5. Wählen Sie An, um die Erzwingung dieser Einschränkung zu aktivieren.
  6. Klicken Sie auf Speichern, um die Einstellungen für die Einschränkungen zu übernehmen.

gcloud

Zum Festlegen der OS Login-Organisationsrichtlinie verwenden Sie den Befehl gcloud beta resource-manager org-policies enable-enforce.

  1. Ermitteln Sie Ihre Organisations-ID.

    gcloud organizations list
  2. 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
    

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:

  1. Rufen Sie in der Google Cloud Console die Seite zur Projekt- und Organisationsauswahl auf.

    Weiter zur Auswahlseite für Projekte und Organisationen

  2. Wählen Sie im Drop-down-Menü Organisation Ihre Organisation aus.
    1. Klicken Sie auf Alle, um alle Organisationen aufzurufen.
    2. Klicken Sie auf den Namen der Organisation.
  3. Klicken Sie auf Hinzufügen, um einem Nutzer eine neue Rolle zuzuweisen.
  4. Geben Sie den Nutzernamen des Nutzers an, für den Sie den Instanzzugriff konfigurieren möchten.
  5. Klicken Sie auf Rolle auswählen, um festzulegen, welche Rollen Sie dem Nutzer zuweisen möchten.
  6. Wählen Sie in der Liste der Compute Engine-Rollen die Rolle Externer Nutzer von Compute OS-Log-in aus.
  7. Klicken Sie auf Hinzufügen, um zu bestätigen, dass Sie dem Nutzer die ausgewählte Rolle zuweisen möchten.
  8. 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.

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:

  • 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 Nutzer user@example.com den Nutzernamen user, 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.

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() mit applicationName=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:

  • 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

Weitere Informationen zu den Kontoattributen, die Sie bearbeiten können, finden Sie in der Referenz zur Directory API.

Erstellen Sie beispielsweise eine PUT-Anfrage an die Methode directory.users.update und geben Sie eine oder mehrere Attribute an, die Sie für das Nutzerkonto ändern möchten:

PUT https://compute.googleapis.com/admin/directory/v1/users/user-id-key

{
 "posixAccounts": [
   {
    "username": "user-name",
    "uid": "uid",
    "gid": "gid",
    "homeDirectory": "user-home-path",
    "shell": "shell-path"
   }
  ],
}

Ersetzen Sie Folgendes:

  • user-id-key: Eine unveränderliche ID für den Nutzer.
  • user-name: Der von Compute Engine für den Nutzer zur Instanz hinzufügte Nutzername. Dieser Wert muss innerhalb der Organisation eindeutig sein. user-name darf nicht in einer Tilde("~") enden oder einen Punkt (".") enthalten, da dies zu Problemen beim Ausführen von sudo-Befehlen auf der VM führen könnte.
  • uid: Die Nutzer-ID auf der Instanz für diesen Nutzer. Das Attribut muss ein Wert zwischen 1001 und 60000 oder zwischen 65535 und 2147483647 sein. Für den Zugriff auf Container-Optimized OS muss die UID zwischen 65536 und 214748646 liegen. Die UID muss innerhalb der Organisation einmalig sein.
  • gid: Die Gruppen-ID auf der Instanz, zu der dieser Nutzer gehört.
  • user-home-path: Das Basisverzeichnis der Instanz für diesen Nutzer. Beispiel: /home/example_username
  • shell-path: Der Pfad zur Standard-Shell für den Nutzer, nachdem er eine Verbindung zur Instanz hergestellt hat. Beispiel: /bin/bash oder /bin/sh

Weitere Informationen