Active directory 配置AD/LDAP管理员用户和普通用户

Active directory 配置AD/LDAP管理员用户和普通用户,active-directory,ldap,airflow,Active Directory,Ldap,Airflow,当每个人都是超级用户和数据探查器时,我已成功设置使用我的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 Di

当每个人都是超级用户和数据探查器时,我已成功设置使用我的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
# 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
#设置不加密的连接:uri=ldap://:
uri=ldap://123.456.789:123
用户\过滤器=对象类=*
#对于Active Directory,您将使用:user\u name\u attr=sAMAccountName
user\u name\u attr=sAMAccountName
#应使用*过滤器相应地设置组成员属性
#例如:
#组\成员\属性=组成员
#超级用户\u筛选器=组成员资格=CN=超级用户。。。
组成员属性=成员
组名称属性=CN
组\过滤器=对象类=组
bind_user=CN=blah,OU=foo,DC=us,DC=bar,DC=com
bind_password=yahoo
basedn=DC=us,DC=bar,DC=com
#将搜索范围设置为其中一个:基础、级别、子树
#如果使用Active Directory且未指定组织单位,请将搜索范围设置为子树
搜索范围=子树
设置了特定管理组的新配置:

# 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
# 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
#设置不加密的连接:uri=ldap://:
uri=ldap://123.456.789:123
用户\过滤器=对象类=*
#对于Active Directory,您将使用:user\u name\u attr=sAMAccountName
user\u name\u attr=sAMAccountName
#应使用*过滤器相应地设置组成员属性
#例如:
#组\成员\属性=组成员
#超级用户\u筛选器=组成员资格=CN=超级用户。。。
超级用户\u filter=memberOf=CN=MyAdminGroupName,OU=foo,DC=us,DC=bar,DC=com
数据\u探查器\u过滤器=memberOf=CN=MyAdminGroupName,OU=foo,DC=us,DC=bar,DC=com
组成员属性=成员
组名称属性=CN
组\过滤器=对象类=组
bind_user=CN=blah,OU=foo,DC=us,DC=bar,DC=com
bind_password=yahoo
basedn=DC=us,DC=bar,DC=com
#将搜索范围设置为其中一个:基础、级别、子树
#如果使用Active Directory且未指定组织单位,请将搜索范围设置为子树
搜索范围=子树
资源:

使用此新配置,我可以登录到Airflow UI,但我无法再查看“管理”选项卡。我100%确信我是管理组MyAdminGroupName的一部分。我也不确定将我的常规用户组名MyRegularGroupName放在哪里


是否有人能指导我如何配置我的管理员组(MyAdminGroupName)和常规用户组(MyRegularGroupName)?我也很难在Airflow中设置LDAP

第一个:配置中的
group\u filter=objectclass=group
是什么?我无法在文档或中找到指定的

然后,您的
group\u member\u attr
设置为
member
,但在过滤器查询中您使用的是
memberOf
,因此我猜
memberOf
应该是您的
group\u member\u attr
(如果您使用Active Directory,通常是这样)

你的
superuser\u filter
data\u profiler\u filter
看起来不错。 对于阅读本文的人:过滤器被插入到代码中的字符串中:
(&())
,因此如果您想构建更复杂的过滤器,请考虑这一点。 例如,我只想给三个用户超级用户权限(使用配置的环境变量):

关于您关于
MyRegularUserGroup
的问题:我想,您可以指定用户筛选器以筛选常规用户组中的人员,然后为superuser和data profiler指定管理员组。但只有当admin组是常规用户组的子集时,这才有效


希望这会有所帮助。

我认为这与LDAP结构密切相关,而LDAP结构未包含在问题中。提供尽可能多的信息可能是个好主意。你找到答案了吗?仍然面临着与1.10.3相同的问题,这个问题解决了吗?