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

第 19 章 LDAP 数据视图

LDAP 数据视图向客户端请求公开 LDAP 服务器中的数据,并指定用于响应该请求的数据源池。通过定义 LDAP 数据视图,可以执行以下任务:

创建 LDAP 数据视图

创建 LDAP 数据视图将包括以下步骤:

  1. 创建 LDAP 数据源

  2. 创建 LDAP 数据源池

  3. 将 LDAP 数据源连接到数据源池

  4. 创建 LDAP 数据视图

创建和配置 LDAP 数据源

本部分介绍如何使用 dpconf 命令创建和配置 LDAP 数据源。有关这些主题的参考信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“LDAP Data Sources”

有关如何创建和配置 LDAP 数据源的信息,请参见以下过程。

Procedure创建 LDAP 数据源

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 创建数据源。


    $ dpconf create-ldap-data-source -h host -p port source-name host:port
    

    在此命令中,source-name 是为新数据源指定的名称。hostport 指的是正在运行 LDAP 服务器的主机和端口。请注意,在默认情况下数据源不使用 SSL。

    如果主机由 IP V6 地址指定,则创建数据源时需要使用 IP V6 引用。例如,如果目录代理服务器要绑定到端口 2389 上 IP V6 地址为 fe80::209:3dff:fe00:8c93 的主机,请使用以下命令创建数据源:


    $ dpconf create-ldap-data-source -h host1 -p 1389 ipv6-host \
     [fe80::209:3dff:fe00:8c93]:2389

    如果使用控制台创建数据源,则必须指定实际的 IP V6 地址(不包含方括号)。

    有关如何修改 LDAP 数据源属性的信息,请参见配置 LDAP 数据源

  2. (可选的)查看数据源列表。


    $ dpconf list-ldap-data-sources -h host -p port
    

Procedure配置 LDAP 数据源

以下过程介绍如何显示 LDAP 数据源的属性以及如何设置需要更改的属性。该过程提供了用于更改任何 LDAP 数据源属性的命令,并且还描述了如何获取属性的详细信息,以便帮助您设置该属性。

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 通过使用以下命令语法查看数据源的属性:


    $ dpconf get-ldap-data-source-prop -h host -p port \
    [-M unit] [-Z unit] source-name [property...]

    在此命令中,-M-Z 指的是显示数据的单位。M 选项指定时间单位。-M 的值可以为 Mwdhmsms,分别表示月、周、天、小时、分钟、秒或毫秒。-Z 选项指定数据大小单位。-Z 的值可以为 TGMkb,分别表示千吉字节、千兆字节、兆字节、千字节或字节。

    如果不指定属性,将显示所有属性。LDAP 数据源的默认属性如下所示:


    bind-dn                        :  -
    bind-pwd                       :  -
    client-cred-mode               :  use-client-identity
    connect-timeout                :  10s
    description                    :  -
    is-enabled                     :  false
    is-read-only                   :  true
    ldap-address                   :  host
    ldap-port                      :  port
    ldaps-port                     :  ldaps
    monitoring-bind-timeout        :  5s
    monitoring-entry-dn            :  ""
    monitoring-entry-timeout       :  5s
    monitoring-inactivity-timeout  :  2m
    monitoring-interval            :  30s
    monitoring-mode                :  proactive
    monitoring-search-filter       :  (|(objectClass=*)(objectClass=ldapSubEntry))
    num-bind-incr                  :  10
    num-bind-init                  :  10
    num-bind-limit                 :  1024
    num-read-incr                  :  10
    num-read-init                  :  10
    num-read-limit                 :  1024
    num-write-incr                 :  10
    num-write-init                 :  10
    num-write-limit                :  1024
    proxied-auth-check-timeout     :  1.8s
    proxied-auth-use-v1            :  false
    ssl-policy                     :  never
    use-tcp-no-delay               :  true
  2. 启用数据源。


    $ dpconf set-ldap-data-source-prop -h host -p port source-name is-enabled:true
  3. 如果要更改默认设置,请配置步骤 1 中列出的所有属性。


    $ dpconf set-ldap-data-source-prop -h host -p port source-name property:value
    

    例如,如果要修改数据源上的条目,请将此数据源配置为允许写入操作。


    $ dpconf set-ldap-data-source-prop -h host -p port source-name is-read-only:false

    要查找有关子命令中所使用的属性的信息,请运行以下命令:


    $ dpconf help-properties ldap-data-source property
    

    例如,要查找有关 is-read-only 属性的信息,请运行以下命令:


    dpconf help-properties ldap-data-source is-read-only

    要列出数据源的主要属性,请在 list-ldap-data-sources 子命令中使用详细选项 -v


    $ dpconf list-ldap-data-sources -v
    Name         is-enabled  ldap-address  ldap-port  ldaps-port  description
    -----------  ----------  ------------  ---------  ----------  -----------
    datasource0  true        myHost        myPort     ldaps       -
    datasource1  true        myHost        myPort     ldaps       -
  4. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器。有关需要重新启动服务器的配置更改的列表,请参见需要重新启动服务器的配置更改

