气流实验性 REST API FORBIDDEN 403 响应

Ofe*_*Hod 2 airflow

我的系统曾经调用实验性 REST API 来触发 DAG,一切正常。
当我从版本升级1.10.31.10.12我突然收到这个错误:

requests.exceptions.HTTPError: ('403 Client Error: FORBIDDEN for url: http://airflow.server/api/experimental/dags/my_dag_name/dag_runs',
 ('request_method', 'POST'),
  ('request_url', 'http://airflow.server/api/experimental/dags/my_dag_name/dag_runs'),
   ('request_headers', {'User-Agent': 'python-requests/2.24.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'connection': 'close', 'Content-Length': '128',
    'Content-Type': 'application/json'}),
    ('request_body', b'{"run_id": "manual__2020-10-12T08:50:13.288911+00:00__version__69179146", "execution_date": "2020-10-12T08:50:13", "conf": null}'))
Run Code Online (Sandbox Code Playgroud)

Ofe*_*Hod 5

Airflow 版本1.10.11 将实验 api 的默认身份验证从 default 更改为 deny_all,这更安全。
他们做出这一改变是因为旧的行为让任何有权访问 Airflow 服务器的人都可以操纵 DAG RUN、池、任务等。

如果你想让事情像以前一样工作(不安全),请添加到airflow.conf

[api]
auth_backend = airflow.api.auth.backend.default  
Run Code Online (Sandbox Code Playgroud)

如果您想选择更安全的道路,请阅读Airflow Security 文档

  • 为什么这个解决方案这么难找到 (3认同)