无论使用哪种 ACI 系统信息库,都必须配置虚拟访问控制。
只有代理管理员才能直接通过 ACI 数据视图创建 ACI 池和管理 ACI。如果 ACI 系统信息库是 LDAP 目录,则必须修改该目录的模式,以使其包含 aciSource 对象类和 dpsaci 属性。有关自定义该模式的详细信息,请参见扩展目录服务器模式。
无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。
在 ACI 系统信息库中创建 ACI 池,并设置全局 ACI。
有关全局 ACI 的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.0 Reference》中的“Global ACIs”。要设置全局 ACI,请在 ACI 数据视图的视图基下添加一个 aciSource 条目。例如:
% ldapmodify -p port -D "cn=proxy manager" -w - dn: cn=data-source-name,cn=virtual access controls changetype: add objectclass: aciSource dpsaci: (targetattr="*") (target = "ldap:///ou=people,o=virtual") (version 3.0; \ acl "perm1"; allow(all) groupdn="ldap:///cn=virtualGroup1,o=groups,o=virtual";) cn: data-source-name |
将一个或多个连接处理程序配置为使用此 ACI 池。
% dpconf set-connection-handler-prop -h host -p port connection-handler aci-source:data-source-name |
将所需的 ACI 添加到数据中。
要执行此操作,请创建包含 ACI 的虚拟条目。例如:
% ldapmodify -p port -D "cn=virtual application,ou=application users,dc=com" -w - dn: ou=people,o=virtual changetype: modify add: dpsaci dpsaci: (targetattr="*")(version 3.0; acl "perm1"; allow(all) userdn ="ldap:///self";) dpsaci: (targetattr="*")(version 3.0; acl "perm1"; allow(search, read, compare) \ userdn ="ldap:///anyone";) |
具有相应访问权限的任何用户都可以通过数据视图添加和检索虚拟 ACI。