我正在尝试将 Airflow Webserver 身份验证与 Airflow 1.10.0 中可用的 Flask-AppBuilder RBAC 集成,但无论我尝试什么配置设置,我都会得到一个AttributeError: 'AnonymousUserMixin' object has no attribute 'roles'
.
以前,我已经让 Airflow LDAP 身份验证后端与我的组织的 LDAP Microsoft AD 服务器一起使用,但我无法获得正确的配置设置以使其能够与 FAB RBAC 一起使用。Airflow 和 FAB 文档对 LDAP 或对其进行故障排除几乎没有什么可说的。
在${AIRFLOW_HOME}/webserver_config.py
我的文件中
# The authentication type
AUTH_TYPE = AUTH_LDAP
AUTH_ROLE_PUBLIC = "Public"
AUTH_USER_REGISTRATION = True
AUTH_USER_REGISTRATION_ROLE = "Public"
AUTH_LDAP_SERVER = "ldaps://ldaps.myorg.org:636"
AUTH_LDAP_BIND_USER = "CN=myuser,OU=Service Accounts,DC=myorg,DC=org"
AUTH_LDAP_BIND_PASSWORD = "relevant_password"
AUTH_LDAP_SEARCH = "DC=myorg,DC=org"
AUTH_LDAP_UID_FIELD = "sAMAccountName"
# AUTH_LDAP_ALLOW_SELF_SIGNED = True
AUTH_LDAP_USE_TLS = False
AUTH_LDAP_APPEND_DOMAIN = "myorg.org"
AUTH_ROLE_ADMIN = "Admin"
在{AIRFLOW_HOME}/airflow.cfg
我有
[webserver]
authenticate = True
rbac = True
我已经升级了后端 Postgres DB,以便它拥有ab_
表格。
当我通过 Docker Swarm 部署所有内容并转到相应的 Web 服务器 URL 时,我只会收到上面列出的错误以及堆栈跟踪。它从来没有给我登录选项(我尝试清除 cookie),所以我不明白如何让它让“匿名”用户甚至尝试对 LDAP AD 进行身份验证。
是问题
webserver_config.py
LDAP 设置?- 这些设置周围的引号?
- 设置
airflow.cfg
? - 关于我的组织的 LDAP 服务器?
- 别的东西?
如果我遗漏了任何信息,请告诉我。谢谢!