Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Die Sicherheit Ihrer Cloud Composer-Umgebung ist entscheidend, um vertrauliche Daten zu schützen und unbefugte Zugriffe zu verhindern. Auf dieser Seite werden wichtige Best Practices beschrieben, darunter Empfehlungen für Netzwerksicherheit, Identitäts- und Zugriffsverwaltung, Verschlüsselung und Umgebungskonfigurationsverwaltung.
Weitere Informationen zu den Sicherheitsfunktionen in Cloud Composer finden Sie unter Sicherheit – Übersicht.
Umgebungskonfiguration und DAGs mithilfe der Versionskontrolle verwalten
Umgebung mit Terraform erstellen So können Sie die Umgebungskonfiguration als Code in einem Repository speichern. So können Änderungen an der Umgebungskonfiguration vor der Anwendung geprüft werden. Außerdem können Sie die Anzahl der Nutzer reduzieren, die Berechtigungen zum Ändern der Konfiguration haben, indem Sie Rollen mit weniger Berechtigungen zuweisen.
Bereitstellen Sie DAGs in Ihrer Umgebung mit einer CI/CD-Pipeline, damit DAG-Code aus einem Repository abgerufen wird. So werden DAGs geprüft und genehmigt, bevor die Änderungen in das Versionskontrollsystem zusammengeführt werden. Während des Überprüfungsprozesses achten die Genehmiger darauf, dass DAGs die Sicherheitskriterien erfüllen, die in ihren Teams festgelegt wurden. Der Überprüfungsschritt ist wichtig, um das Bereitstellen von DAGs zu verhindern, die den Inhalt des Bucket der Umgebung ändern.
Deaktivieren Sie in der Identitäts- und Zugriffsverwaltung den direkten Zugriff auf DAGs und die Umgebungskonfiguration für normale Nutzer, wie im Abschnitt Identitäts- und Zugriffsverwaltung beschrieben.
Netzwerksicherheit
Verwenden Sie für Ihre Umgebungen den Typ „Privates IP-Netzwerk“, damit 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.Deaktivieren Sie den Zugriff auf das Internet, wenn Sie PyPI-Pakete installieren. Verwenden Sie stattdessen ein Artifact Registry-Repository als einzige Paketquelle.
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 Erstellen Sie Umgebungs-Dienstkonten und verwenden Sie unterschiedliche Dienstkonten für unterschiedliche Umgebungen. Weisen Sie diesen Dienstkonten nur Berechtigungen zu, die für die Ausführung dieser Umgebungen und die Ausführung von Vorgängen, die in den von ihnen ausgeführten Airflow-DAGs definiert sind, unbedingt erforderlich sind.
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. die Berechtigungen, die durch die grundlegende Rolle Bearbeiter gewährt werden. Dies birgt jedoch das Risiko, dass DAGs mehr Berechtigungen als beabsichtigt verwenden.
Verwenden Sie keine Standarddienstkonten von Google-Diensten, die von Cloud Composer verwendet werden. Es ist oft nicht möglich, die für diese Dienstkonten verfügbaren Berechtigungen einzuschränken, ohne andere Google-Dienste in Ihrem Projekt zu beeinträchtigen.
Machen Sie sich mit den Sicherheitsanforderungen 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.
Beachten Sie 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 ist beispielsweise nur der Zugriff auf die DAG-Benutzeroberfläche und die Airflow-Benutzeroberfläche möglich.
Sie können die Zugriffssteuerung für die Airflow-Benutzeroberfläche erzwingen. Dadurch lässt sich die Sichtbarkeit in der Airflow- und DAG-Benutzeroberfläche basierend auf der Airflow-Rolle des Nutzers reduzieren. Außerdem können Sie damit Berechtigungen auf DAG-Ebene für einzelne DAGs zuweisen.
Prüfen Sie die Einstellungen regelmäßig. 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 Speichern vertraulicher Daten wie personenidentifizierbarer Informationen 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 IAM-Berechtigungen für den Bucket der Umgebung nur vertrauenswürdigen Nutzern. Verwenden Sie nach Möglichkeit objektspezifische Berechtigungen. Im Hilfeartikel Sicherheitsaspekte für Dienstkonten der Umgebung werden mehrere Möglichkeiten beschrieben, wie Nutzer mit Zugriff auf den Bucket der Umgebung Aktionen im Namen des Dienstkontos der Umgebung ausführen können.
Sie sollten sich darüber im Klaren sein, welche Daten in den Snapshots gespeichert werden, und nur vertrauenswürdigen Nutzern Berechtigungen zum Erstellen von Umgebungs-Snapshots und zum Zugriff auf den Bucket erteilen, in dem sie gespeichert werden.
Alle externen Schnittstellen von Cloud Composer werden standardmäßig verschlüsselt. Achten Sie beim Herstellen einer Verbindung zu externen Produkten und Diensten darauf, dass Sie eine verschlüsselte Kommunikation (SSL/TLS) verwenden.
Nächste Schritte
- Sicherheit
- Zugriffssteuerung mit IAM
- Zugriffssteuerung für die Airflow-Benutzeroberfläche
- Präsentation zur DAG-Sicherheit beim Airflow Summit