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

Airflow 3.0.0 Rest API未认证:需配置哪些设置启用API调用?

Airflow 3.0.0 API认证失败的解决步骤

1. 调整API认证后端配置

默认情况下Airflow 3.0.0的API可能使用会话认证,不支持Basic Auth,需要通过Docker Compose配置环境变量切换认证后端:

  • 打开你的docker-compose.yml文件,找到airflow-webserver服务的environment部分,添加以下配置:
    environment:
      # 保留其他已有的环境变量
      - AIRFLOW__API__AUTH_BACKEND=airflow.api.auth.backend.basic_auth
    
  • 如果需要同时兼容UI会话和API调用,也可以设置为airflow.api.auth.backend.session,但Basic Auth更适合脚本自动化场景

2. 确保用户拥有正确权限

确认你的airadmin用户存在且具备管理员权限,若不确定可重新创建:

  • 先查看Airflow webserver容器ID:
    docker ps | grep airflow-webserver
    
  • 进入容器执行创建用户命令:
    docker exec -it <容器ID> airflow users create \
      --username airadmin \
      --password airpass \
      --firstname Admin \
      --lastname User \
      --role Admin \
      --email admin@example.com
    

3. 重启服务并验证

  • 重启Airflow webserver服务:
    docker-compose restart airflow-webserver
    
  • 重新执行你的curl命令测试:
    curl -X GET 'localhost:8080/api/v2/dags/my_dag' -H 'Content-Type: application/json' --user "airadmin:airpass"
    
  • 如果仍有问题,可改用API Token方式:
    1. 登录Airflow UI,点击右上角头像进入Profile页面
    2. 点击Generate Token按钮,创建一个新的API令牌
    3. 使用令牌调用API:
      curl -X GET 'localhost:8080/api/v2/dags/my_dag' -H 'Content-Type: application/json' -H "Authorization: Bearer <你的令牌>"
      

4. 检查服务状态

确认webserver服务正常启动且REST API已加载:

docker-compose logs airflow-webserver | grep "Started REST API"

若日志中出现该信息,说明API服务已正常运行

内容的提问来源于stack exchange,提问作者atul ahire

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 11:44:53