创建和配置 LDAP 数据源池

本部分介绍如何使用 dpconf 命令创建和配置 LDAP 数据源池。有关这些主题的参考信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“LDAP Data Sources”

有关如何创建和配置数据源池的信息,请参见以下过程:

Procedure创建 LDAP 数据源池

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 创建一个或多个数据源池。


    $ dpconf create-ldap-data-source-pool -h host -p port pool-name
    

    可以在第一个 pool-name 之后指定其他数据源池。有关如何修改数据源池属性的信息,请参见配置 LDAP 数据源池

  2. (可选的)查看数据源池列表。


    $ dpconf list-ldap-data-source-pools -h host -p port
    

Procedure配置 LDAP 数据源池

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 通过使用以下命令语法查看数据源池的属性:


    $ dpconf get-ldap-data-source-pool-prop -h host -p port \
    [-M unit] [-Z unit] pool-name [property...]

    在此命令中,-M-Z 指的是显示数据的单位。M 选项指定时间单位。-M 的值可以为 Mwdhmsms,分别表示月、周、天、小时、分钟、秒或毫秒。-Z 选项指定数据大小单位。-Z 的值可以为 TGMkb,分别表示千吉字节、千兆字节、兆字节、千字节或字节。

    如果不指定属性,将显示所有属性。LDAP 数据源池的默认属性如下所示:


    client-affinity-policy    :  write-affinity-after-write  
    client-affinity-timeout   :  20s  
    description               :  -  
    enable-client-affinity    :  false  
    load-balancing-algorithm  :  proportional  
  2. 配置步骤 1 中列出的属性。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     property:value
    

    有关如何为负载平衡和客户端相似性配置数据源池属性的信息,请参见第 21 章,目录代理服务器负载平衡和客户端相似性

将 LDAP 数据源连接到数据源池

连接到数据源池的数据源称为连接数据源。连接数据源的属性确定数据源池的负载平衡配置。配置连接数据源的权重时,应考虑数据源池中所有连接数据源的权重。请确保这些权重能够根据需要协同工作。有关如何为负载平衡配置权重的信息,请参见配置负载平衡的权重

