Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Die Sicherung Ihrer Managed Airflow-Umgebung ist entscheidend, um sensible Daten zu schützen und unbefugten Zugriff zu verhindern. Auf dieser Seite werden wichtige Best Practices beschrieben, darunter Empfehlungen für Netzwerksicherheit, Identity and Access Management, Verschlüsselung und die Verwaltung der Umgebungskonfiguration.
Weitere Informationen zu den in Managed Airflow verfügbaren Sicherheitsfunktionen finden Sie unter Sicherheit.
Umgebungskonfiguration und DAGs mit der Versionsverwaltung verwalten
Erstellen Sie Ihre Umgebung mit Terraform. So können Sie die Konfiguration der Umgebung als Code in einem Repository speichern. Auf diese Weise können Änderungen an der Umgebungskonfiguration überprüft werden, bevor sie angewendet werden. Außerdem können Sie die Anzahl der Nutzer mit Berechtigungen zum Ändern der Konfiguration reduzieren, indem Sie Rollen mit weniger Berechtigungen zuweisen.
Deaktivieren Sie in Identity and Access Management den direkten Zugriff auf DAGs und die Umgebungskonfiguration für reguläre Nutzer, wie im Abschnitt Identitäts- und Zugriffsverwaltung beschrieben.
Stellen Sie DAGs in Ihrer Umgebung mit einer CI/CD-Pipeline bereit, damit der DAG-Code aus einem Repository abgerufen wird. So werden DAGs überprüft und genehmigt, bevor die Änderungen in das Versionsverwaltungssystem übernommen werden. Während der Überprüfung stellen Genehmiger sicher, dass die DAGs die in ihren Teams festgelegten Sicherheitskriterien erfüllen. Der Überprüfungsschritt ist entscheidend, um die Bereitstellung von DAGs zu verhindern, die unerwünschte Aktionen ausführen könnten.
Einige wichtige Sicherheitsaspekte, die bei der Überprüfung von DAGs berücksichtigt werden müssen:
DAGs, die den Inhalt des Buckets der Umgebung ändern, dürfen den Code anderer DAGs nicht ändern oder auf sensible Daten zugreifen, es sei denn, dies ist beabsichtigt.
DAGs dürfen keine direkten Abfragen an die Airflow-Datenbank senden, es sei denn, dies ist beabsichtigt. Ein DAG in einer Managed Airflow-Umgebung hat Zugriff auf alle Tabellen in der Airflow-Datenbank. Es ist möglich, Informationen aus einer beliebigen Tabelle abzurufen, zu verarbeiten und dann außerhalb der Airflow-Datenbank zu speichern.
Netzwerksicherheit
Verwenden Sie den privaten IP-Netzwerktyp für Ihre Umgebungen, damit Airflow-Komponenten der Umgebung keinen Zugriff auf das Internet haben und der privater Google-Zugriff über den
private.googleapis.comBereich konfiguriert wird. Dadurch wird der Zugriff auf Google APIs, ‑Dienste und ‑Domains ermöglicht, die von diesem Bereich unterstützt werden.Deaktivieren Sie den Zugriff auf das Internet, wenn Sie PyPI-Pakete installieren. Verwenden Sie stattdessen ein Artifact Registry-Repository als einzige Paketquelle.
Überprüfen Sie die Firewallregeln im VPC-Netzwerk, das mit Ihrer Umgebung verbunden ist (falls verbunden). Je nach Konfiguration können Airflow-Komponenten Ihrer Umgebung, z. B. Airflow-Worker, die Ihre DAGs ausführen, über Ihr VPC-Netzwerk auf das Internet zugreifen.
Identity and Access Management
Berechtigungen isolieren. Erstellen Sie Dienstkonten für die Umgebung und verwenden Sie verschiedene Dienstkonten für verschiedene Umgebungen. Weisen Sie diesen Dienstkonten nur Berechtigungen zu, die unbedingt erforderlich sind, um diese Umgebungen zu betreiben und Vorgänge auszuführen, die in Airflow-DAGs definiert sind, die sie ausführen.
Verwenden Sie keine Dienstkonten mit umfassenden Berechtigungen. Es ist zwar möglich, eine Umgebung zu erstellen, die ein Konto mit umfassenden Berechtigungen verwendet, z. B. Berechtigungen, die durch die einfache Rolle Editor gewährt werden. Dies birgt jedoch das Risiko, dass DAGs umfassendere Berechtigungen verwenden als beabsichtigt.
Verlassen Sie sich nicht auf Standarddienstkonten von Google-Diensten, die von Managed Airflow verwendet werden. Oft ist es nicht möglich, die für diese Dienstkonten verfügbaren Berechtigungen zu reduzieren, ohne auch andere Google-Dienste in Ihrem Projekt zu beeinträchtigen.
Machen Sie sich mit den Sicherheitsaspekten für die Dienstkonten der Umgebung vertraut und verstehen Sie, wie dieses Konto mit Berechtigungen und Rollen interagiert, die Sie einzelnen Nutzern in Ihrem Projekt gewähren.
Halten Sie sich an das Prinzip der geringsten Berechtigung. Gewähren Sie Nutzern nur die minimal erforderlichen Berechtigungen. Weisen Sie beispielsweise IAM-Rollen zu, damit nur Administratoren auf den Bucket der Umgebung zugreifen können , und der direkte Zugriff für reguläre Nutzer deaktiviert ist. Die Rolle Composer-Nutzer ermöglicht beispielsweise nur den Zugriff auf die DAG-UI und die Airflow-UI.
Erzwingen Sie die Airflow-UI-Zugriffssteuerung, mit der die Sichtbarkeit in der Airflow-UI und der DAG-UI basierend auf der Airflow-Rolle des Nutzers reduziert werden kann. Außerdem können Sie Berechtigungen auf DAG-Ebene für einzelne DAGs zuweisen.
Regelmäßig überprüfen. Prüfen Sie regelmäßig IAM-Berechtigungen und ‑Rollen, um übermäßige oder nicht verwendete Berechtigungen zu ermitteln und zu entfernen.
Übergeben und speichern Sie keine sensiblen Daten:
Seien Sie vorsichtig beim Übergeben und Speichern sensibler Daten wie personenbezogener Daten oder Passwörter. Verwenden Sie bei Bedarf, Secret Manager, um Airflow-Verbindungen und ‑Secrets, API-Schlüssel, Passwörter und Zertifikate sicher zu speichern. Speichern Sie diese Informationen nicht in Ihren DAGs oder Umgebungsvariablen.
Gewähren Sie nur vertrauenswürdigen Nutzern IAM-Berechtigungen für den Bucket der Umgebung. Verwenden Sie nach Möglichkeit Berechtigungen pro Objekt. Unter Sicherheitsaspekte für die Dienstkonten der Umgebung werden mehrere Möglichkeiten aufgeführt, wie Nutzer mit Zugriff auf den Bucket der Umgebung Aktionen im Namen des Dienstkontos der Umgebung ausführen können.
Machen Sie sich mit den Daten vertraut, die in den Snapshots gespeichert sind, und gewähren Sie nur vertrauenswürdigen Nutzern Berechtigungen zum Erstellen von Umgebungssnapshots und zum Zugriff auf den Bucket, in dem sie gespeichert sind.
Alle externen Schnittstellen von Managed Airflow verwenden standardmäßig die Verschlüsselung. Wenn Sie eine Verbindung zu externen Produkten und Diensten herstellen, verwenden Sie eine verschlüsselte Kommunikation (SSL/TLS).
Nächste Schritte
- Sicherheit
- Zugriffssteuerung mit IAM
- Airflow-UI-Zugriffssteuerung
- Airflow Summit-Präsentation zur DAG-Sicherheit