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, Zugriff für externe Nutzer gewähren und so weiter.

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.

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. Mit der Google Cloud Console oder dem gcloud-Befehlszeilentool können Sie die OS Login-Einschränkung für die gesamte Organisation einstellen.

Console

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

  1. Rufen Sie die Seite Organisationsrichtlinien auf.

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

    gcloud beta resource-manager org-policies enable-enforce \
    compute.requireOsLogin --organization=[ORGANIZATION_ID]
    

    Dabei ist [ORGANIZATION_ID] Ihre Organisations-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]

Dabei gilt:

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. Wechseln Sie zur Auswahlseite für Projekte und Organisationen.

    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.

Zugriff auf die OS Login API steuern

Mitglieder Ihrer Organisation können mit der OS Login API ihre Konten bearbeiten. Auf Organisationsebene können Sie den Zugriff auf die OS Login API einschränken, indem Sie die G Suite-Administrator-Steuerelemente festlegen. Informationen zum Konfigurieren der G Suite-Administrator-Steuerelemente oder zum Anzeigen der Konfigurationsoptionen finden Sie unter Steuern, wer Google Cloud in Ihrer Organisation verwenden darf.

OS Login-Ereignisse prüfen

Als G Suite-Administrator können Sie das G Suite Admin SDK verwenden, um mit der OS Login API ausgeführte Aktionen zu überprüfen. 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 G Suite Admin SDK abrufen. Weitere Informationen finden Sie im Abschnitt der Cloud OS Login-Aktivitätsereignisse in der Dokumentation zu G Suite Admin SDK Reports.

Nutzerkonten mithilfe der Directory API bearbeiten

OS Login verwendet zum Herstellen einer Instanz entweder Ihre Einstellungen für Cloud Identity oder für die G Suite. Als Organisationsadministrator können Sie die Directory API nutzen, um die folgenden Aufgaben für Ihre G Suite- oder Cloud Identity-Nutzerkonten auszufü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://www.googleapis.com/admin/directory/v1/users/[USER_ID_KEY]

{
 "posixAccounts": [
   {
    "username": "[USER_NAME]",
    "uid": "[UID]",
    "gid": "[GID]",
    "homeDirectory": "[USER_HOME_PATH]",
    "shell": "[SHELL_PATH]"
   }
  ],
}

Dabei gilt:

  • [USER_ID_KEY] ist eine unveränderliche ID für den Nutzer.
  • [USER_NAME] ist der von Compute Engine für den Nutzer zur Instanz hinzufügte Nutzername. Dieser Wert muss innerhalb der Organisation eindeutig sein.
  • [UID] ist die auf der Instanz für diesen Nutzer verwendete Nutzer-ID. 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] ist die ID der Gruppe auf der Instanz, zu der der Nutzer gehört.
  • [USER_HOME_PATH] ist das auf der Instanz für diesen Nutzer festgelegte Basisverzeichnis. Beispiel: /home/example_username
  • [SHELL_PATH] ist der Pfad zur Standard-Shell des Nutzers, nachdem eine Verbindung mit der Instanz hergestellt wurde. Beispiel:  /bin/bashoder /bin/sh.

Weitere Informationen