Auf Umgebungen mit Mitarbeiteridentitätsföderation zugreifen

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird beschrieben, wie Sie den Nutzerzugriff auf Ihre Cloud Composer-Umgebung mit der Mitarbeiteridentitätsföderation konfigurieren.

Mitarbeiteridentitätsföderation in Cloud Composer

Mit der Mitarbeiteridentitätsföderation können Sie einen externen Identitätsanbieter (Identity Provider, IdP) verwenden, um eine Gruppe von Nutzern wie Mitarbeiter, Partner und Auftragnehmer mithilfe von IAM zu authentifizieren und zu autorisieren, sodass die Nutzer auf Google Cloud-Dienste zugreifen können. Weitere Informationen zur Mitarbeiteridentitätsföderation finden Sie unter Mitarbeiteridentitätsföderation.

Wenn die Mitarbeiteridentitätsföderation in Ihrem Projekt konfiguriert ist, können Sie auf folgende Arten auf Ihre Umgebung zugreifen:

  • Cloud Composer-Seite in der Google Cloud Console
  • Airflow-UI
  • Google Cloud CLI, einschließlich Ausführen von Befehlen der Airflow CLI
  • Cloud Composer API
  • Airflow REST API

Hinweise

  • Alle neuen Cloud Composer-Umgebungen, die ab Version 2.1.11 und Airflow Version 2.4.3 erstellt wurden, unterstützen die Mitarbeiteridentitätsföderation. Sie müssen Ihre Umgebung nicht auf eine bestimmte Weise konfigurieren, um die Mitarbeiteridentitätsföderation zu unterstützen.

  • Umgebungen, die vor Version 2.1.11 und Airflow Version 2.4.3 erstellt und auf höhere Versionen aktualisiert wurden, unterstützen keine Mitarbeiteridentitätsföderation. Sie können prüfen, ob Ihre Umgebung die Mitarbeiteridentitätsföderation unterstützt.

  • Für den Bucket der Umgebung gelten Cloud Storage-Einschränkungen für die Mitarbeiteridentitätsföderation. Insbesondere müssen Sie den einheitlichen Zugriff auf Bucket-Ebene für den Bucket der Umgebung aktivieren, damit externe Identitäten ihre DAGs und Dateien in diesen Bucket hochladen können.

  • Von Airflow gesendete E-Mails enthalten nur die Airflow-UI-URL für Google-Konten. Da externe Identitäten nur über die Airflow-UI-URL für externe Identitäten auf die Airflow-UI zugreifen können, muss der Link angepasst (in die URL für externe Identitäten geändert werden).

Zugriff auf Ihre Umgebung mit Mitarbeiteridentitätsföderation einrichten

In diesem Abschnitt wird beschrieben, wie Sie den Zugriff für externe Identitäten auf Ihre Cloud Composer-Umgebung konfigurieren.

Identitätsanbieter konfigurieren

Konfigurieren Sie die Mitarbeiteridentitätsföderation für Ihren Identitätsanbieter. Folgen Sie dazu der Anleitung Mitarbeiteridentitätsföderation konfigurieren.

Externen Identitäten IAM-Rollen zuweisen

Weisen Sie in Identity and Access Management Gruppen externer Identitäten IAM-Rollen zu, damit diese auf Ihre Umgebung zugreifen und mit ihr interagieren können:

  • Eine Liste der für Cloud Composer spezifischen Rollen finden Sie unter Nutzern Rollen zuweisen. Mit der Rolle Environment User and Storage Object Viewer (composer.environmentAndStorageObjectViewer) können Nutzer beispielsweise Umgebungen ansehen, auf die Airflow-UI zugreifen, DAGs über die DAG-UI aufrufen und auslösen sowie Objekte in Umgebungs-Buckets ansehen.

  • Eine Anleitung zum Zuweisen dieser Rollen an externe Nutzer finden Sie unter Hauptkonten IAM-Rollen zuweisen.

  • Informationen zur Darstellung externer Identitäten in IAM-Richtlinien finden Sie unter Personalpoolnutzer in IAM-Richtlinien darstellen.

Prüfen, ob neue Nutzer in der Zugriffssteuerung der Airflow-UI die richtigen Airflow-Rollen erhalten

Cloud Composer behandelt Airflow-Nutzer für externe Identitäten auf dieselbe Weise wie für Nutzer von Google-Konten. Anstelle einer E-Mail-Adresse wird eine Hauptkennung verwendet. Wenn eine externe Identität zum ersten Mal auf die Airflow-UI zugreift, wird ein Airflow-Nutzer automatisch im rollenbasierten Airflow-Zugriffssteuerungssystem mit der Standardrolle registriert.

