如何授予对象属性中定义的组对对象的写访问权限?

如何授予对象属性中定义的组对对象的写访问权限?

我正在尝试使对组的写入访问控制尽可能自动化,就像我希望 LDAP 能够根据其他属性确定谁有权写入一样。

如果我只需要授予一个或几个人访问权限,我就能成功地做到这一点,通过将他们的 DN 指定为属性的值,然后使用此 ACL:

添加:olcAccess olcAccess:{2}to dn.sub="ou=groups,dc=example,dc=com" by dnattr="owner" 由用户写入 由 * none 读取

这确实很有效 - 我只需将所有者属性添加到对象,指定所有者的 DN,然后他们就可以写入该对象。

但是,对于更大规模的权限,我需要能够使用组成员身份。现在我已经阅读http://www.openldap.org/faq/data/cache/52.html并且看到您可以指定:按组访问//=但是,这需要我在访问控制本身中明确设置组的 DN。

我想要/需要做的是让 LDAP 读取具有权限的组的 DN,就像它对 dnattr 所做的一样。我想我已经读过一些关于使用集合可以做到这一点的内容,但 slapd.access 说“语句 set= 尚未记录。”所以我不清楚这是否是最合适的处理方式。

有人可以建议如何实现这一点吗?

谢谢。

菲利普

答案1

这就是这个问题的答案。

该组具有一个名为所有者的属性。该属性可以是个人的 DN,也可以是组的 DN(如果组成员身份使用名为 uniqueMember 的属性),并且是个人的 DN。

访问规则是:

access to dn.sub="ou=groups,dc=example,dc=com"
     by dnattr="owner" write
     by set="this/owner/uniqueMember & user" write
     by * none

相关内容