Airflow Configuration
구성 파일
Apache Airflow는 모든 airflow 머신에 **airflow.cfg
**라는 구성 파일을 생성합니다. 이 구성 파일에는 구성 정보와 흥미로운 및 민감한 정보가 포함될 수 있습니다.
이 파일에 액세스하는 두 가지 방법이 있습니다: airflow 머신을 침해하거나 웹 콘솔에 액세스합니다.
구성 파일 내부의 값은 사용되는 값과 일치하지 않을 수 있습니다. AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
와 같은 환경 변수를 설정하여 이 값을 덮어쓸 수 있습니다.
웹 서버의 구성 파일에 액세스할 수 있다면, 구성이 표시되는 동일한 페이지에서 실제 실행 중인 구성을 확인할 수 있습니다. airflow 환경 내의 일부 머신에 액세스할 수 있다면, 환경을 확인하세요.
구성 파일을 읽을 때 확인해야 할 몇 가지 흥미로운 값:
[api]
access_control_allow_headers
: CORS에 대한 허용된 헤더를 나타냅니다.access_control_allow_methods
: CORS에 대한 허용된 메서드를 나타냅니다.access_control_allow_origins
: CORS에 대한 허용된 출처를 나타냅니다.auth_backend
: 문서에 따르면, API에 액세스할 수 있는 사용자를 구성하기 위해 몇 가지 옵션이 있습니다:airflow.api.auth.backend.deny_all
: 기본적으로 아무도 API에 액세스할 수 없습니다.airflow.api.auth.backend.default
: 인증 없이 누구나 액세스할 수 있습니다.airflow.api.auth.backend.kerberos_auth
: kerberos 인증을 구성하기 위해airflow.api.auth.backend.basic_auth
: 기본 인증을 위해airflow.composer.api.backend.composer_auth
: 작곡가 인증 사용 (GCP) (여기에서 확인)composer_auth_user_registration_role
: 작곡가 사용자가 airflow 내에서 얻을 역할을 나타냅니다. (기본적으로 Op).또한 python으로 자체 인증 방법을 작성할 수 있습니다.
google_key_path
: GCP 서비스 계정 키의 경로
[atlas]
password
: Atlas 비밀번호username
: Atlas 사용자 이름
[celery]
flower_basic_auth
: 자격 증명 (user1:password1,user2:password2)result_backend
: 자격 증명을 포함할 수 있는 Postgres URL입니다.ssl_cacert
: cacert의 경로ssl_cert
: 인증서의 경로ssl_key
: 키의 경로
[core]
dag_discovery_safe_mode
: 기본적으로 활성화됩니다. DAG를 검색할 때DAG
및airflow
문자열이 포함되지 않은 파일을 무시합니다.fernet_key
: 암호화된 변수를 저장하는 데 사용되는 키 (대칭)hide_sensitive_var_conn_fields
: 기본적으로 활성화되어 연결의 민감한 정보를 숨깁니다.security
: 사용할 보안 모듈 (예: kerberos)
[dask]
tls_ca
: ca의 경로tls_cert
: 인증서의 경로tls_key
: tls 키의 경로
[kerberos]
ccache
: ccache 파일의 경로forwardable
: 기본적으로 활성화됩니다.
[logging]
google_key_path
: GCP JSON 인증 정보의 경로
[secrets]
backend
: 활성화할 비밀 백엔드의 전체 클래스 이름backend_kwargs
: backend_kwargs 매개변수는 사전으로 로드되어 비밀 백엔드 클래스의 init에 전달됩니다.
[smtp]
smtp_password
: SMTP 비밀번호smtp_user
: SMTP 사용자
[webserver]
cookie_samesite
: 기본적으로 Lax이므로 이미 가능한 가장 약한 값입니다.cookie_secure
: 세션 쿠키에 보안 플래그 설정expose_config
: 기본적으로 False이며, true로 설정하면 웹 콘솔에서 구성을 읽을 수 있습니다.expose_stacktrace
: 기본적으로 True이며, 파이썬 추적 정보를 표시합니다(공격자에게 유용할 수 있음).secret_key
: 이것은 flask가 쿠키에 서명하는 데 사용하는 키입니다(이를 가지고 있다면 Airflow에서 모든 사용자를 가장할 수 있습니다).web_server_ssl_cert
: SSL 인증서의 경로web_server_ssl_key
: SSL 키의 경로x_frame_enabled
: 기본값은 True이므로 기본적으로 클릭재킹이 불가능합니다.
웹 인증
기본적으로 웹 인증은 webserver_config.py
파일에 지정되어 있으며 다음과 같이 구성됩니다.
이는 인증이 데이터베이스와 대조되는 것을 의미합니다. 그러나 다른 구성도 가능합니다.
제3자 서비스에 인증을 맡기는 것.
그러나 익명 사용자의 액세스를 허용하는 옵션도 있으며, 다음 매개변수를 원하는 역할로 설정할 수 있습니다:
Last updated