我最近将我的 Airflow 版本从 v1.10.6 升级到了 v2.2.3(最新版本)。我创建了一个具有角色的用户 - 用户。
airflow users create \
--role User \
--username DEVUSER \
--firstname DEV \
--lastname USER \
--email my_email@gmail.com
密码是 devairflowuser
我正在尝试使用以下 curl 命令触发新的 Dag Run:
curl -X POST 'http://localhost:8083/api/v1/dags/handling_migrations_task_request/dagRuns' -H 'Content-Type: application/json' --user "DEVUSER:devairflowuser" -d '{
}'
但是,我得到 401 错误未经授权:
{
"detail": null,
"status": 401,
"title": "Unauthorized",
"type": "https://airflow.apache.org/docs/apache-airflow/2.2.3/stable-rest-api-ref.html#section/Errors/Unauthenticated"
}
在气流.cfg
auth_backend = airflow.api.auth.backend.basic_auth
但是,使用管理员凭据,我可以触发新的 Dag 运行。从这里 - https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#user。我可以看到 Role-User 也可以创建 Dag 运行
(permissions.ACTION_CAN_CREATE, permissions.RESOURCE_DAG_RUN)
任何帮助表示赞赏。谢谢!