Procedure将 LDAP 数据源连接到数据源池

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 将一个或多个数据源连接到数据源池。


    $ dpconf attach-ldap-data-source -h host -p port pool-name \
     source-name [source-name ...]
  2. (可选的)查看给定数据源池中连接数据源的列表。


    $ dpconf list-attached-ldap-data-sources -h host -p port -E pool-name
    

    在此命令中,-E 是可选选项,用于修改显示输出,以便每行显示一个属性值。

  3. (可选的)查看给定数据源池中连接数据源的主要属性。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    

    在此命令中,-v 指定详细输出。例如,查看示例数据源池的属性。


    $ dpconf list-attached-ldap-data-sources -h host1 -p 1389 -v My-pool
    SRC_NAME     add-weight  bind-weight  compare-weight  
    -----------  ----------  -----------  --------------  
    datasource0  disabled    disabled     disabled        
    datasource1  disabled    disabled     disabled        
    
    delete-weight  modify-dn-weight  modify-weight  search-weight
    -------------  ----------------  -------------  -------------
    disabled       disabled          disabled       disabled
    disabled       disabled          disabled       disabled
  4. (可选的)通过使用以下命令语法查看连接数据源的属性:


    $ dpconf get-attached-ldap-data-source-prop -h host -p port [-M unit] [-Z unit] \
     pool-name source-name [property...]

    在此命令中,-M-Z 指的是显示数据的单位。M 选项指定时间单位。-M 的值可以为 Mwdhmsms,分别表示月、周、天、小时、分钟、秒或毫秒。-Z 选项指定数据大小单位。-Z 的值可以为 TGMkb,分别表示千吉字节、千兆字节、兆字节、千字节或字节。

    如果不指定属性,将显示所有属性。

    连接数据源的属性可定义负载平衡中每种操作类型的权重。连接数据源的默认权重如下所示:


    add-weight        :  disabled  
    bind-weight       :  disabled  
    compare-weight    :  disabled  
    delete-weight     :  disabled  
    modify-dn-weight  :  disabled  
    modify-weight     :  disabled  
    search-weight     :  disabled 

    必须设置连接数据源的属性,才能确保目录代理服务器按预计工作。在以下示例中,所有属性都被设置为具有相同的值。可以根据要求更改这些属性的值。有关如何为负载平衡配置连接数据源权重的信息,请参见配置负载平衡的权重


    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name add-weight:1
    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name bind-weight:1
    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name compare-weight:1
    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name delete-weight:1
    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name modify-dn-weight:1
    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name modify-weight:1
    $ dpconf set-attached-ldap-data-source-prop -h host -p port \
    pool-name source-name search-weight:1

使用 LDAP 数据视图

有关如何创建和配置 LDAP 数据视图的信息,请参见以下过程:

Procedure创建 LDAP 数据视图

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 创建 LDAP 数据视图。


    $ dpconf create-ldap-data-view -h host -p port view-name pool-name suffix-DN
    

    有关如何修改 LDAP 数据视图属性的信息,请参见配置 LDAP 数据视图

  2. 查看 LDAP 数据视图的列表。


    $ dpconf list-ldap-data-views -h host -p port
    

Procedure配置 LDAP 数据视图

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 查看 LDAP 数据视图的属性。


    $ dpconf get-ldap-data-view-prop -h host -p port view-name
    

    如果在创建数据视图时未配置任何属性,则数据视图具有以下配置:


    alternate-search-base-dn                    :  ""
    attr-name-mappings                          :  none
    base-dn                                     :  suffix-DN
    contains-shared-entries                     :  false
    custom-distribution-algorithm-class         :  none
    description                                 :  -
    distribution-algorithm                      :  none
    dn-join-rule                                :  none
    dn-mapping-attrs                            :  none
    dn-mapping-source-base-dn                   :  none
    excluded-subtrees                           :  -
    filter-join-rule                            :  none
    is-enabled                                  :  true
    is-read-only                                :  false
    is-routable                                 :  true
    ldap-data-source-pool                       :  pool-name
    lexicographic-attrs                         :  all
    lexicographic-lower-bound                   :  none
    lexicographic-upper-bound                   :  none
    non-viewable-attr                           :  none
    non-writable-attr                           :  none
    numeric-attrs                               :  all
    numeric-default-data-view                   :  false
    numeric-lower-bound                         :  none
    numeric-upper-bound                         :  none
    pattern-matching-base-object-search-filter  :  all
    pattern-matching-dn-regular-expression      :  all
    pattern-matching-one-level-search-filter    :  all
    pattern-matching-subtree-search-filter      :  all
    process-bind                                :  -
    replication-role                            :  master
    viewable-attr                               :  all except non-viewable-attr
    writable-attr                               :  all except non-writable-attr

    注 –

    除代理管理员外,所有用户都会看到后端服务器中的 cn=configcn=monitor 后缀。默认情况下,后端服务器中的数据对于代理管理员不可用。对于代理管理员可用的 cn=configcn=monitor 子树就是代理服务器自身的这些子树。

    创建目录代理服务器实例时,将使用空数据视图策略创建代理管理员的连接处理程序。如果代理管理员需要访问后端数据,则必须向代理管理员连接处理程序的数据视图策略中添加数据视图。默认情况下,在此类数据视图上将排除 cn=configcn=monitor 子树。


  2. 更改步骤 1 中列出的一个或多个属性。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     property:value [property:value ... ]

    例如,要访问数据源上的 dc=example,dc=com 子树,请在数据视图中指定 dn-mapping-source-base-dn


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \
    dn-mapping-source-base-dn:dc=example,dc=com

    要在多值属性中添加值,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name property+:value
    

    要从多值属性中删除值,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name property-:value
    
  3. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

