在气流中使用 ldap 限制用户

restrict users with ldap in airflow

我已经让 ldap 身份验证在 airflow 中工作,但它允许我们目录中的任何用户登录。虽然它只显示 airflow-admin AD 组成员的管理员权限,但我希望不是 airflow-admin 或 airflow-profiler 组成员的用户被拒绝访问,但事实并非如此。 这是我的配置:

[webserver]
authenticate = True
auth_backend = airflow.contrib.auth.backends.ldap_auth

[ldap]
uri = ldaps://ldaps.mydomain.com:636
user_filter = objectClass=person
user_name_attr = sAMAccountName
group_member_attr = memberOf
superuser_filter = memberOf=CN=airflow-admin,OU=Users,DC=mydomain,DC=com
data_profiler_filter = memberOf=CN=airflow-profiler,OU=Users,DC=mydomain,DC=com
bind_user = cn=ldapadmin,ou=Admins,dc=mydomain,dc=com
bind_password = ******
basedn = dc=mydomain,dc=com
cacert = /usr/local/share/ca-certificates/mydomain.crt
search_scope = SUBTREE

我看到其他几个类似的帖子没有解决方案,我开始怀疑这是否有效。 这是 ldap 上气流文档部分的 link。 https://airflow.apache.org/security.html?#ldap

您是否尝试通过 user_filter 过滤掉它们?

以下应该只允许上述两个组之一的用户访问。不幸的是,我没有 Airflow 来测试和验证这一点。

user_filter = |(memberOf=CN=airflow-admin,OU=Users,DC=mydomain,DC=com)(memberOf=CN=airflow-profiler,OU=Users,DC=mydomain,DC=com)