我有一个正在运行的带有 LDAP 身份验证的 Gitlab CE 安装。现在我想根据组成员身份限制访问。
该选项user_filter
似乎是可以选择的选项。但是,我似乎无法根据组成员身份允许任何人登录。
我尝试的是这个(gitlabaccess
应该允许登录的组):
user_filter: '(&(objectclass=group)(samaccountname=gitlabaccess))'
Run Code Online (Sandbox Code Playgroud)
或者:
user_filter: '(memberOf=cn=gitlabaccess,DC=my,DC=domain,DC=com)'
Run Code Online (Sandbox Code Playgroud)
该文件指出以下,但它也没有工作,我不知道这些数字应该是什么:
user_filter: '(memberOf:1.2.840.113556.1.4.1941:=cn=gitlabaccess,DC=my,DC=domain,DC=com)'
Run Code Online (Sandbox Code Playgroud)
特定用户的工作方式如下:
user_filter: '(&(objectclass=user)(samaccountname=jon.doe))'
Run Code Online (Sandbox Code Playgroud)
Gitlab CE 版本 9.5.5 从综合包安装。
如何根据 LDAP 组成员身份限制对 Gitlab 的访问?
我想到了。您需要指定包含所有 OU 的组的完整路径。就我而言,这是:
user_filter: '(&(objectClass=user)(memberOf=CN=gitlabaccess,OU=mail-distribution-groups,OU=staff,DC=my,DC=domain,DC=com))'
Run Code Online (Sandbox Code Playgroud)
正如评论中指出的,上面的查询仅返回该组的直接成员。如果您还想包含嵌套组的成员,则必须像这样:1.2.840.113556.1.4.1941:
添加memberOf
:
user_filter: '(&(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=gitlabaccess,OU=mail-distribution-groups,OU=staff,DC=my,DC=domain,DC=com))'
Run Code Online (Sandbox Code Playgroud)
如果您想添加特定用户,请使用以下命令:
user_filter: '(|(&(objectClass=user)(memberOf=CN=gitlabaccess,OU=mail-distribution-groups,OU=staff,DC=my,DC=domain,DC=com))(&(objectClass=user)(sAMAccountName=jon.doe)))'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9741 次 |
最近记录: |