我的系统曾经调用实验性 REST API 来触发 DAG,一切正常。
当我从版本升级1.10.3到1.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)
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 文档
| 归档时间: |
|
| 查看次数: |
890 次 |
| 最近记录: |