使用目录代理服务器访问目录服务器的配置条目

目录代理服务器的配置条目位于 cn=config 中。在默认情况下,使用目录代理服务器访问配置条目时,将访问目录代理服务器的配置条目。

要访问目录服务器的配置条目,最好直接连接到目录服务器,而不是连接到目录代理服务器。有关如何配置目录服务器的信息,请参见第 4 章,目录服务器配置


注意 – 注意 –

如果重新配置目录代理服务器以访问目录服务器的配置条目,很可能会破坏目录代理服务器的管理框架。


如果确实需要通过目录代理服务器访问目录服务器的配置条目,请采取特殊措施以确保不会破坏目录代理服务器的管理框架。本部分介绍如何使用目录代理服务器访问目录服务器的配置条目。

Procedure使用目录代理服务器访问目录服务器的配置条目

  1. 创建一个或多个数据源,如创建和配置 LDAP 数据源所述。

  2. 创建 LDAP 数据源池,如创建和配置 LDAP 数据源池所述。

  3. 将一个或多个数据源连接到数据源池,如将 LDAP 数据源连接到数据源池所述。

    • 要公开某个特定数据源的配置条目,请只将一个 LDAP 数据源连接到 LDAP 数据源池。


      $ dpconf attach-ldap-data-source -h host -p port pool-name data-source-name
      

      执行此步骤后,客户端即可访问连接到目录代理服务器的数据源的配置条目。

    • 要公开任意数据源的配置条目,请将多个 LDAP 数据源连接到 LDAP 数据源池。


      $ dpconf attach-ldap-data-source -h host -p port pool-name data-source-name \
       data-source-name ...

      执行此步骤后,客户端即可访问连接到目录代理服务器的任一数据源的配置条目。但是,客户端无法知道这些配置条目属于哪个数据源。

  4. 创建 LDAP 数据视图以公开 cn=config


    $ dpconf create-ldap-data-view -h host -p port view-name pool-name cn=config

重命名属性和 DN

目录中的每个条目是由 DN 和一组属性及属性值标识的。通常,在客户端定义的 DN 和属性不会映射到在服务器端定义的 DN 和属性。可以定义数据视图以重命名 DN 和属性。客户端发出请求后,将对 DN 和属性进行重命名,以便与服务器端的名称相匹配。结果返回到客户端后,DN 和属性将会恢复原来的名称,以便与客户端的名称相匹配。

有关属性重命名和 DN 重命名的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“Attribute Renaming and DN Renaming”。有关如何重命名属性和 DN 的信息,请参见以下过程:

