如何配置OpenLDAP访问规则基于用户组授予绑定账号访问权限
你可以使用OpenLDAP ACL的集合匹配功能,直接通过用户组过滤可访问的目标条目,无需逐个配置单用户规则,参考配置如下:
access to attrs=uid,objectClass,entry by dn.exact="cn=app1,ou=bind-accounts,dc=example,dc=net" set="[cn=app1-access,ou=groups,dc=example,dc=net]/member & this" read by * none break
规则逻辑说明
- 首先匹配所有条目的
uid、objectClass、entry三类属性的访问请求 - 仅当访问者是指定的绑定用户
cn=app1,ou=bind-accounts,dc=example,dc=net,且被访问的目标条目DN存在于app1-access用户组的member属性列表中时,才授予读权限 - 不匹配的请求会跳过当前规则,继续匹配后续的ACL规则
注意事项
- 请将这条规则放在所有访问规则的靠前位置,OpenLDAP会按顺序匹配ACL,命中第一条符合条件的规则后就会停止后续匹配,避免被更宽泛的前置规则拦截
- 如果你使用的是389 Directory Server,可以用
groupdn关键字实现相同效果,参考配置:
access to attrs=uid,objectClass,entry by dn="cn=app1,ou=bind-accounts,dc=example,dc=net" groupdn="ldap:///cn=app1-access,ou=groups,dc=example,dc=net??sub?(objectClass=groupOfNames)" read
内容的提问来源于stack exchange,提问作者query42
相关产品推荐
相关产品推荐

