active directory LDAP 配置:
Key Value
--- -----
binddn CN=BindVault,OU=my-ou,DC=ad,DC=xyz,DC=net
case_sensitive_names true
certificate n/a
deny_null_bind true
discoverdn false
groupattr memberOf
groupdn DC=ad,DC=xyz,DC=net
groupfilter (&(objectClass=person)(sAMAccountName={{.Username}}))
insecure_tls false
starttls true
tls_max_version tls12
tls_min_version tls12
token_bound_cidrs []
token_explicit_max_ttl 0s
token_max_ttl 0s
token_no_default_policy true
token_num_uses 0
token_period 0s
token_policies []
token_ttl 0s
token_type default
upndomain n/a
url ldaps://ldaps.ad.xyz.net:636
use_pre111_group_cn_behavior true
use_token_groups true
userattr cn
userdn DC=ad,DC=xyz,DC=net
这工作正常,因为当用户登录时,查询将返回用户所属的组,并且可以将策略映射到组。
问题出在不是任何 ldap 策略组成员的用户身上。目前,这些用户能够登录,但由于未分配任何策略,因此被拒绝访问所有内容。我宁愿他们根本无法登录。
看起来有一个打开的拉取请求,它将为用户添加一个过滤器,可用于仅允许访问指定的 LDAP 用户。拉取请求已通过所有自动检查,正在等待审核,因此希望很快添加。
我想我找到了解决方案,我在身份验证/ldap/config中添加了用户过滤器并像这样配置它:
userfilter=“(&(objectClass=user)({{.UserAttr}}={{.Username}})(memberOf=cn=MySelectedGroup,cn=Users,dc=test,dc=com))”
因此,更改末尾的memberOf=
,使其与您的 ldap 组匹配。
祝你有美好的一天:)