Prüfen Sie in der Zugriffssteuerung für die Airflow-UI, ob neue Nutzer die richtigen Airflow-Rollen erhalten. Es gibt zwei Möglichkeiten:

  • Lassen Sie externen Identitäten die Standardrolle zu, nachdem sie zum ersten Mal auf die Airflow-UI zugegriffen haben. Bei Bedarf können Airflow-Administratoren diese Rolle in eine andere Rolle ändern.
  • Registrieren Sie externe Identitäten mit einer Reihe erforderlicher Rollen. Fügen Sie dazu Airflow-Nutzereinträge hinzu, in denen die Felder für Nutzername und E-Mail auf ihre Hauptkonto-IDs festgelegt sind. Auf diese Weise erhalten externe Identitäten die Rolle, die Sie ihnen zugewiesen haben, und nicht die Standardrolle.

Prüfen, ob eine Umgebung die Mitarbeiteridentitätsföderation unterstützt

Führen Sie den folgenden Befehl der Google Cloud CLI aus, um zu prüfen, ob Ihre Umgebung die Mitarbeiteridentitätsföderation unterstützt. Wenn die Ausgabe einen URI enthält, unterstützt Ihre Umgebung die Mitarbeiteridentitätsföderation.

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.airflowByoidUri)"

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.

Beispiel:

gcloud composer environments describe example-environment \
  --location us-central1 \
  --format="value(config.airflowByoidUri)"

Seite „Cloud Composer“ in der Google Cloud Console aufrufen

Die Konsole der Google Cloud-Mitarbeiteridentitätsföderation bietet Zugriff auf die Cloud Composer-Seite.

Über die Seite Composer in der Google Cloud-Konsole der Mitarbeiteridentitätsföderation können Sie auf die UI zum Verwalten von Umgebungen, Cloud Composer-Logs, Monitoring und DAG-UI zugreifen.

Alle Verknüpfungen zur Airflow-UI in der föderierten Konsole verweisen auf den Airflow-UI-Zugriffspunkt für externe Identitäten.

Bei Umgebungen in Versionen vor 2.1.11 und oder Airflow-Versionen vor 2.4.3 sind die Links in der Airflow-UI möglicherweise als „Nicht verfügbar“ gekennzeichnet. Dies weist darauf hin, dass diese Umgebung keine Nutzer der Mitarbeiteridentitätsföderation in der Airflow-UI unterstützt. Auf die Airflow-UI für diese Umgebung kann nur mit Google-Konten zugegriffen werden.

Auf Airflow-UI zugreifen

Cloud Composer-Umgebungen haben zwei URLs für die Airflow-UI: eine für Google-Konten und eine für externe Identitäten. Externe Identitäten müssen über die URL für externe Identitäten auf die Airflow-UI zugreifen.

  • Die URL für externe Identitäten lautet https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.

  • Die URL für Google-Konten lautet https://<UNIQUE_ID>.composer.googleusercontent.com.

Nur Nutzer, die mit externen Identitäten authentifiziert wurden, können auf die URL für externe Identitäten zugreifen. Wenn ein Nutzer die URL für externe Identitäten aufruft, während er nicht angemeldet ist, wird er zuerst zum Authentifizierungsportal weitergeleitet, wo er den Namen des Personalpoolanbieters angibt. Dann wird er zu seinem Identitätsanbieter zur Anmeldung und schließlich zur Airflow-UI der Umgebung weitergeleitet.

In der Google Cloud Console auf die DAG-UI zugreifen

Die DAG-UI ist für externe Identitätsnutzer als Teil der föderierten Konsole verfügbar. Sie können den Zugriff mit IAM-Richtlinien steuern.

Der rollenbasierte Zugriff von Airflow in Umgebungen mit vollständiger Unterstützung der Mitarbeiteridentitätsföderation wird ebenfalls berücksichtigt und kann verwendet werden, um einzuschränken, welche DAGs für einzelne Nutzer sichtbar sind. Dazu werden Rollen eingerichtet, wie unter Zugriffssteuerung für Airflow-UI verwenden beschrieben.

Auf die Google Cloud CLI zugreifen

Für den Zugriff auf Ihre Umgebung über die Google Cloud CLI müssen externe Identitäten Folgendes tun:

  1. Melden Sie sich mit einer externen Identität über die Google Cloud CLI an.
  2. gcloud composer environments-Befehle ausführen.

Auf die Cloud Composer API zugreifen

Die Cloud Composer API kann mit externen Identitäten verwendet werden, um alle Composer-Umgebungen mit den unterstützten Authentifizierungsmethoden wie OAuth-Tokens zu verwalten.

Airflow REST API

Die Airflow REST API ist am Endpunkt für externe Identitäten mit den unterstützten Authentifizierungsmethoden wie OAuth-Tokens verfügbar.

Verwenden Sie den Befehl gcloud composer environments describe, um die URL des Endpunkts für externe Identitäten für Ihre Umgebung abzurufen, wie im Abschnitt Prüfen, ob eine Umgebung die Mitarbeiteridentitätsföderation unterstützt beschrieben.

Nächste Schritte