Am 15. September 2026erreichen alle Cloud Composer 1- und Cloud Composer 2-Umgebungen der Version 2.0.x das geplante Ende des Lebenszyklus und können nicht mehr verwendet werden. Wir empfehlen, die Migration zu Cloud Composer 3 zu planen.
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, Identity and Access Management, Verschlüsselung und Umgebungskonfigurationsverwaltung.
Weitere Informationen zu den Sicherheitsfunktionen in Cloud Composer finden Sie unter Sicherheit – Übersicht.
Umgebungskonfiguration und DAGs mithilfe der Versionskontrolle verwalten
Abbildung 1. Beispiel für eine Airflow-CI/CD-Pipeline (zum Vergrößern klicken)
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.
Deaktivieren Sie in Identity and Access Management den direkten Zugriff auf DAGs und die Umgebungskonfiguration für normale Nutzer, wie im Abschnitt Identitäts- und Zugriffsverwaltung beschrieben.
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 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 Bucket 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 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 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.
Prüfen Sie die Firewallregeln im mit Ihrer Umgebung verbundenen VPC-Netzwerk (falls verbunden). Je nach Konfiguration greifen Airflow-Komponenten Ihrer Umgebung, z. B. Airflow-Worker, die Ihre DAGs ausführen, möglicherweise über Ihr VPC-Netzwerk auf das Internet zu.
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 in den von ihnen ausgeführten Airflow-DAGs unbedingt erforderlich sind.
Verwenden Sie keine Dienstkonten mit umfassenden Berechtigungen. Es ist zwar möglich, eine Umgebung mit einem Konto mit umfassenden Berechtigungen zu erstellen, z. B. mit denen, 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.
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- und Airflow-Benutzeroberfläche möglich.
Sie können die Zugriffssteuerung für die Airflow-Benutzeroberfläche erzwingen. Damit 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.
Machen Sie sich mit den in den Snapshots gespeicherten Daten vertraut und gewähren Sie nur vertrauenswürdigen Nutzern die Berechtigung, Umgebungs-Snapshots zu erstellen und auf den Bucket zuzugreifen, 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.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-29 (UTC)."],[[["\u003cp\u003eSecuring Cloud Composer environments involves implementing best practices for network security, Identity and Access Management (IAM), encryption, and environment configuration management to safeguard sensitive data and prevent unauthorized access.\u003c/p\u003e\n"],["\u003cp\u003eUtilize version control with tools like Terraform for environment configuration and CI/CD pipelines for DAG deployment to ensure reviewed and approved changes, reducing the number of users with direct modification permissions.\u003c/p\u003e\n"],["\u003cp\u003eEmploy Private IP networking, disable internet access for PyPI package installation, and configure firewall rules in connected VPC networks to enhance network security and limit external access to Airflow components.\u003c/p\u003e\n"],["\u003cp\u003eIsolate permissions by creating dedicated service accounts for different environments, adhering to the principle of least privilege, and regularly auditing IAM roles to minimize the risk of unauthorized access or unintended permissions.\u003c/p\u003e\n"],["\u003cp\u003eAvoid storing sensitive data in DAGs or environment variables, instead use Secret Manager to securely store Airflow connections, API keys, and other sensitive credentials, and restrict access to the environment's bucket and snapshots to trusted users.\u003c/p\u003e\n"]]],[],null,["\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n**Cloud Composer 3** \\| [Cloud Composer 2](/composer/docs/composer-3/security-practices \"View this page for Cloud Composer 2\") \\| [Cloud Composer 1](/composer/docs/composer-1/security-practices \"View this page for Cloud Composer 1\")\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nSecuring your Cloud Composer environment is crucial for protecting\nsensitive data and preventing unauthorized access. This page outlines key best\npractices, including recommendations for network security, Identity and Access Management,\nencryption, and environment configuration management.\n\nTo get more information about security features available in\nCloud Composer, see [Security overview](/composer/docs/composer-3/composer-security-overview).\n\nManage environment configuration and DAGs using version control [](/static/composer/docs/images/composer-airflow-secure-cicd.svg) **Figure 1.** An example of an Airflow CI/CD pipeline (click to enlarge)\n\n- [Create your environment using Terraform](/composer/docs/composer-3/terraform-create-environments).\n In this way, you can store environment's configuration as code in a\n repository. In this way, changes to your environment configuration can be\n reviewed before they are applied, and you can reduce the number of users\n who have permissions to change the configuration by assigning roles with\n less permissions.\n\n- In Identity and Access Management, disable direct access to DAGs and environment's\n configuration to regular users, as detailed in the\n [Identity and Access Management](#iam-security) section.\n\n- [Deploy DAGs in your environment with a CI/CD pipeline](/composer/docs/composer-3/dag-cicd-github),\n so that DAG code is retrieved from a repository. In this way, DAGs are\n reviewed and approved before the changes are merged to the version control\n system. During the review process, approvers make sure that DAGs meet the\n security criteria established within their teams. The review step is\n critical to prevent deployment of DAGs that might perform unwanted actions.\n\n Some important security aspects to take into account when reviewing DAGs\n are:\n - DAGs that modify the content of the environment's bucket must not modify\n the code of other DAGs or access sensitive data, unless intended.\n\n - DAGs must not make direct queries to the Airflow database, unless\n intended. A DAG in a Cloud Composer environment has\n access to all tables in the Airflow database. It is possible to retrieve\n information from any table, process it, and then store it outside of the\n Airflow database.\n\nNetwork security\n\n- Use [Private IP networking type](/composer/docs/composer-3/change-networking-type) for your environments so that\n Airflow components of the environment don't have access to the internet and\n their Private Google Access is configured through the\n `private.googleapis.com` range, which enables access to Google APIs,\n services, and domains supported by this range.\n\n- [Disable access to the internet when installing PyPI packages](/composer/docs/composer-3/packages-internet-access).\n Instead, use an Artifact Registry repository\n [as the only source of packages](/composer/docs/composer-3/install-python-dependencies#install-ar-repo).\n\n- Review the firewall rules\n [in the VPC network connected to yor environment](/composer/docs/composer-3/connect-vpc-network) (if\n connected). Depending on the way you configure them, Airflow components of\n your environment, such as Airflow workers that run your DAGs, might access\n the internet through your VPC network.\n\n\nIdentity and Access Management\n\n- Isolate permissions.\n [Create environment service accounts](/composer/docs/composer-3/access-control#service-account)\n and use different service accounts for different environments. Assign to\n these service accounts only permissions that are strictly necessary to\n operate these environments and perform operations defined in Airflow DAGs\n that they run.\n\n- Avoid using service accounts with broad permissions. While it\n is possible to create an environment that uses an account with broad\n permissions, such as those granted by the **Editor** basic role, this\n creates a risk of DAGs using broader permissions than intended.\n\n- Don't rely on default service accounts of Google services used by\n Cloud Composer. It is often impossible to reduce permissions\n available to these service accounts without also affecting other Google\n services in your project.\n\n- Make sure that you are familiar with\n [security considerations for environment's service accounts](/composer/docs/composer-3/access-control#service-account-security)\n and understand how this account interacts with permissions and roles that\n you grant to individual users in your project.\n\n- Adhere to the principle of least privilege. Grant only the minimum necessary\n permissions to users. For example,\n [assign IAM roles](/composer/docs/composer-3/access-control#user-account), so that only\n administrators can access the environment's bucket\n ,\n and direct access is disabled for regular users. For example, the\n **Composer User** role enables access only to DAG UI and Airflow UI.\n\n- Enforce [Airflow UI Access Control](/composer/docs/composer-3/airflow-rbac), which allows to reduce\n visibility in Airflow UI and DAG UI based on user's Airflow role, and can be\n used to assign DAG-level permissions for individual DAGs.\n\n- Review regularly. Regularly audit IAM permissions and roles\n to identify and remove any excessive or unused privileges.\n\n- Beware of passing and storing sensitive data:\n\n - Exercise caution when passing storing sensitive data like personally\n identifiable information or passwords. Where required,\n [use Secret Manager](/composer/docs/composer-3/configure-secret-manager) to\n securely store Airflow connections and Airflow secrets, API keys,\n passwords, and certificates. Don't store this information in your DAGs\n or environment variables.\n\n - Grant IAM permissions to the environment's bucket only\n to trusted users. Use per-object permissions, if possible.\n [Security considerations for environment's service accounts](/composer/docs/composer-3/access-control#service-account-security)\n list several ways in which users with access to the environment's\n bucket can perform actions on behalf of the environment's service\n account.\n\n - Make sure that you are familiar with\n [what data is stored in the snapshots](/composer/docs/composer-3/save-load-snapshots) and provide\n permissions to create environment snapshots and access the bucket where\n they are stored only to trusted users.\n\n - All Cloud Composer's external interfaces use encryption by\n default. When connecting to external products and services, make sure\n that you use encrypted communication (SSL/TLS).\n\nWhat's next\n\n- [Security overview](/composer/docs/composer-3/composer-security-overview)\n- [Access control with IAM](/composer/docs/composer-3/access-control)\n- [Airflow UI Access Control](/composer/docs/composer-3/airflow-rbac)\n- [Airflow summit presentation about DAG security](https://www.youtube.com/watch?v=QhnItssm4yU)"]]