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

Airflow 3.0.1 WebServer与LDAP/Active Directory集成配置咨询

Airflow 3.0.1 集成LDAP/Active Directory的配置方案

Airflow 3.x版本已移除旧版的webserver.py配置方式,统一通过airflow.cfg配置文件或环境变量来实现LDAP/AD集成,具体步骤如下:

1. 安装LDAP依赖

Airflow的LDAP认证是可选功能,需要先安装对应依赖包:

pip install apache-airflow[ldap]

2. 修改核心配置(airflow.cfg)

打开Airflow的主配置文件airflow.cfg,完成以下两处配置:

启用LDAP认证([webserver]段)

找到[webserver]配置块,更新以下参数:

[webserver]
authenticate = True
auth_backend = airflow.providers.ldap.auth.ldap_auth

配置LDAP/AD连接参数(新增[ldap]段)

在配置文件末尾添加[ldap]配置块,根据你的AD环境填写对应参数:

[ldap]
# AD服务器地址(非SSL用ldap://,SSL用ldaps://)
uri = ldap://your-ad-domain-controller:389
# AD用户过滤规则(AD常用sAMAccountName作为用户名字段)
user_filter = (sAMAccountName={username})
# 用于标识用户的属性
user_name_attr = sAMAccountName
# 组成员关联属性
group_member_attr = member
# 超级用户组过滤规则(拥有Airflow所有权限)
superuser_filter = (memberOf=CN=AirflowAdmins,OU=Groups,DC=your-domain,DC=com)
# 可选:数据探查权限组过滤规则
data_profiler_filter = (memberOf=CN=AirflowProfilers,OU=Groups,DC=your-domain,DC=com)
# 绑定AD的服务账号(需要有读取用户/组信息的权限)
bind_user = CN=AirflowServiceAccount,OU=ServiceAccounts,DC=your-domain,DC=com
# 服务账号密码
bind_password = your-service-account-password
# AD的基础DN
basedn = DC=your-domain,DC=com
# 可选:如果用LDAPS,指定CA证书路径
# certificate = /path/to/ad-ca-cert.crt

环境变量替代配置(适合容器化部署)

如果是Docker/K8s环境,推荐用环境变量替代airflow.cfg,变量格式为AIRFLOW__<SECTION>__<KEY>,例如:

AIRFLOW__WEBSERVER__AUTHENTICATE=True
AIRFLOW__WEBSERVER__AUTH_BACKEND=airflow.providers.ldap.auth.ldap_auth
AIRFLOW__LDAP__URI=ldap://your-ad-domain-controller:389

3. 验证配置

重启Airflow WebServer服务,尝试用AD账号登录:

  • 若能正常登录且权限匹配,说明配置生效
  • 若登录失败,查看WebServer日志(默认路径$AIRFLOW_HOME/logs/webserver),日志会包含LDAP连接、用户查询的详细错误信息,可据此排查问题

4. 关键注意事项

  • 确保Airflow服务器的IP已被允许访问AD服务器的LDAP/LDAPS端口(默认389/636)
  • 使用LDAPS时,需确保Airflow服务器信任AD的CA证书,可将证书添加到系统信任存储,或通过certificate参数指定路径
  • 可先用ldapsearch命令验证AD连接和过滤规则是否正确,例如:
    ldapsearch -x -H ldap://your-ad-domain-controller -b DC=your-domain,DC=com -D "CN=AirflowServiceAccount,OU=ServiceAccounts,DC=your-domain,DC=com" -w your-password "(sAMAccountName=test-user)"
    

内容的提问来源于stack exchange,提问作者PAULO CRISTIANO KLEIN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:49:58