是否可以为OpenLDAP编写ACL,以实现多用户和多租户环境。我的意思是使用一个规则真正保护DIT并动态匹配每个客户。
示例DIT:
ROOT
..customer1
....Users
......Admin
......User
....objects
..customer2
....Users
......Admin
......User
....objects
我想要的是来自customer1的Admin用户可能只能看到和写入来自customer1的对象,而customer2用户只能查看和编写customer2对象。每个客户的用户也是如此,但是处于只读模式。
我没有得到这样的ACL工作,只找到了在树中的用户条目下写的示例,但没有任何内容可以获得2级,并允许在下面写入。有人知道如何应用这样的ACL吗?
谢谢 -
答案 0 :(得分:2)
我建议你在这里想要的是OpenLDAP' s ACL feature called sets
尝试之类的内容:
olcAccess: to dn.regex="^o=[^,]+,dc=example,dc=com$"
by set="this/-*/manager/member* & user" write
by set="this/-*/manager & user" write
by set="([ldap:///cn=Admin,ou=Users,] + this + [??sub?objectClass=inetOrgPerson]) & user" write
by set="([ldap:///] + this + [??sub?objectClass=inetOrgPerson]) & user" read
by * none