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 – Übersicht.
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 normale Nutzer, wie im Abschnitt Identity and Access Management beschrieben.
Stellen Sie DAGs in Ihrer Umgebung mit einer CI/CD-Pipeline bereit, damit der DAG-Code aus einem Repository abgerufen wird. Auf diese Weise werden DAGs überprüft und genehmigt, bevor die Änderungen in das Versionsverwaltungssystem übernommen werden. Während der Überprüfung stellen die 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 möglicherweise unerwünschte Aktionen ausführen.
Bei der Überprüfung von DAGs sind einige wichtige Sicherheitsaspekte zu berücksichtigen:
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 Netzwerktyp „Private IP“ für Ihre Umgebungen, damit Airflow-Komponenten der Umgebung keinen Zugriff auf das Internet haben und ihr 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. die 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 Berechtigungen für diese Dienstkonten 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, so dass nur Administratoren auf den Bucket der Umgebung zugreifen können , und der direkte Zugriff für normale 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.
Achten Sie darauf, sensible Daten nicht weiterzugeben und zu speichern:
Seien Sie vorsichtig beim Weitergeben und Speichern sensibler Daten wie personenbezogener Daten oder Passwörter. Verwenden Sie bei Bedarf, Secret Manager um Airflow-Verbindungen und Airflow-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 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