Sun Java System Directory Server Enterprise Edition 6.2 管理指南

在虚拟数据视图上定义访问控制

可以将虚拟视图上的 ACI 存储在 LDAP 目录或 LDIF 文件中。有关虚拟 ACI 的工作方式的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.2 Reference》中的“Access Control On Virtual Data Views”

创建目录代理服务器实例时,将为虚拟访问控制定义以下默认配置:

Procedure定义新的 ACI 存储系统信息库

如果不想使用前面介绍的默认 ACI 配置,可以定义其他的存储系统信息库。

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 为要存储 ACI 的系统信息库创建数据视图。

  2. 将上一步创建的数据视图的名称指定为 ACI 数据视图。

    $ dpconf set-virtual-aci-prop -h host -p port aci-data-view:data-view-name
    
  3. 如果 ACI 系统信息库是 LDAP 目录,请定义访问 ACI 数据视图所需的凭证。

    $ dpconf set-virtual-aci-prop -h host -p port aci-manager-bind-dn:bind-dn
    $ dpconf set-virtual-aci-prop -h host -p port aci-manager-bind-pwd-file:filename
    

Procedure配置虚拟访问控制

无论使用的是什么 ACI 系统信息库,都必须配置虚拟访问控制。


注 –

只有代理管理员才能直接通过 ACI 数据视图创建 ACI 池和管理 ACI。如果 ACI 系统信息库是 LDAP 目录,则必须修改该目录的模式,以使其包含 aciSource 对象类和 dpsaci 属性。有关自定义该模式的详细信息,请参见扩展目录服务器模式


无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 在 ACI 系统信息库中创建 ACI 池,并设置全局 ACI。

    有关全局 ACI 的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.2 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
    
  2. 将一个或多个连接处理程序配置为使用此 ACI 池。


    % dpconf set-connection-handler-prop -h host -p port connection-handler \
    aci-source:data-source-name
    
  3. 将所需的 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。