Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Das Sichern Ihrer Cloud Composer-Umgebung ist entscheidend, um vertrauliche 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 Verwaltung der Umgebungskonfiguration.
Weitere Informationen zu den in Cloud Composer verfügbaren Sicherheitsfunktionen finden Sie unter Sicherheit – Übersicht.
Umgebungskonfiguration und DAGs mit der Versionsverwaltung verwalten
Umgebung mit Terraform erstellen So können Sie die Konfiguration der Umgebung als Code in einem Repository speichern. So 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 der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) den direkten Zugriff auf DAGs und die Konfiguration der Umgebung für reguläre Nutzer, wie im Abschnitt Identitäts- und Zugriffsverwaltung beschrieben.
DAGs mit einer CI/CD-Pipeline in Ihrer Umgebung bereitstellen, damit DAG-Code aus einem Repository abgerufen wird. Auf diese Weise werden DAGs überprüft und genehmigt, bevor die Änderungen in das Versionskontrollsystem übernommen werden. Während des Überprüfungsprozesses stellen Genehmiger sicher, dass 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.
Bei der Überprüfung von DAGs sind einige wichtige Sicherheitsaspekte zu berücksichtigen:
DAGs, die den Inhalt des Buckets der Umgebung ändern, dürfen nicht den Code anderer DAGs ändern oder auf vertrauliche Daten zugreifen, sofern dies nicht beabsichtigt ist.
DAGs dürfen keine direkten Abfragen an die Airflow-Datenbank stellen, es sei denn, dies ist beabsichtigt. Ein DAG in einer Cloud Composer-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 für Ihre Umgebungen den privaten IP-Netzwerktyp, damit die Airflow-Komponenten der Umgebung keinen Zugriff auf das Internet haben und ihr privater Google-Zugriff über den Bereich
private.googleapis.com
konfiguriert wird. Dadurch wird der Zugriff auf Google APIs, Dienste und Domains ermöglicht, die von diesem Bereich unterstützt werden.Internetzugriff beim Installieren von PyPI-Paketen deaktivieren Verwenden Sie stattdessen ein Artifact Registry-Repository als einzige Quelle für Pakete.
Prü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. Dienstkonten für Umgebungen erstellen und verschiedene Dienstkonten für verschiedene Umgebungen verwenden. Weisen Sie diesen Dienstkonten nur Berechtigungen zu, die unbedingt erforderlich sind, um diese Umgebungen zu betreiben und Vorgänge auszuführen, die in den Airflow-DAGs definiert sind, die sie ausführen.
Verwenden Sie keine Dienstkonten mit umfassenden Berechtigungen. Es ist zwar möglich, eine Umgebung zu erstellen, in der ein Konto mit umfassenden Berechtigungen verwendet wird, z. B. mit den Berechtigungen, die durch die grundlegende Rolle Bearbeiter 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 Cloud Composer verwendet werden. Es ist oft unmö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 von Umgebungen vertraut und verstehen Sie, wie dieses Konto mit Berechtigungen und Rollen interagiert, die Sie einzelnen Nutzern in Ihrem Projekt zuweisen.
Halten Sie sich an das Prinzip der geringsten Berechtigung. Gewähren Sie Nutzern nur die minimal erforderlichen Berechtigungen. Sie können beispielsweise IAM-Rollen zuweisen, damit nur Administratoren auf den Bucket der Umgebung zugreifen können und der direkte Zugriff für normale Nutzer deaktiviert ist. Mit der Rolle Composer-Nutzer kann beispielsweise nur auf die DAG-Benutzeroberfläche und die Airflow-Benutzeroberfläche zugegriffen werden.
Airflow-UI-Zugriffssteuerung erzwingen, um die Sichtbarkeit in der Airflow-UI und der DAG-UI basierend auf der Airflow-Rolle des Nutzers zu verringern. Damit können Berechtigungen auf DAG-Ebene für einzelne DAGs zugewiesen werden.
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.
Vermeiden Sie die Weitergabe und Speicherung sensibler Daten:
Seien Sie vorsichtig, wenn Sie vertrauliche Daten wie personenidentifizierbare Informationen oder Passwörter weitergeben. Verwenden Sie 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, die in den Snapshots gespeichert werden, vertraut und gewähren Sie nur vertrauenswürdigen Nutzern Berechtigungen zum Erstellen von Umgebungssnapshots und zum Zugriff auf den Bucket, in dem sie gespeichert werden.
Alle externen Schnittstellen von Cloud Composer verwenden standardmäßig Verschlüsselung. Achten Sie beim Herstellen einer Verbindung zu externen Produkten und Diensten darauf, dass Sie verschlüsselte Kommunikation (SSL/TLS) verwenden.
Nächste Schritte
- Sicherheit
- Zugriffssteuerung mit IAM
- Zugriffssteuerung für die Airflow-UI
- Airflow Summit-Präsentation zur DAG-Sicherheit