Procedure配置属性重命名

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 在要配置属性映射的数据视图上设置一个或多个 attr-name-mappings 属性。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
      attr-name-mappings:client-side-attribute-name#server-side-attribute-name\
      [attr-name-mappings:client-side-attribute-name#server-side-attribute-name ...]

    例如,将客户端的 surname 重命名为服务器端的 sn


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \
     attr-name-mappings:surname#sn

    要在现有映射列表中添加属性映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     attr-name-mappings+:client-side-attribute-name#server-side-attribute-name
    

    要从现有映射列表中删除属性映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     attr-name-mappings-:client-side-attribute-name#server-side-attribute-name
    

Procedure配置 DN 重命名

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 查看要重命名 DN 的数据视图的 base-dn 属性和 DN 映射属性。


    $ dpconf get-ldap-data-view-prop -h host -p port view-name base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs

    这些属性的含义如下:

    • base-dn 是客户端子树的 DN,相当于数据视图的基 DN。

    • dn-mapping-source-base-dn 是服务器端子树的 DN。

    • dn-mapping-attrs 用于定义包含条目 DN 的属性的列表。

    例如,未定义 DN 重命名时,客户端 dc=example,dc=com 数据库的数据视图具有以下值:


    $ dpconf get-ldap-data-view-prop myDataView base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs
     base-dn                    :  dc=example,dc=com
     dn-mapping-attrs           :  none
     dn-mapping-source-base-dn  :  none
  2. 将客户端的 DN 映射到服务器端的 DN。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
      dn-mapping-source-base-dn:server-side-dn
    

    例如,将客户端的 dc=example,dc=com 数据库映射到服务器端的 dc=example,dc=org


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView \
     dn-mapping-source-base-dn:dc=example,dc=org
  3. 重命名受步骤 2 影响的 DIT 部分中的属性(如果这些属性包含 DN)。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
      dn-mapping-attrs:attribute-name [dn-mapping-attrs:attribute-name ...]

    例如,如果 group 属性包含 DN,并且所在的名称空间受步骤 2 中重命名操作的影响,请按如下方式重命名该属性:


    $ dpconf set-ldap-data-view-prop -h host1 -p 1389 myDataView dn-mapping-attrs:group

    要在现有映射列表中添加 DN 映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port \
    view-name dn-mapping-attrs+:attribute-name
    

    要从现有映射列表中删除 DN 映射,请使用以下命令:


    $ dpconf set-ldap-data-view-prop -h host -p port \
    view-name dn-mapping-attrs-:attribute-name
    
  4. 查看已重命名 DN 的数据视图的 base-dn 属性和 DN 映射属性。


    $ dpconf get-ldap-data-view-prop -h host -p port view-name base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs

    例如,客户端 dc=example,dc=com 数据库的数据视图在 DN 重命名后具有以下值:


    $ dpconf get-ldap-data-view-prop -h host1 -p 1389 myDataView base-dn \
     dn-mapping-source-base-dn dn-mapping-attrs
     base-dn                    :  dc=example,dc=com
     dn-mapping-attrs           :  group
     dn-mapping-source-base-dn  :  dc=example,dc=org

配置视图排除基和备用搜索基

创建从属数据视图后,目录代理服务器会自动从上级数据视图中排除该从属数据视图。当请求针对从属数据视图时,该请求将被发送到从属数据视图,而不是上级数据视图。

在从属数据视图中指定备用搜索基后,还会在从属数据视图中执行针对上级数据视图的搜索操作。

默认情况下,目录代理服务器将自动配置 excluded-subtreesalternate-search-base-dn 属性。以下过程将介绍如何手动配置这些属性。

Procedure手动配置 excluded-subtreesalternate-search-base-dn 属性

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 将目录代理服务器配置为手动路由请求。


    $ dpconf set-server-prop -h host -p port data-view-automatic-routing-mode:manual

    data-view-automatic-routing-modemanual 时,目录代理服务器不会生成 excluded-subtreesalternate-search-base-dn 属性。您必须手动设置这些属性的值。目录代理服务器不会检查此处设置的值。请注意,错误地设置这些值可能会破坏管理路径。

    或者,将目录代理服务器配置为手动路由部分请求。


    $ dpconf set-server-prop -h host -p port data-view-automatic-routing-mode:limited

    data-view-automatic-routing-modelimited 时, 目录代理服务器不会生成 excluded-subtreesalternate-search-base-dn 属性。但是,目录代理服务器会检查此处设置的值是否与管理路径冲突。

  2. 配置视图排除基。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name excluded-subtrees:suffix-DN
    

    视图排除基用于确定数据视图不公开其条目的 DIT 分支。

  3. 配置备用搜索基。


    $ dpconf set-ldap-data-view-prop -h host -p port view-name \
     alternate-search-base-dn:search-base-DN
    

    备用搜索基用于确定 DIT 的其他分支,属于此数据视图的条目可能位于这些分支中。默认情况下,在所有数据视图中都将基 DN 定义为备用搜索基。

为示例使用案例创建和配置数据视图

本部分包含以下有关数据视图以及如何创建和配置数据视图的信息:

本部分中的示例假定连接处理程序允许目录代理服务器处理所有客户端连接。

默认数据视图

如果创建数据视图而没有配置任何属性,该数据视图将具有以下配置:


alternate-search-base-dn                    :  ""
alternate-search-base-dn                    :  base-DN
attr-name-mappings                          :  none
base-dn                                     :  suffix-DN
contains-shared-entries                     :  -
description                                 :  -
distribution-algorithm                      :  -
dn-join-rule                                :  -
dn-mapping-attrs                            :  none
dn-mapping-source-base-dn                   :  none
excluded-subtrees                           :  -
filter-join-rule                            :  -
is-enabled                                  :  true
is-read-only                                :  false
is-routable                                 :  true
ldap-data-source-pool                       :  pool-name
lexicographic-attrs                         :  all
lexicographic-lower-bound                   :  none
lexicographic-upper-bound                   :  none
non-viewable-attr                           :  -
non-writable-attr                           :  -
numeric-attrs                               :  all
numeric-default-data-view                   :  false
numeric-lower-bound                         :  none
numeric-upper-bound                         :  none
pattern-matching-base-object-search-filter  :  all
pattern-matching-dn-regular-expression      :  all
pattern-matching-one-level-search-filter    :  all
pattern-matching-subtree-search-filter      :  all
process-bind                                :  -
replication-role                            :  master
viewable-attr                               :  all except non-viewable-attr
writable-attr                               :  all except non-writable-attr

路由所有请求(不考虑请求的目标 DN)的数据视图

本部分介绍将所有请求路由到数据源池(而不考虑请求的目标 DN)的数据视图的配置。此数据视图称为根数据视图。默认情况下,在创建目录代理服务器实例时将创建根数据视图。有关根数据视图的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“Data Views to Route All Requests, Irrespective of the Target DN of the Request”

根数据视图具有以下配置:


alternate-search-base-dn                    :  -
attr-name-mappings                         :  none
base-dn                                    :  ""
contains-shared-entries                    :  -
description                                :  Automatically-generated data view 
                                              able to route client operations 
                                              independently of the operation base dn
distribution-algorithm                     :  -
dn-join-rule                               :  -
dn-mapping-attrs                           :  none
dn-mapping-source-base-dn                  :  none
excluded-subtrees                          :  ""
excluded-subtrees                          :  cn=config
excluded-subtrees                          :  cn=monitor
excluded-subtrees                          :  cn=proxy manager
excluded-subtrees                          :  cn=virtual access controls
excluded-subtrees                          :  dc=example,dc=com
filter-join-rule                           :  -
is-enabled                                 :  true
is-read-only                               :  false
is-routable                                :  true
ldap-data-source-pool                      :  defaultDataSourcePool
lexicographic-attrs                        :  all
lexicographic-lower-bound                  :  none
lexicographic-upper-bound                  :  none
non-viewable-attr                          :  -
non-writable-attr                          :  -
numeric-attrs                              :  all
numeric-default-data-view                  :  false
numeric-lower-bound                        :  none
numeric-upper-bound                        :  none
pattern-matching-base-object-search-filter :  all
pattern-matching-dn-regular-expression     :  all
pattern-matching-one-level-search-filter   :  all
pattern-matching-subtree-search-filter     :  all
process-bind                               :  -
replication-role                           :  master
viewable-attr                              :  all except non-viewable-attr
writable-attr                              :  all except non-writable-attr

当子树列表存储到多个数据相等的数据源时路由请求的数据视图

本部分介绍如何配置一个数据视图,以便将目标为一组子树的请求路由到一组数据相等的数据源。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“Data Views to Route Requests When a List of Subtrees Are Stored on Multiple, Data-Equivalent Data Sources”

本部分中的示例具有多个包含相同子树集的数据源。这些数据源具有相等的数据,并被集中在一个数据源池中以便实现负载平衡。每个子树都会配置一个数据视图,以便向客户端请求公开该子树。下图显示了样例部署。

图 19–1 当子树列表存储到多个数据相等的数据源时路由请求的样例部署

图中显示的示例部署将针对子树列表的请求路由到一组数据相等的数据源。

Procedure配置当子树列表存储到多个数据相等的数据源时路由请求的数据视图

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源所述。

  2. 创建数据源池,如创建和配置 LDAP 数据源池所述。

  3. 将数据源连接到数据源池,如将 LDAP 数据源连接到数据源池所述。

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example1,dc=com 且指向该数据源池的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \
    data-source-pool-1 dc=example1,dc=com
  6. 创建基 DN 为 dc=example2,dc=com 且指向该数据源池的另一个数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \
    data-source-pool-1 dc=example2,dc=com

    数据视图的其他属性与默认数据视图中的默认数据视图相同。

  7. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

当不同子树存储到不同数据源时提供单一访问点的数据视图

本部分介绍如何配置一个数据视图,以便为存储在多个数据源中的不同子树提供单一访问点。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“Data Views to Provide a Single Point of Access When Different Subtrees Are Stored on Different Data Sources”

本部分中的示例包含每个子树的数据视图。每组数据相等的数据源都会配置一个数据源池。下图显示了示例部署。

图 19–2 当不同子树存储到不同数据源时提供单一访问点的样例部署

图中显示的样例部署向存储到多个数据源的不同子树提供单一访问点。

Procedure配置当不同子树存储到不同数据源时提供单一访问点的数据视图

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源所述。

  2. 创建两个数据源池,如创建和配置 LDAP 数据源池所述。

  3. 将包含 dc=example1,dc=com 的数据源连接到 data-source-pool-1,并将包含 dc=example2,dc=com 的数据源连接到 data-source-pool-2,如将 LDAP 数据源连接到数据源池所述。

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example1,dc=com 且指向 data-source-pool-1 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \
    data-source-pool-1 dc=example1,dc=com
  6. 创建基 DN 为 dc=example2,dc=com 且指向 data-source-pool-2 的另一个数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \
    data-source-pool-1 dc=example2,dc=com

    数据视图的其他属性与默认数据视图中的默认数据视图相同。

  7. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器

当上级子树和从属子树存储到不同数据源时提供单一访问点的数据视图

本部分介绍如何配置数据视图,以便在将子树的上级分支和从属分支存储到不同数据源时提供单一访问点。有关此类部署的信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》中的“Data Views to Route Requests When Superior and Subordinate Subtrees Are Stored in Different Data Sources”

本部分中的示例包含三个数据视图。数据视图 1 的基 DN 级别高于数据视图 2 和数据视图 3 的基 DN。或者,换句话说,数据源 2 和数据源 3 包含的子树从属于数据源 1 的子树。下图显示了示例部署。

图 19–3 当上级子树和从属子树存储到不同数据源时路由请求的样例部署

图中显示的样例部署在上级子树和从属子树存储到不同数据源时路由请求。

将从属分支配置为单独数据视图的基 DN 时,目录代理服务器将自动从数据视图中排除子树的从属分支。

Procedure配置当上级子树和从属子树存储到不同数据源时提供单一访问点的数据视图

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 为每个 LDAP 服务器创建数据源,如创建和配置 LDAP 数据源所述。

  2. 创建三个数据源池,如创建和配置 LDAP 数据源池所述。

  3. 按照将 LDAP 数据源连接到数据源池的说明将数据源连接到数据源池。

    • 将包含 dc=example,dc=com 的数据源连接到 data-source-pool-1

    • 将包含 ou=computer,dc=example,dc=com 的数据源连接到 data-source-pool-2

    • 将包含 ou=people,dc=example,dc=com 的数据源连接到 data-source-pool-3

  4. (可选的)配置负载平衡。

    有关信息,请参见配置负载平衡

  5. 创建基 DN 为 dc=example,dc=com 且数据源池为 data-source-pool-1 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-1 \
     data-source-pool-1 dc=example,dc=com
  6. 创建基 DN 为 ou=computer,dc=example,dc=com 且数据源池为 data-source-pool-2 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-2 \
     data-source-pool-2 ou=computer,dc=example,dc=com
  7. 创建基 DN 为 ou=people,dc=example,dc=com 且数据源池为 data-source-pool-3 的数据视图。


    $ dpconf create-ldap-data-view -h host1 -p 1389 dataview-3 \
     data-source-pool-3 ou=people,dc=example,dc=com
  8. 通过查看 excluded-subtrees 参数,验证子树 ou=computer,dc=example, dc=comou=people,dc=example, dc=com 是否已从 dataview-1 中排除。


    $ dpconf get-ldap-data-view-prop -h host1 -p 1389 dataview-1 excluded-subtrees

    将返回已排除的子树的列表。

  9. 重新启动目录代理服务器实例以使更改生效(如有必要)。

    有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器