Airflow Configuration
Konfigurasie-lêer
Apache Airflow genereer 'n konfigurasie-lêer op alle airflow-masjiene genaamd airflow.cfg
in die tuiste van die airflow-gebruiker. Hierdie konfigurasie-lêer bevat konfigurasie-inligting en kan interessante en sensitiewe inligting bevat.
Daar is twee maniere om toegang tot hierdie lêer te verkry: Deur 'n airflow-masjien te kompromitteer, of deur toegang tot die webkonsol te verkry.
Let daarop dat die waardes binne die konfigurasie-lêer nie noodwendig die gebruikte waardes is nie, aangesien jy hulle kan oorskryf deur omgewingsveranderlikes soos AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
in te stel.
As jy toegang het tot die konfigurasie-lêer in die webbediener, kan jy die werklike lopende konfigurasie op dieselfde bladsy as die konfigurasie sien. As jy toegang het tot 'n masjien binne die airflow-omgewing, kyk na die omgewing.
Sommige interessante waardes om na te kyk wanneer jy die konfigurasie-lêer lees:
[api]
access_control_allow_headers
: Dit dui die toegelate koptekens vir CORS aanaccess_control_allow_methods
: Dit dui die toegelate metodes vir CORS aanaccess_control_allow_origins
: Dit dui die toegelate oorspronge vir CORS aanauth_backend
: Volgens die dokumentasie kan 'n paar opsies gebruik word om te konfigureer wie toegang tot die API kan verkry:airflow.api.auth.backend.deny_all
: Standaard kan niemand toegang tot die API verkry nieairflow.api.auth.backend.default
: Almal kan dit sonder verifikasie gebruikairflow.api.auth.backend.kerberos_auth
: Om kerberos-verifikasie te konfigureerairflow.api.auth.backend.basic_auth
: Vir basiese verifikasieairflow.composer.api.backend.composer_auth
: Gebruik komponiste-verifikasie (GCP) (van hier).composer_auth_user_registration_role
: Dit dui die rol aan wat die komponiste-gebruiker in airflow sal kry (Op standaard).Jy kan ook jou eie verifikasiemetode met Python skep.
google_key_path
: Pad na die GCP-diensrekening-sleutel
[atlas]
password
: Atlas wagwoordusername
: Atlas gebruikersnaam
[celery]
flower_basic_auth
: Gelde (gebruiker1:wagwoord1,gebruiker2:wagwoord2)result_backend
: Postgres-url wat moontlik geloofsbriewe kan bevat.ssl_cacert
: Pad na die cacertssl_cert
: Pad na die sertifikaatssl_key
: Pad na die sleutel
[core]
dag_discovery_safe_mode
: Standaard geaktiveer. Wanneer DAG's ontdek word, ignoreer enige lêers wat nie die stringsDAG
enairflow
bevat nie.fernet_key
: Sleutel om versleutelde veranderlikes te stoor (simmetries)hide_sensitive_var_conn_fields
: Standaard geaktiveer, verberg sensitiewe inligting van verbindings.security
: Watter sekuriteitsmodule om te gebruik (byvoorbeeld kerberos)
[dask]
tls_ca
: Pad na catls_cert
: Deel na die sertifikaattls_key
: Deel na die tls-sleutel
[kerberos]
ccache
: Pad na ccache-lêerforwardable
: Standaard geaktiveer
[logging]
google_key_path
: Pad na GCP JSON-geloofsbriewe.
[secrets]
backend
: Volledige klassenaam van die geheime agterkant om te aktiveerbackend_kwargs
: Die backend_kwargs-param word in 'n woordeboek gelaai en aan die init van die geheime agterkantklas oorgedra.
[smtp]
smtp_password
: SMTP-wagwoordsmtp_user
: SMTP-gebruiker
[webserver]
cookie_samesite
: Standaard is dit Lax, so dit is reeds die swakste moontlike waardecookie_secure
: Stel die veilige vlag op die sessiekoekie inexpose_config
: Standaard is dit vals, as waar, kan die konfigurasie van die webkonsol gelees wordexpose_stacktrace
: Standaard is dit waar, dit sal Python-stapelopsporings wys (moontlik nuttig vir 'n aanvaller)secret_key
: Dit is die sleutel wat deur flask gebruik word om die koekies te onderteken (as jy dit het, kan jy enige gebruiker in Airflow voorstaan)web_server_ssl_cert
: Pad na die SSL-sertifikaatweb_server_ssl_key
: Pad na die SSL-sleutelx_frame_enabled
: Standaard is dit Waar, so klikkaping is nie moontlik nie
Web-verifikasie
Standaard word web-verifikasie gespesifiseer in die lêer webserver_config.py
en is gekonfigureer as
Wat beteken dat die verifikasie teen die databasis gecheck word. Nietemin, ander konfigurasies is moontlik soos
Om die verifikasie aan derdepartydiens oor te laat.
Daar is egter ook 'n opsie om anonieme gebruikers toegang te gee, deur die volgende parameter in te stel op die gewenste rol:
Last updated