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

Airflow 3.0.2中FabAuthManager下LDAP/AD认证配置失败求助

Airflow LDAP/Active Directory 配置排障

你的配置仅启用了FabAuthManager并导入了AUTH_LDAP,但缺少核心的LDAP连接与认证参数,这是认证不生效的主要原因。以下是完整的可生效配置示例及关键检查点:

完整webserver_config.py配置示例

from airflow.providers.fab.auth_manager.fab_auth_manager import FabAuthManager
from airflow.providers.fab.auth_manager.security_manager.override import FabAirflowSecurityManagerOverride
from flask_appbuilder.security.manager import AUTH_LDAP
from flask_appbuilder.const import AUTH_LDAP

# 设置认证类型为LDAP
AUTH_TYPE = AUTH_LDAP

# LDAP服务器基础配置
AUTH_LDAP_SERVER = "ldap://your-ad-server:389"  # SSL连接用ldaps://your-ad-server:636
AUTH_LDAP_USE_TLS = False  # 启用LDAPS时设为True

# 用于查询AD的服务账号配置
AUTH_LDAP_BIND_USER = "CN=airflow-service,OU=ServiceAccounts,DC=yourdomain,DC=com"
AUTH_LDAP_BIND_PASSWORD = "your-service-account-password"

# 用户搜索规则(匹配AD中的用户目录)
AUTH_LDAP_SEARCH = "OU=Users,DC=yourdomain,DC=com"
AUTH_LDAP_UID_FIELD = "sAMAccountName"  # AD中对应用户名的字段,通常是这个
AUTH_LDAP_FIRSTNAME_FIELD = "givenName"
AUTH_LDAP_LASTNAME_FIELD = "sn"
AUTH_LDAP_EMAIL_FIELD = "mail"

# 可选:AD组与Airflow角色映射(按需配置)
AUTH_LDAP_GROUP_SEARCH = "OU=Groups,DC=yourdomain,DC=com"
AUTH_LDAP_GROUP_FIELD = "memberOf"
AUTH_LDAP_ROLE_ADMIN = "CN=AirflowAdmins,OU=Groups,DC=yourdomain,DC=com"  # 对应Airflow管理员角色的AD组
AUTH_LDAP_ROLE_PUBLIC = "CN=AirflowUsers,OU=Groups,DC=yourdomain,DC=com"  # 对应普通用户角色的AD组

# 自定义SecurityManager(必须配置,否则无法生效)
class CustomSecurityManager(FabAirflowSecurityManagerOverride):
    pass

SECURITY_MANAGER_CLASS = CustomSecurityManager

关键检查点

  • 确认airflow.cfg的[core]段已设置auth_manager = airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager,并重启Airflow Webserver和Scheduler服务。
  • 用命令测试LDAP连通性:
    ldapsearch -x -H ldap://your-ad-server:389 -D "CN=airflow-service,OU=ServiceAccounts,DC=yourdomain,DC=com" -w "your-password" -b "OU=Users,DC=yourdomain,DC=com" "(sAMAccountName=test-user)"
    
    能返回用户信息说明连通正常,否则检查网络、账号权限或AD地址。
  • 查看Airflow Webserver日志(默认路径$AIRFLOW_HOME/logs/webserver),排查是否有LDAP连接失败、绑定错误或搜索规则不匹配的日志。
  • 若用LDAPS(636端口),需确保Airflow服务器信任AD的SSL证书,可将证书导入系统信任库,或添加配置AUTH_LDAP_CERTIFICATE = "/path/to/ad-cert.pem"。
  • 确认绑定的服务账号拥有查询AD用户、组信息的权限。

内容的提问来源于stack exchange,提问作者Duurenjargal Davaadorj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 18:42:34