在气流中限制使用 ldap 的用户

Ben*_*n A 2 ldap memberof airflow

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

[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
Run Code Online (Sandbox Code Playgroud)

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

小智 5

您是否尝试过通过 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)
Run Code Online (Sandbox Code Playgroud)