Il 15 settembre 2026, tutti gli ambienti Cloud Composer 1 e Cloud Composer 2 versione 2.0.x raggiungeranno la fine del ciclo di vita pianificata e non potrai più utilizzarli. Ti consigliamo di pianificare la migrazione a Cloud Composer 3.
La protezione dell'ambiente Cloud Composer è fondamentale per proteggere i dati sensibili e impedire l'accesso non autorizzato. Questa pagina illustra le best practice principali, inclusi i consigli per la sicurezza di rete, Identity and Access Management, la crittografia e la gestione della configurazione dell'ambiente.
Per ulteriori informazioni sulle funzionalità di sicurezza disponibili in Cloud Composer, consulta la Panoramica della sicurezza.
Gestire la configurazione dell'ambiente e i DAG utilizzando il controllo della versione
Figura 1. Un esempio di pipeline CI/CD Airflow (fai clic per ingrandire)
Crea il tuo ambiente utilizzando Terraform.
In questo modo, puoi archiviare la configurazione dell'ambiente come codice in un
repository. In questo modo, le modifiche alla configurazione dell'ambiente possono essere esaminate prima di essere applicate e puoi ridurre il numero di utenti che dispongono delle autorizzazioni per modificare la configurazione assegnando ruoli con meno autorizzazioni.
In Identity and Access Management, disattiva l'accesso diretto ai DAG e alla configurazione dell'ambiente per gli utenti normali, come descritto nella sezione Identity and Access Management.
Esegui il deployment dei DAG nel tuo ambiente con una pipeline CI/CD,
in modo che il codice DAG venga recuperato da un repository. In questo modo, i DAG vengono esaminati e approvati prima che le modifiche vengano unite al sistema di controllo della versione. Durante la procedura di revisione, gli approvatori si assicurano che i DAG soddisfino i criteri di sicurezza stabiliti all'interno dei loro team. Il passaggio di revisione è fondamentale per impedire il deployment di DAG che potrebbero eseguire azioni indesiderate.
Alcuni aspetti di sicurezza importanti da tenere in considerazione durante la revisione dei DAG sono:
I DAG che modificano i contenuti del bucket dell'ambiente non devono modificare
il codice di altri DAG o accedere a dati sensibili, a meno che non sia previsto.
I DAG non devono eseguire query dirette al database Airflow, a meno che non sia previsto. Un DAG in un ambiente Cloud Composer ha accesso a tutte le tabelle del database Airflow. È possibile recuperare informazioni da qualsiasi tabella, elaborarle e archiviarle al di fuori del database Airflow.
Sicurezza della rete
Utilizza il tipo di rete IP privato per i tuoi ambienti in modo che i componenti di Airflow dell'ambiente non abbiano accesso a internet e il loro accesso privato Google sia configurato tramite l'intervallo private.googleapis.com, che consente l'accesso alle API, ai servizi e ai domini Google supportati da questo intervallo.
Esamina le regole firewall
nella rete VPC collegata al tuo ambiente (se
collegata). A seconda del modo in cui li configuri, i componenti Airflow del tuo ambiente, ad esempio i worker Airflow che eseguono i tuoi DAG, potrebbero accedere a internet tramite la tua rete VPC.
Identity and Access Management
Isolare le autorizzazioni.
Crea account di servizio per l'ambiente
e utilizza account di servizio diversi per ambienti diversi. Assegna a questi account di servizio solo le autorizzazioni strettamente necessarie per gestire questi ambienti ed eseguire le operazioni definite nei DAG di Airflow che eseguono.
Evita di utilizzare account di servizio con autorizzazioni ampie. Anche se è possibile creare un ambiente che utilizza un account con autorizzazioni ampie, come quelle concesse dal ruolo di base Editor, questo comporta il rischio che i DAG utilizzino autorizzazioni più ampie del previsto.
Non fare affidamento sugli account di servizio predefiniti dei servizi Google utilizzati da Cloud Composer. Spesso è impossibile ridurre le autorizzazioni disponibili per questi account di servizio senza influire anche su altri servizi Google nel progetto.
Rispetta il principio del privilegio minimo. Concedi agli utenti solo le autorizzazioni minime necessarie. Ad esempio,
assegna i ruoli IAM, in modo che solo
gli amministratori possano accedere al bucket dell'ambiente
e
l'accesso diretto sia disattivato per gli utenti normali. Ad esempio, il ruolo Utente Composer consente l'accesso solo all'interfaccia utente di DAG e Airflow.
Applica il controllo dell'accesso all'interfaccia utente di Airflow, che consente di ridurre la visibilità nell'interfaccia utente di Airflow e nell'interfaccia utente del DAG in base al ruolo di Airflow dell'utente e può essere utilizzato per assegnare autorizzazioni a livello di DAG per i singoli DAG.
Esamina regolarmente. Controlla regolarmente le autorizzazioni e i ruoli IAM per identificare e rimuovere eventuali privilegi eccessivi o inutilizzati.
Fai attenzione a trasmettere e archiviare dati sensibili:
Presta attenzione quando passi dati sensibili come informazioni o password che consentono l'identificazione personale. Se necessario,
utilizza Secret Manager per
archiviare in modo sicuro le connessioni e i secret di Airflow, le chiavi API,
le password e i certificati. Non memorizzare queste informazioni nei DAG o nelle variabili di ambiente.
Concedi le autorizzazioni IAM al bucket dell'ambiente solo
a utenti attendibili. Se possibile, utilizza le autorizzazioni per oggetto.
I considerazioni sulla sicurezza per gli account di servizio dell'ambiente elencano diversi modi in cui gli utenti con accesso al bucket dell'ambiente possono eseguire azioni per conto dell'account di servizio dell'ambiente.
Assicurati di conoscere
quali dati vengono archiviati negli snapshot e fornisci
le autorizzazioni per creare snapshot dell'ambiente e accedere al bucket in cui
vengono archiviati solo agli utenti attendibili.
Per impostazione predefinita, tutte le interfacce esterne di Cloud Composer utilizzano la crittografia. Quando ti connetti a prodotti e servizi esterni, assicurati di utilizzare la comunicazione criptata (SSL/TLS).
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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)"]]