在 OpenLDAP 中,我有一个访问规则,使用roleOccupant
属于特定类型的用户organizationalRole
,如下所示(该示例仅为片段):
olcAccess: to * by group/organizationalRole/roleOccupant.exact="cn=Manager,dc=roles,dc=example,dc=org" write
不幸的是,我无法将其转换为 389-DS 的 ACI。我尝试过但没有成功:
aci: (targetattr = "*")(version 3.0; acl "Manager test"; allow (all)(userdn="ldap:///cn=Manager,dc=roles,dc=example,dc=org??one?(roleOccupant=*)");)
追踪 ACI 评估我发现 389-DS 正在作为直接子项进行搜索dc=people,dc=example,dc=org
( cn=Manager,dc=roles,dc=example,dc=org
) one
。
但我必须承认,我对 ACI 的复杂性感到不知所措,正如1.10. 定义 ACI 绑定规则。我原本以为可以使用roledn=
,但现有结构中没有列出任何角色dsidm
;看来它只适用于“Netscape 角色”(nsRoleDefinition
,等等)。
那么是否可以使用现有的角色结构进行 389-DS 中的访问控制?