Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
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 Mitarbeitergruppe – 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 so auf Ihre Umgebung zugreifen:
- Seite „Cloud Composer“ in der Google Cloud Console
- Airflow-UI
- Google Cloud CLI, einschließlich Ausführen von Airflow-Kommandozeilenbefehlen
- 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 die Umgebung nicht speziell 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 die Mitarbeiteridentitätsföderation nicht. Sie können prüfen, ob Ihre Umgebung die Mitarbeiteridentitätsföderation unterstützt.
Cloud Storage-Einschränkungen für die Mitarbeiteridentitätsföderation gelten für den Bucket der Umgebung. 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.
E-Mails, die von Airflow gesendet werden, 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 werden die Schritte zum Konfigurieren des Zugriffs für externe Identitäten auf Ihre Cloud Composer-Umgebung beschrieben.
Identitätsanbieter konfigurieren
Konfigurieren Sie die Mitarbeiteridentitätsföderation für Ihren Identitätsanbieter. Folgen Sie dazu der Anleitung unter Mitarbeiteridentitätsföderation konfigurieren.
Externen Identitäten IAM-Rollen zuweisen
Weisen Sie in Identity and Access Management IAM-Rollen für Gruppen externer Identitäten 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 aufrufen, auf die Airflow-UI zugreifen, DAGs über die DAG-UI ansehen und auslösen sowie 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 Personalpoolnutzer in IAM-Richtlinien repräsentieren.
Prüfen, ob neue Nutzer in der Airflow-UI-Zugriffssteuerung 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 Haupt-ID verwendet. Wenn eine externe Identität zum ersten Mal auf die Airflow-UI zugreift, wird ein Airflow-Nutzer automatisch im rollenbasierten Zugriffssteuerungssystem von Airflow mit der Standardrolle registriert.
Prüfen Sie in der Airflow-UI-Zugriffssteuerung, ob neue Nutzer die richtigen Airflow-Rollen erhalten. Es gibt zwei Möglichkeiten:
- Externe Identitäten erhalten die Standardrolle, nachdem sie zum ersten Mal auf die Airflow-UI zugegriffen haben. Bei Bedarf können Airflow-Administratoren diese Rolle ändern.
Externe Identitäten mit einer Reihe von erforderlichen Rollen vorregistrieren. Dazu fügen Sie Airflow-Nutzereinträge hinzu, bei denen die Felder für Nutzername und E-Mail-Adresse auf die Hauptkennungen 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 Google Cloud CLI-Befehl 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)"
In der Google Cloud Console auf die Seite „Cloud Composer“ zugreifen
Die Google Cloud-Konsole für die Mitarbeiteridentitätsföderation bietet Zugriff auf die Cloud Composer-Seite.
In der Google Cloud-Konsole für die Mitarbeiteridentitätsföderation können Sie über die Seite Composer auf die UI für die Verwaltung von Umgebungen, Cloud Composer-Logs, Monitoring und DAG-UI zugreifen.
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 als „Nicht verfügbar“ gekennzeichnet. Das 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 Airflow-UI zugreifen
Cloud Composer-Umgebungen haben zwei URLs für die Airflow-UI: eine für Google-Konten und eine andere 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, ohne angemeldet zu sein, wird er zuerst zum Authentifizierungsportal weitergeleitet, wo er den Namen des Personalpoolanbieters angibt. Anschließend wird er zum Anmelden an seinen Identitätsanbieter weitergeleitet 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 Airflow-Zugriff 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 Airflow-UI-Zugriffssteuerung 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:
- Melden Sie sich mit einer externen Identität in der 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.
Zum Abrufen der URL des Endpunkts für externe Identitäten für Ihre Umgebung verwenden Sie den Befehl gcloud composer environments describe
, wie im Abschnitt Prüfen, ob eine Umgebung die Mitarbeiteridentitätsföderation unterstützt beschrieben.
Nächste Schritte
- Zugriffssteuerung mit IAM
- Airflow-UI-Zugriffssteuerung verwenden
- Auf die Airflow-Befehlszeile zugreifen
- Airflow REST API aufrufen