Cloud Composer 1 Cloud Composer 2
Auf dieser Seite wird beschrieben, wie Sie den Nutzerzugriff auf Ihre Cloud Composer-Umgebung mit der Mitarbeiter-Identitätsföderation konfigurieren.
Föderation der Mitarbeiteridentität in Cloud Composer
Mit der Workforce Identity-Föderation können Sie einen externen Identitätsanbieter (Identity Provider, IdP) verwenden, um eine Gruppe von Nutzern, z. B. Mitarbeiter, Partner und Auftragnehmer, zu authentifizieren und zu autorisieren, sodass die Nutzer auf Google Cloud-Dienste zugreifen können. Weitere Informationen zur Mitarbeiter-Föderation finden Sie unter Workforce Identity-Föderation.
Wenn die Föderation der Mitarbeiteridentität in Ihrem Projekt konfiguriert ist, können Sie so auf Ihre Umgebung zugreifen:
- Cloud Composer-Seite in der Google Cloud Console
- Airflow-UI
- Google Cloud CLI, einschließlich Ausführung von Airflow-CLI-Befehlen
- 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 Workforce Identity-Föderation. Sie müssen Ihre Umgebung nicht auf eine bestimmte Weise konfigurieren, um die Föderation der Mitarbeiteridentität 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 die Mitarbeiter-Föderation nicht. Sie können prüfen, ob Ihre Umgebung die Föderation der Mitarbeiteridentität unterstützt.
Für den Bucket der Umgebung gelten Cloud Storage-Einschränkungen für Mitarbeiteridentitätsföderation. Sie müssen insbesondere 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 externe URLs geändert werden.
Zugriff auf die Umgebung mit Mitarbeiteridentitätsföderation einrichten
In diesem Abschnitt wird beschrieben, wie Sie den Zugriff für externe Identitäten für Ihre Cloud Composer-Umgebung konfigurieren.
Identitätsanbieter konfigurieren
Konfigurieren Sie die Föderation der Mitarbeiteridentität für Ihren Identitätsanbieter gemäß der Anleitung Mitarbeiteridentitätsföderation konfigurieren.
Externe Identitäten IAM-Rollen zuweisen
Weisen Sie in Identity and Access Management IAM-Rollen Gruppen von externen Identitäten zu, damit diese auf Ihre Umgebung zugreifen und mit ihr interagieren können:
Eine Liste der spezifischen Cloud Composer-Rollen finden Sie unter Nutzern Rollen zuweisen. Mit der Rolle Betrachter von Umgebungs- und Storage-Objekten (
composer.environmentAndStorageObjectViewer
) kann ein Nutzer beispielsweise Umgebungen aufrufen, auf die Airflow-UI zugreifen, DAGs über die DAG-UI aufrufen und auslösen und Objekte in Umgebungs-Buckets ansehen.Eine Anleitung zum Zuweisen dieser Rollen zu externen Nutzern finden Sie unter Hauptkonten IAM-Rollen zuweisen.
Ein Format für die Darstellung externer Identitäten in IAM-Richtlinien finden Sie unter Nutzer von Worker-Pools in IAM-Richtlinien darstellen.
Prüfen, ob neue Nutzer die richtigen Airflow-Rollen in der Airflow-UI-Zugriffssteuerung haben
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 Haupt-ID verwendet. Wenn eine externe Identität zum ersten Mal auf die Airflow-UI zugreift, wird ein Airflow-Nutzer automatisch im rollenbasierten Airflow-Zugriffssystem mit der Standardrolle registriert.
Prüfen Sie, ob neue Nutzer in der Airflow UI Access Control die richtigen Airflow-Rollen erhalten. Es stehen zwei Optionen zur Verfügung:
- Externe Identitäten erlauben, die Standardrolle zu erhalten, nachdem sie zum ersten Mal auf die Airflow-UI zugegriffen haben. Bei Bedarf können Airflow-Administratornutzer diese Rolle ändern.
Registrieren Sie externe Identitäten mit einer Reihe erforderlicher Rollen, indem Sie Airflow-Nutzerdatensätze hinzufügen, in denen die Nutzernamen und E-Mail-Felder auf ihre Haupt-IDs festgelegt sind. Auf diese Weise erhalten externe Identitäten die Rolle, die Sie ihnen zugewiesen haben, nicht die Standardrolle.
Prüfen, ob eine Umgebung die Föderation der Mitarbeiteridentität unterstützt
Führen Sie den folgenden Google Cloud CLI-Befehl aus, um zu prüfen, ob Ihre Umgebung die Föderation der Mitarbeiteridentität unterstützt. Wenn in der Ausgabe ein URI angezeigt wird, unterstützt Ihre Umgebung die Föderation der Mitarbeiteridentität.
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)"
Cloud Composer-Seite in der Google Cloud Console aufrufen
Die Föderationskonsole für die Google Cloud-Mitarbeiter bietet Zugriff auf die Cloud Composer-Seite.
Auf der Seite Composer in Google Cloud Identity-Föderationskonsole können Sie auf die UI zugreifen, um Umgebungen, Cloud Composer-Logs, das Monitoring und die DAG-UI zu verwalten.
Alle Links 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 Airflow-UI-Links möglicherweise mit „Nicht verfügbar“ gekennzeichnet. Dies bedeutet, 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 die 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 sind, 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, auf dem er den Namen des Anbieters für den Mitarbeiterpool angibt. Anschließend wird er an seinen Identitätsanbieter weitergeleitet, um sich anzumelden. Schließlich wird er zur Airflow-UI der Umgebung weitergeleitet.
Zugriff auf die DAG-UI in der Google Cloud Console
Die DAG-UI ist für Nutzer mit externer Identität als Teil der föderierten Konsole verfügbar. Sie können den Zugriff mit IAM-Richtlinien steuern.
Der rollenbasierte Zugriff auf Airflow in Umgebungen mit vollständiger Unterstützung der Mitarbeiteridentitätsföderation wird ebenfalls berücksichtigt und kann verwendet werden, um festzulegen, welche DAGs für einzelne Nutzer sichtbar sind. Dazu richten Sie Rollen ein, wie unter Zugriffssteuerung für Airflow 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 so vorgehen:
- Melden Sie sich mit einer externen Identität über die Google Cloud CLI an.
- Führen Sie
gcloud composer environments
-Befehle aus.
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 in Ihrer Umgebung abzurufen. Weitere Informationen dazu finden Sie im Abschnitt Prüfen, ob eine Umgebung die Föderation der Mitarbeiteridentität unterstützt.
Nächste Schritte
- Zugriffssteuerung mit IAM
- Zugriffssteuerung für Airflow-UI verwenden
- Auf die Airflow-CLI zugreifen
- Auf die Airflow REST API zugreifen