valid,invalid

関心を持てる事柄について

Airflow 1.10.6ではweb serverのREST APIがデフォルトで全公開されている

問題

Airflow webserverはREST APIを公開しており、DAGの参照や作成などが可能となっている。

# 疎通確認
$ curl 'https://your.domain/api/experimental/test'
{"status":"OK"}

1.10.6のデフォルトの設定では破壊的操作を含むAPIを認証なしで全公開するinsecureな作りになっていた。

経過

本体でも危険性に気づき、[AIRFLOW-6027] Disable API access by default by mik-laj · Pull Request #6625 · apache/airflow · GitHubdefaultの挙動が修正された。

また、1.10.11でshipされたChange default auth for experimental backend to deny_all by ashb · Pull Request #9611 · apache/airflow · GitHubにより、airflow.cfgの設定がデフォルトでdeny_allとなるように修正された。

推奨される設定

API機能を利用しないAirflow webserverであればairflow.cfgで当機能をオフにしておくのが望ましい。

 [api]
 # How to authenticate users of the API
 -auth_backend = airflow.api.auth.backend.default
 +auth_backend = airflow.api.auth.backend.deny_all

/api/experimental というエンドポイント名、気概を感じる

参考