当每个人都是超级用户和数据分析器时,我已经成功地设置了与AD/LDAP一起工作的气流。但是现在我想定义一个管理组和一个常规用户组。我有以下设置
工作控件每个人都是管理员:
# set a connection without encryption: uri = ldap://<your.ldap.server>:<port>
uri = ldap://123.456.789:123
user_filter = objectClass=*
# in case of Active Directory you would use: user_name_attr = sAMAccountName
user_name_attr = sAMAccountName
# group_member_attr should be set accordingly with *_filter
# eg :
#     group_member_attr = groupMembership
#     superuser_filter = groupMembership=CN=airflow-super-users...
group_member_attr = member
group_name_attr = CN
group_filter = objectclass=group
bind_user = CN=blah,OU=foo,DC=us,DC=bar,DC=com
bind_password = yahoo
basedn = DC=us,DC=bar,DC=com
# Set search_scope to one of them:  BASE, LEVEL , SUBTREE
# Set search_scope to SUBTREE if using Active Directory, and not specifying an Organizational Unit
search_scope = SUBTREE具有特定管理组集的新Config:
# set a connection without encryption: uri = ldap://<your.ldap.server>:<port>
uri = ldap://123.456.789:123
user_filter = objectclass=*
# in case of Active Directory you would use: user_name_attr = sAMAccountName
user_name_attr = sAMAccountName
# group_member_attr should be set accordingly with *_filter
# eg :
#     group_member_attr = groupMembership
#     superuser_filter = groupMembership=CN=airflow-super-users...
superuser_filter = memberOf=CN=MyAdminGroupName,OU=foo,DC=us,DC=bar,DC=com
data_profiler_filter = memberOf=CN=MyAdminGroupName,OU=foo,DC=us,DC=bar,DC=com
group_member_attr = member
group_name_attr = CN
group_filter = objectclass=group
bind_user = CN=blah,OU=foo,DC=us,DC=bar,DC=com
bind_password = yahoo
basedn = DC=us,DC=bar,DC=com
# Set search_scope to one of them:  BASE, LEVEL , SUBTREE
# Set search_scope to SUBTREE if using Active Directory, and not specifying an Organizational Unit
search_scope = SUBTREE资源:https://airflow.apache.org/security.html
有了这个新的配置,我可以登录到气流UI,但我不再能够查看Admin选项卡。我百分之百肯定我是管理小组MyAdminGroupName的一员。我也不知道该把我的常规用户组名称MyRegularGroupName放在哪里。
请有人指导我如何配置我的管理组(MyAdminGroupName)和常规用户组(MyRegularGroupName)?。
发布于 2019-02-22 07:47:10
我还努力在气流中设置LDAP。
第一:配置中的group_filter = objectclass=group是什么?我无法在文档或ldap_auth.py中找到它。
然后,您的group_member_attr设置为member,但是在过滤器查询中您使用的是memberOf,所以我猜memberOf应该是您的group_member_attr (如果您使用Active的话,通常是这样的)。
你的superuser_filter和data_profiler_filter在我看来不错。对于阅读以下内容的人:过滤器被插入到代码:(&(<FILTER_HERE>))中的这样一个字符串中,所以如果您想要构建一个更复杂的过滤器,请考虑到这一点。例如,我只想给三个用户超级用户权限(使用环境变量进行配置):
AIRFLOW__LDAP__SUPERUSER_FILTER: "&(objectCategory=Person)(|(sAMAccountName=user1)(sAMAccountName=user2)(sAMAccountName=user3))(memberOf=CN=MyDepartment,OU=Departments,OU=UserGroup,DC=MyCompany,DC=local)"关于MyRegularUserGroup的问题:我猜,您可以指定用户筛选器来过滤常规用户组中的人员,然后为超级用户和数据分析器指定管理组。但是,只有当管理组是常规用户组的子集时,这才能起作用。
希望这能有所帮助。
https://stackoverflow.com/questions/51068342
复制相似问题