You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过API触发Airflow DAG返回401 Unauthorized错误该如何处理

Airflow 2.0.1 REST API调用返回401 Unauthorized 解决方案

核心错误原因

当前请求同时配置了两处鉴权参数,触发了优先级冲突:手动设置的Authorization请求头使用了未替换的占位符内容,优先级高于--user参数,导致服务端接收到的鉴权凭证无效。

具体调整步骤

  • 第一步:修正curl请求,删除冗余的手动鉴权头
    --user参数会自动对用户名密码进行Base64编码并生成合法的Basic鉴权头,不需要手动配置。修正后的请求如下:
curl -H "Content-type: application/json" -H "Accept: application/json" -X GET --user "${LAMBDA_USER}:${LAMBDA_PWD}" "${ENDPOINT_URL}/api/v1/dags/sns_test/dagRuns"
  • 第二步:确认Airflow API鉴权配置开启
    Airflow 2.x默认关闭REST API的公开访问,需要登录部署Airflow的EC2实例,修改airflow.cfg配置文件:
[api]
# 确认auth_backends配置为basic_auth,而非默认的deny_all
auth_backends = airflow.api.auth.backend.basic_auth

配置修改完成后,重启Airflow Webserver服务生效。

  • 第三步:验证凭证与变量有效性
    1. 执行echo $LAMBDA_USER echo $LAMBDA_PWD确认shell变量已正确赋值,没有拼写错误
    2. 直接在浏览器访问${ENDPOINT_URL}/api/v1/dags,输入lambda_user的用户名密码,确认可以正常返回结果,排除用户被锁定、密码错误的问题

补充说明

如果调整后返回403错误,属于用户权限不足的问题,可以将用户角色调整为Op或者给当前User角色添加DAG读写的相关权限即可。

内容的提问来源于stack exchange,提问作者Ronak Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:36:04