Airflow Configuration
Konfiguracioni fajl
Apache Airflow generiše konfiguracioni fajl na svim airflow mašinama koji se naziva airflow.cfg
u home direktorijumu korisnika airflow-a. Ovaj konfiguracioni fajl sadrži informacije o konfiguraciji i može sadržati zanimljive i osetljive informacije.
Postoje dva načina pristupa ovom fajlu: kompromitovanjem neke airflow mašine ili pristupom web konzoli.
Imajte na umu da vrednosti unutar konfiguracionog fajla možda nisu one koje se koriste, jer ih možete prebrisati postavljanjem env promenljivih kao što je AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
.
Ako imate pristup konfiguracionom fajlu na web serveru, možete proveriti stvarnu konfiguraciju koja se izvršava na istoj stranici na kojoj se prikazuje konfiguracija. Ako imate pristup nekoj mašini unutar airflow okruženja, proverite okruženje.
Neke zanimljive vrednosti za proveru prilikom čitanja konfiguracionog fajla:
[api]
access_control_allow_headers
: Ovo označava dozvoljene zaglavlja za CORSaccess_control_allow_methods
: Ovo označava dozvoljene metode za CORSaccess_control_allow_origins
: Ovo označava dozvoljene origin-e za CORSauth_backend
: Prema dokumentaciji nekoliko opcija može biti postavljeno da konfiguriše ko može pristupiti API-ju:airflow.api.auth.backend.deny_all
: Podrazumevano niko ne može pristupiti API-juairflow.api.auth.backend.default
: Svi mogu pristupiti bez autentifikacijeairflow.api.auth.backend.kerberos_auth
: Za konfigurisanje kerberos autentifikacijeairflow.api.auth.backend.basic_auth
: Za osnovnu autentifikacijuairflow.composer.api.backend.composer_auth
: Koristi autentifikaciju kompozitora (GCP) (od ovde).composer_auth_user_registration_role
: Ovo označava ulogu koju će korisnik kompozitora dobiti unutar airflow-a (Op podrazumevano).Takođe možete kreirati sopstveni autentifikacioni metod sa python-om.
google_key_path
: Putanja do GCP servisnog naloga ključa
[atlas]
password
: Atlas lozinkausername
: Atlas korisničko ime
[celery]
flower_basic_auth
: Kredencijali (user1:password1,user2:password2)result_backend
: Postgres url koji može sadržati kredencijale.ssl_cacert
: Putanja do cacert-assl_cert
: Putanja do cert-assl_key
: Putanja do ključa
[core]
dag_discovery_safe_mode
: Podrazumevano je omogućeno. Pri otkrivanju DAG-ova, ignorisati sve fajlove koji ne sadrže stringoveDAG
iairflow
.fernet_key
: Ključ za čuvanje enkriptovanih promenljivih (simetrično)hide_sensitive_var_conn_fields
: Podrazumevano je omogućeno, sakriva osetljive informacije o konekcijama.security
: Koju sigurnosnu modul koristiti (na primer kerberos)
[dask]
tls_ca
: Putanja do catls_cert
: Deo do cert-atls_key
: Deo do tls ključa
[kerberos]
ccache
: Putanja do ccache fajlaforwardable
: Podrazumevano je omogućeno
[logging]
google_key_path
: Putanja do GCP JSON kredencijala.
[secrets]
backend
: Puno ime klase tajnih backend-a za omogućavanjebackend_kwargs
: Parametar backend_kwargs se učitava u rečnik i prosleđuje init metodi klase tajnih backend-a.
[smtp]
smtp_password
: SMTP lozinkasmtp_user
: SMTP korisnik
[webserver]
cookie_samesite
: Podrazumevano je Lax, tako da je već najslabija moguća vrednostcookie_secure
: Postavi secure flag na sesijski kolačićexpose_config
: Podrazumevano je False, ako je true, konfiguracija može biti pročitana sa web konzoleexpose_stacktrace
: Podrazumevano je True, prikazaće python tracebacks (potencijalno korisno za napadača)secret_key
: Ovo je ključ koji flask koristi za potpisivanje kolačića (ako ga imate, možete preuzeti identitet bilo kog korisnika u Airflow-u)web_server_ssl_cert
: Putanja do SSL cert-aweb_server_ssl_key
: Putanja do SSL ključax_frame_enabled
: Podrazumevano je True, tako da podrazumevano nije moguće clickjacking
Web autentifikacija
Podrazumevano je da je web autentifikacija navedena u fajlu webserver_config.py
i konfigurisana je kao
Što znači da se autentifikacija proverava protiv baze podataka. Međutim, moguće su i druge konfiguracije kao što su
Da biste autentifikaciju prepustili uslugama trećih strana.
Međutim, takođe postoji opcija da omogućite pristup anonimnim korisnicima, postavljajući sledeći parametar na željenu ulogu:
Last updated