Airflow'da DAG Yazarı Erişimi Neden Kod Çalıştırma Sınırıdır
Airflow'da bir kullanıcıya verdiğin rol, sadece UI ve API'de neyi göreceğini sınırlandırır. Ama DAG dosyasındaki kodu zararsız bir ayar dosyasına çevirmez. Airflow'un güvenlik modeli, DAG yazarının kodunun nerede çalıştığına bağlıdır.
Airflow, DAG dosyası kodunu üç yerde çalıştırır: DAG File Processor'da, Triggerer'da ve worker'larda. Her biri farklı bir ortamda çalışır ve farklı kaynakları erişebilir. Örneğin, bir DAG yazarı File Processor'da çalışan kodda veritabanı bağlantısına ulaşabilir. Rol tabanlı erişim kontrol (RBAC) bunu engellemez çünkü kod zaten Airflow'un kendi süreçlerinin içinde çalışıyor.
Airflow 3'te worker görevleri, Execution API üzerinden API sunucusuyla iletişim kuruyor ve veritabanı kimlik bilgilerini almıyor. Bu, worker'lar için anlamlı bir iyileştirme. Ama File Processor ve Triggerer'ın durumu farklı. Airflow, yazarın kodunun doğrudan veritabanına erişmesini önlemek için yazılım korumaları kullanıyor, ancak bu süreçler Airflow'un çalıştığı aynı Unix kullanıcısı olarak çalışıyor.
Praktik olarak, DAG yazarına erişim vermek, o kişiye Airflow'un çalıştığı sunucuda kod çalıştırma yetkisi vermek demek. Rol ne kadar kısıtlı olursa olsun, DAG dosyasına yazabiliyorsa güvenlik sınırı ihlal edilmiş olur. Bu yüzden DAG yazarı seçimi, sadece UI izni değil, sunucu düzeyinde bir güvenlik kararıdır.
0 yorum