在 airflow 2.1.4 中创建具有 LDAP 身份验证的用户

Create user with LDAP authentification in airflow 2.1.4

我们已将 airflow 从 2.0.2 更新到 2.1.4,我们在“webserver_config.py”中使用 LDAP 进行身份验证,一切正常。我们以管理员身份登录并检查了管理员角色的权限(已授予所有访问权限)。

在新的 airflow 版本中,“+”按钮在 url .../users/list/ 的 gui 中消失了,但我们可以通过 airflow cli 创建用户。

这是 LDAP-Auth 的功能还是配置错误?

对于 LDAP,您可以在 LDAP 和 Airflow 之间自动同步凭据,理论上 - 您不需要“添加”用户 - 如果他们在具有适当组的 LDAP 中,自动同步应该确保用户自动通过 AUTH_USER_REGISTRATION 创建并且在最新版本的 Airflow 中也有可能自动将 LDAP 组与 Airflow 中的 RBAC 角色匹配。

请参阅 Flask App Builder 文档:

https://flask-appbuilder.readthedocs.io/en/latest/security.html#authentication-ldap

LDAP 身份验证的工作方式是,它会根据匹配的组设置自动在 LDAP 中创建相应的用户。

如果您可以切换到该工作流程 - 这应该可以解决您的问题 - 所有用户都将匹配正确 group/roles - 取决于您的配置。

但是我知道有一个身份验证工作流程,您仍然可以从 LDAP 获取凭据,但是您想管理谁不是通过 LDAP 组分配而是通过 Airlfow UI 访问 Airfow(这在以前是可能的,但是当我们启用 RBAC 与 LDAP 同步时,它被删除了。

我们正在此处跟踪该问题:https://github.com/apache/airflow/issues/18545 (likely will be released in 2.2) and there is a longer discussion https://github.com/apache/airflow/discussions/18290 and even a workaround (https://github.com/apache/airflow/discussions/18290#discussioncomment-13786070) 您可能需要在 2.1.4 安装的气流中手动应用以恢复 + 按钮。