Airflow Configuration
Yapılandırma Dosyası
Apache Airflow, airflow makinelerinin ev dizininde airflow.cfg
adında bir yapılandırma dosyası oluşturur. Bu yapılandırma dosyası, yapılandırma bilgilerini içerir ve ilginç ve hassas bilgiler içerebilir.
Bu dosyaya erişmenin iki yolu vardır: Bir airflow makinesini ele geçirerek veya web konsoluna erişerek.
Dikkat edin ki yapılandırma dosyasındaki değerler, AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
gibi ortam değişkenlerini ayarlayarak üzerine yazabileceğiniz değerler olmayabilir.
Eğer web sunucusundaki yapılandırma dosyasına erişiminiz varsa, yapılandırmanın görüntülendiği aynı sayfada gerçek çalışan yapılandırmayı kontrol edebilirsiniz. Eğer airflow ortamındaki bazı makinelerde erişiminiz varsa, ortamı kontrol edin.
Yapılandırma dosyasını okurken kontrol etmek için bazı ilginç değerler:
[api]
access_control_allow_headers
: Bu, CORS için izin verilen başlıkları gösterir.access_control_allow_methods
: Bu, CORS için izin verilen yöntemleri gösterir.access_control_allow_origins
: Bu, CORS için izin verilen kaynakları gösterir.auth_backend
: Belgelere göre, API'ye kimin erişebileceğini yapılandırmak için birkaç seçenek mevcuttur:airflow.api.auth.backend.deny_all
: Varsayılan olarak kimse API'ye erişemezairflow.api.auth.backend.default
: Kimse kimlik doğrulaması olmadan erişebilirairflow.api.auth.backend.kerberos_auth
: Kerberos kimlik doğrulamasını yapılandırmak içinairflow.api.auth.backend.basic_auth
: Temel kimlik doğrulaması içinairflow.composer.api.backend.composer_auth
: Bestecinin kimlik doğrulamasını kullanır (GCP) (buradan buradan).composer_auth_user_registration_role
: Bu, besteci kullanıcısının airflow içindeki rolünü belirtir (Op varsayılan olarak).Kendi kimlik doğrulama yönteminizi python ile oluşturabilirsiniz.
google_key_path
: GCP hizmet hesabı anahtarının yolu
[atlas]
password
: Atlas şifresiusername
: Atlas kullanıcı adı
[celery]
flower_basic_auth
: Kimlik bilgileri (user1:password1,user2:password2)result_backend
: Kimlik bilgilerini içerebilecek Postgres url'i.ssl_cacert
: cacert'in yolussl_cert
: sertifikanın yolussl_key
: anahtarın yolu
[core]
dag_discovery_safe_mode
: Varsayılan olarak etkinleştirilmiştir. DAG'ları keşfederken,DAG
veairflow
dizelerini içermeyen dosyaları yok sayar.fernet_key
: Şifreli değişkenleri depolamak için anahtar (simetrik)hide_sensitive_var_conn_fields
: Varsayılan olarak etkinleştirilmiştir, bağlantıların hassas bilgilerini gizler.security
: Hangi güvenlik modülünün kullanılacağı (örneğin kerberos)
[dask]
tls_ca
: ca'nın yolutls_cert
: sertifikanın yolutls_key
: tls anahtarının yolu
[kerberos]
ccache
: ccache dosyasının yoluforwardable
: Varsayılan olarak etkinleştirilmiştir
[logging]
google_key_path
: GCP JSON kimlik bilgilerinin yolu
[secrets]
backend
: Etkinleştirilecek gizli backend'in tam sınıf adıbackend_kwargs
: backend_kwargs parametresi bir sözlüğe yüklenir ve gizli backend sınıfının init'ine iletilir.
[smtp]
smtp_password
: SMTP şifresismtp_user
: SMTP kullanıcısı
[webserver]
cookie_samesite
: Varsayılan olarak Lax olduğundan, zaten en zayıf değerdircookie_secure
: Oturum çerezi üzerinde güvenli bayrak ayarlaexpose_config
: Varsayılan olarak False'dur, true ise yapılandırma web konsolundan okunabilirexpose_stacktrace
: Varsayılan olarak True'dur, python iz sürümlerini gösterir (saldırgan için potansiyel olarak faydalı olabilir)secret_key
: Bu, çerezleri imzalamak için flask tarafından kullanılan anahtartır (bunu elde ederseniz Airflow'da herhangi bir kullanıcıyı taklit edebilirsiniz)web_server_ssl_cert
: SSL sertifikasının yoluweb_server_ssl_key
: SSL Anahtarının yolux_frame_enabled
: Varsayılan olarak True olduğundan, varsayılan olarak clickjacking mümkün değildir
Web Kimlik Doğrulama
Varsayılan olarak web kimlik doğrulaması, webserver_config.py
dosyasında belirtilir ve yapılandırılır.
Bu, kimlik doğrulamanın veritabanına karşı kontrol edildiği anlamına gelir. Bununla birlikte, başka yapılandırmalar da mümkündür, örneğin
Üçüncü taraf hizmetlerine kimlik doğrulamayı bırakmak için.
Ancak, anonim kullanıcılara erişim izni vermek için aşağıdaki parametreyi istenen role ayarlamak da mümkündür:
Last updated