Über die Workforce Identity-Föderation auf Umgebungen zugreifen

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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

Workforce Identity Federation in Cloud Composer

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

Wenn die Workforce Identity-Föderation in Ihrem Projekt konfiguriert ist, können Sie auf Ihre Umgebung auf folgende Weise zugreifen:

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

Hinweise

  • Sie müssen Ihre Umgebung nicht auf eine bestimmte Weise konfigurieren, um die Mitarbeiteridentitätsföderation zu unterstützen. Alle Airflow-Builds in Cloud Composer 3 unterstützen die Workforce Identity-Föderation.

  • Für den Bucket der Umgebung gelten die Cloud Storage-Einschränkungen für die Mitarbeiteridentitätsföderation. Insbesondere müssen Sie für den Bucket der Umgebung den einheitlichen Zugriff auf Bucket-Ebene 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 werden (in die URL für externe Identitäten geändert werden).

  • Cloud Composer unterstützt nicht die Verwendung von Drittanbieteridentitäten in Ingress- und Egress-Regeln, um Apache Airflow-UI-Vorgänge zuzulassen. Sie können jedoch den Identitätstyp ANY_IDENTITY in Ingress- und Egress-Regeln verwenden, um den Zugriff auf alle Identitäten, einschließlich Drittanbieteridentitäten, zuzulassen. Weitere Informationen zum Identitätstyp ANY_IDENTITY finden Sie unter Regeln für eingehenden und ausgehenden Traffic.

Zugriff auf Ihre Umgebung mit Workforce Identity-Fö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 Workforce Identity-Föderation für Ihren Identitätsanbieter, indem Sie der Anleitung Workforce Identity-Föderation konfigurieren folgen.

Externen Identitäten IAM-Rollen zuweisen

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

  • Eine Liste der Cloud Composer-spezifischen Rollen finden Sie unter Nutzern Rollen zuweisen. Mit der Rolle Umgebungsnutzer und Betrachter von Storage-Objekten (composer.environmentAndStorageObjectViewer) kann ein Nutzer beispielsweise Umgebungen ansehen, auf die Airflow-UI zugreifen, DAGs in der DAG-UI ansehen und auslösen sowie Objekte in Umgebungs-Buckets ansehen.

  • Eine Anleitung zum Zuweisen dieser Rollen zu externen Nutzern finden Sie unter IAM-Rollen zuweisen.

  • Informationen zum Darstellen externer Identitäten in IAM-Richtlinien finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.

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

Cloud Composer behandelt Airflow-Nutzer für externe Identitäten auf dieselbe Weise wie für Google-Kontonutzer. Statt einer E‑Mail-Adresse wird eine Haupt-ID verwendet. Wenn eine externe Identität zum ersten Mal auf die Airflow-UI zugreift, wird automatisch ein Airflow-Nutzer im Airflow-RBAC-System (Role-Based Access Control, rollenbasierte Zugriffssteuerung) mit der Standardrolle registriert.

Prüfen Sie, ob neue Nutzer die richtigen Airflow-Rollen in der Airflow-UI-Zugriffssteuerung erhalten. Es stehen zwei Optionen zur Verfügung:

  • Externen Identitäten wird die Standardrolle zugewiesen, nachdem sie zum ersten Mal auf die Airflow-UI zugegriffen haben. Bei Bedarf können Airflow-Administratoren diese Rolle dann in eine andere ändern.
  • Externe Identitäten vorab registrieren: Fügen Sie Airflow-Nutzereinträge mit den Hauptkennungen der Nutzer in den Feldern „Nutzername“ und „E-Mail-Adresse“ hinzu und weisen Sie ihnen eine Reihe erforderlicher Rollen zu. Auf diese Weise erhalten externe Identitäten die Rolle, die Sie ihnen zugewiesen haben, und nicht die Standardrolle.

Auf die Cloud Composer-Seite in der Google Cloud Console zugreifen

Über die Google Cloud Console für die Mitarbeiteridentitätsföderation kann auf die Cloud Composer-Seite zugegriffen werden.

Auf der Seite Composer in der Google Cloud Workforce Identity Federation-Konsole können Sie auf die Benutzeroberfläche für die Verwaltung von Umgebungen, Cloud Composer-Logs, Monitoring und die DAG-Benutzeroberfläche zugreifen.

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

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, ohne angemeldet zu sein, wird er zuerst zum Authentifizierungsportal weitergeleitet, wo er den Namen seines Workforce-Poolanbieters angibt. Anschließend wird er zu seinem Identitätsanbieter weitergeleitet, um sich anzumelden, und schließlich zur Airflow-UI der Umgebung.

Auf die DAG-Benutzeroberfläche in der Google Cloud Console zugreifen

Die DAG-Benutzeroberfläche ist für Nutzer mit externen Identitäten als Teil der föderierten Console verfügbar. Sie können den Zugriff mit IAM-Richtlinien steuern.

Die rollenbasierte Airflow-Zugriffssteuerung in den 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 müssen Sie Rollen einrichten, wie unter Zugriffssteuerung für die Airflow-Benutzeroberfläche verwenden beschrieben.

Auf die Google Cloud CLI zugreifen

Damit externe Identitäten über die Google Cloud CLI auf Ihre Umgebung zugreifen können, müssen sie Folgendes tun:

  1. Mit einer externen Identität in der Google Cloud CLI anmelden
  2. 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 Cloud Composer-Umgebungen mit den unterstützten Authentifizierungsmethoden wie OAuth-Tokens zu verwalten.

Auf die Airflow REST API zugreifen

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

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um die URL des Endpunkts für externe Identitäten für Ihre Umgebung abzurufen:

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)"

Nächste Schritte