Cloud Composer 1 Cloud Composer 2
Der Zugriff auf die Airflow-UI in Cloud Composer wird durch die Identitäts- und Zugriffsverwaltung gesteuert. Nutzer müssen sich zuerst beim Identity-Aware Proxy (IAP) authentifizieren und die entsprechenden IAM-Berechtigungen haben, bevor sie auf die Web-UI zugreifen können.
Sobald Nutzer jedoch auf die Airflow-UI zugreifen, bietet IAM keine zusätzliche detaillierte Berechtigungssteuerung in der Airflow-UI. Mit diesem Feature können Sie in der Airflow-UI die detaillierte rollenbasierte Zugriffssteuerung (Role-based Access Control, RBAC) aktivieren.
Beachten Sie, dass die RBAC-UI ein Feature von Airflow mit einem eigenen Modell von Nutzern, Rollen und Berechtigungen ist, das sich von IAM unterscheidet.
RBAC-UI aktivieren
In Cloud Composer 2 ist die Airflow RBAC-Benutzeroberfläche immer aktiviert.
RBAC-UI verwenden
In der RBAC-Benutzeroberfläche können die Einstellungen für die Zugriffssteuerung über die Links im Menü "Sicherheit" konfiguriert werden. Weitere Informationen zum RBAC-Modell, den verfügbaren Berechtigungen und zu den Standardrollen finden Sie in der Dokumentation zur Airflow-RBAC-UI.
Airflow behandelt die Nutzerrolle als Vorlage für alle benutzerdefinierten Rollen. Dies bedeutet, dass Airflow Berechtigungen aus der Nutzerrolle kontinuierlich in alle benutzerdefinierten Rollen kopiert, mit Ausnahme der Berechtigungen für all_dags
.
Airflow RBAC verwaltet eine eigene Liste von Nutzern. Das bedeutet, dass Nutzer mit der Rolle "Administrator" (oder gleichwertig) die Liste der Nutzer aufrufen können, die diese Instanz der Airflow-Benutzeroberfläche geöffnet haben und für Airflow RBAC registriert sind.
Nutzer in der RBAC-Benutzeroberfläche registrieren
Neue Nutzer werden automatisch registriert, wenn sie die mit einer bestimmten Cloud Composer-Umgebung verbundene Airflow RBAC-UI zum ersten Mal öffnen.
Bei der Registrierung erhalten Nutzer die Rolle, die in der Airflow-Konfigurationsoption [webserver]rbac_user_registration_role
angegeben ist. Sie können die Rolle neu registrierter Nutzer steuern, indem Sie diese Konfigurationsoption mit einem anderen Wert überschreiben.
Wenn keine Angabe erfolgt, wird in Umgebungen mit Airflow 2 die Standardregistrierungsrolle Op
verwendet.
Zum Erstellen einer einfachen Rollenkonfiguration für die Airflow-RBAC-UI werden folgende Schritte empfohlen:
Airflow 2
Umgebungsadministratoren rufen die Airflow RBAC-Benutzeroberfläche für die neu erstellte Umgebung auf.
Gewähren Sie den Administratorkonten die Rolle
Admin
. Die Standardrolle für neue Konten in Umgebungen mit Airflow 2 istOp
. Führen Sie zum Zuweisen der RolleAdmin
den folgenden Airflow-Befehlszeilenbefehl mitgcloud
aus:gcloud composer environments run ENVIRONMENT_NAME \ --location LOCATION \ users add-role -- -e USER_EMAIL -r Admin
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.USER_EMAIL
durch die E-Mail-Adresse eines Nutzerkontos.
Administratoren können jetzt die Zugriffssteuerung für neue Nutzer konfigurieren und beispielsweise die Rolle
Admin
anderen Nutzern zuweisen.
Airflow 1
Airflow 1 ist in Cloud Composer 2 nicht verfügbar.
Nutzer entfernen
Wenn Sie einen Nutzer aus RBAC löschen, wird der Zugriff für diesen Nutzer nicht widerrufen, da er beim nächsten Besuch der Airflow-UI automatisch wieder registriert wird. Wenn Sie den Zugriff auf die gesamte Airflow-UI widerrufen möchten, entfernen Sie die Berechtigung composer.environments.get
aus der Richtlinie „Allow“ für Ihr Projekt.
Sie können die Rolle des Nutzers in der RBAC-Benutzeroberfläche auch auf "Öffentlich" ändern, wodurch die Registrierung des Nutzers beibehalten wird, aber alle Berechtigungen für die Airflow-UI entfernt werden.
Berechtigungen auf DAG-Ebene konfigurieren
Sie können Berechtigungen auf DAG-Ebene für benutzerdefinierte Rollen konfigurieren, um anzugeben, welche DAGs von welchen Nutzergruppen sichtbar sind.
So konfigurieren Sie die DAG-Trennung in der Airflow-RBAC-UI:
- Der Administrator erstellt leere Rollen für die Gruppierung von DAGs
- Der Administrator weist Nutzern die entsprechenden Rollen zu
- Der Administrator oder die Nutzer weisen Rollen DAGs zu
- Nutzer können nur DAGs in der Benutzeroberfläche sehen, deren Berechtigungen einer Gruppe zugewiesen wurden, zu der dieser Nutzer gehört
DAGs können Rollen entweder über DAG-Attribute oder über die RBAC-Benutzeroberfläche zugewiesen werden.
DAGs Rollen in DAG-Attributen zuweisen
Der DAG-Entwickler kann den DAG-Parameter access_control
auf den hochgeladenen DAGs festlegen und die DAG-Gruppierungsrollen angeben, denen der DAG zugewiesen wird:
dag = DAG(
access_control={
'DagGroup': {'can_dag_edit', 'can_dag_read'},
},
...
)
Anschließend müssen der Administrator, der DAG-Entwickler oder ein automatisierter Prozess den Airflow-Befehl sync_perm
ausführen, um die neuen Einstellungen für die Zugriffssteuerung anzuwenden.
DAGs Rollen in der RBAC-UI zuweisen
Ein Administrator kann den entsprechenden Rollen auch die gewünschten Berechtigungen auf DAG-Ebene in der Airflow-UI zuweisen.
Audit-Logs in der Airflow-UI den Nutzern zuordnen
Audit-Logs in der Airflow-UI werden numerischen IDs der Google-Nutzerkonten zugeordnet. Wenn ein Nutzer beispielsweise einen DAG pausiert, wird den Logs ein Eintrag hinzugefügt.
Sie können Audit-Logs auf der Seite Audit-Logs in der Airflow-UI auf der Seite Suchen aufrufen.

Für einen typischen Eintrag wird im Feld Inhaber eine numerische ID angegeben:
accounts.google.com:NUMERIC_ID
. Sie können numerische IDs den E-Mail-Adressen der Nutzer auf der Seite Sicherheit > Nutzer hinzufügen zuordnen. Diese Seite ist für Nutzer mit der Rolle Admin
verfügbar.
Die Beziehung zwischen Google-Identitäten (E-Mail-Adressen) und Nutzerkonten (User-IDs) wird nicht festgelegt.