有关连接处理程序角色的概述,以及连接处理程序中所使用的条件和策略的描述,请参见《Sun Java System Directory Server Enterprise Edition 6.0 Reference》中的第 21 章 “Directory Proxy Server Connection Handlers”。
本章包含以下主题:
有关如何创建、配置和删除连接处理程序,以及如何配置数据视图相似性的信息,请参见以下过程。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
创建连接处理程序。
$ dpconf create-connection-handler -h host -p port connection-handler-name |
(可选的)查看连接处理程序列表。
$ dpconf list-connection-handlers -h host -p port |
定义连接处理程序的属性时,必须参照为目录代理服务器实例定义的其他连接处理程序的属性。请考虑所有连接处理程序的属性,以确保这些属性指定了不同的条件集,并设置了正确的优先级。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
查看连接处理程序的详细列表,以了解其主要属性和相对优先级。
$ dpconf list-connection-handlers -h host -p port -v Name is-enabled priority description -------------------------- ---------- -------- --------------------------- anonymous false 99 unauthenticated connections default connection handler true 100 default connection handler |
创建目录代理服务器实例时,将创建 anonymous 和 default connection handler 连接处理程序。
查看一个连接处理程序的所有属性。
$ dpconf get-connection-handler-prop -h host -p port connection-handler-name |
新连接处理程序的默认属性如下所示:
aci-source : - allowed-auth-methods : anonymous allowed-auth-methods : sasl allowed-auth-methods : simple allowed-ldap-ports : ldap allowed-ldap-ports : ldaps bind-dn-filters : any data-view-routing-custom-list : - data-view-routing-policy : all-routable description : - domain-name-filters : any enable-data-view-affinity : false ip-address-filters : any is-enabled : false is-ssl-mandatory : false priority : 99 request-filtering-policy : no-filtering resource-limits-policy : no-limits schema-check-enabled : false user-filter : any |
配置连接处理程序的优先级。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name priority:value |
优先级可以是 1 到 100 之间的任何数字,其中 1 为最高优先级。对于目录代理服务器实例,将按照优先级的顺序对连接处理程序进行评估。
(可选的)指定连接处理程序的 DN 过滤属性。
此属性允许您基于部分或全部绑定 DN 来控制访问。此属性的值为正则表达式。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ bind-dn-filters:regular-expression |
绑定 DN 过滤器采用 JavaTM 正则表达式的格式。有关创建 Java 正则表达式的信息,请参见 http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html。
例如,要从 ou=people,dc=example,dc=com 下的用户向名为 secure-handler 的连接处理程序发送所有绑定,请按如下方式设置 bind-dn-filters 属性:
$ dpconf set-connection-handler-prop -h host1 -p 1389 secure-handler \ bind-dn-filters:"uid=.*,ou=people,dc=example,dc=com" |
(可选的)指定要用于此连接处理程序的请求过滤策略的名称。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ request-filtering-policy:policy-name |
其中 policy-name 是现有请求过滤策略的名称。有关如何创建和配置请求过滤策略的信息,请参见创建和配置请求过滤策略和搜索数据隐藏规则。
(可选的)指定要用于此连接处理程序的资源限制策略的名称。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ resource-limits-policy:policy-name |
其中 policy-name 是现有资源限制策略的名称。有关如何创建和配置资源限制策略的信息,请参见创建和配置资源限制策略。
配置步骤 2 中列出的所有其他属性。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ property:value [property:value ...] |
例如,将连接处理程序配置为只接受 SSL 连接。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ is-ssl-mandatory:true |
要获取某个属性的描述及其有效值列表,请运行以下命令:
$ dpconf help-properties connection-handler |
启用连接处理程序。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name is-enabled:true |
重新启动目录代理服务器实例以使更改生效(如有必要)。
有关重新启动目录代理服务器的信息,请参见重新启动目录代理服务器。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
(可选的)查看连接处理程序列表。
$ dpconf list-connection-handlers -h host -p port |
删除一个或多个连接处理程序。
$ dpconf delete-connection-handler -h host -p port connection-handler-name [connection-handler-name ... ] |
将连接分配给某个连接处理程序时,连接上的请求对于为该连接处理程序配置的数据视图列表是公开的,或者对于所有已配置的数据视图是公开的。该连接上的后续请求只对用于第一个请求的数据视图公开。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
启用数据视图的相似性。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ enable-data-view-affinity:true |
(可选的)将连接处理程序配置为将请求路由到数据视图的自定义列表。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name data-view-routing-policy:custom |
(可选的)配置数据视图列表。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ data-view-routing-custom-list:view-name [data-view-routing-custom-list:view-name ...] |
有关请求过滤策略的概述,请参见《Sun Java System Directory Server Enterprise Edition 6.0 Reference》中的“Request Filtering Policies for Connection Handlers”。有关搜索数据隐藏规则的概述,请参见《Sun Java System Directory Server Enterprise Edition 6.0 Reference》中的“Search Data Hiding Rules in the Request Filtering Policy”。
有关如何创建和配置请求过滤策略和搜索数据隐藏规则的信息,请参见以下过程。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
创建请求过滤策略。
$ dpconf create-request-filtering-policy policy-name |
将请求过滤策略与某个连接处理程序关联。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ request-filtering-policy:policy-name |
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
查看请求过滤策略的属性。
$ dpconf get-request-filtering-policy-prop -h host -p port policy-name |
请求过滤策略的默认属性如下所示:
allow-add-operations : true allow-bind-operations : true allow-compare-operations : true allow-delete-operations : true allow-extended-operations : true allow-inequality-search-operations : true allow-modify-operations : true allow-rename-operations : true allow-search-operations : true allowed-comparable-attrs : all allowed-search-scopes : base allowed-search-scopes : one-level allowed-search-scopes : subtree allowed-subtrees : "" description : - prohibited-comparable-attrs : none prohibited-subtrees : none |
通过设置步骤 1 中列出的一个或多个属性来配置请求过滤策略。
$ dpconf set-request-filtering-policy-prop -h host -p port policy-name \ property:value [property:value ...] |
通过设置步骤 1 中列出的属性,可以配置请求过滤策略的以下功能:
允许客户端执行的操作类型
对客户端公开或隐藏的子树
搜索操作的范围
搜索过滤器的类型
可以或无法在搜索和比较操作中进行比较的属性类型
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
为请求过滤策略创建一个或多个搜索数据隐藏规则。
$ dpconf create-search-data-hiding-rule -h host -p port policy-name rule-name \ [rule-name ...] |
查看搜索数据隐藏规则的属性。
$ dpconf get-search-data-hiding-rule-prop policy-name rule-name |
搜索数据隐藏规则的默认属性如下所示:
attrs : - rule-action : hide-entry target-attr-value-assertions : - target-dn-regular-expressions : - target-dns : - |
通过设置步骤 2 中列出的一个或多个属性来配置搜索数据隐藏规则。
$ dpconf set-search-data-hiding-rule-prop -h host -p port policy-name rule-name \ property:value [property:value ...] |
可以使用以下规则操作之一:
不返回目标条目。
返回目标条目,但过滤掉指定的属性。
返回目标条目,但过滤掉未指定的属性。
此规则可应用于以下条目:
具有指定 DN 的条目
具有指定 DN 模式的条目
具有指定属性名称和属性值对 (attrName#attrValue) 的条目
以下配置定义了用于隐藏 inetorgperson 类型条目的搜索数据隐藏规则。
$ dpconf set-search-data-hiding-rule-prop -h host1 -p port my-policy my-rule \ target-attr-value-assertions:objectclass#inetorgperson |
以下示例包含请求过滤策略和搜索数据隐藏规则。当请求过滤策略与搜索数据隐藏规则相结合时,将限制对数据的访问,如下所示:
不允许执行以下类型的操作:添加、删除、扩展、修改和重命名。
只能访问 ou=people,dc=sun,dc=com 子树。
搜索操作只能返回 inetorgperson 类型的条目。
allow-add-operations : false allow-bind-operations : true allow-compare-operations : true allow-delete-operations : false allow-extended-operations : false allow-inequality-search-operations : true allow-modify-operations : false allow-rename-operations : false allow-search-operations : true allowed-comparable-attrs : all allowed-search-scopes : base allowed-search-scopes : one-level allowed-search-scopes : subtree allowed-subtrees : ou=people,dc=sun,dc=com description : myRequestFilteringPolicy prohibited-comparable-attrs : none prohibited-subtrees : none |
attrs : - rule-action : hide-entry target-attr-value-assertions : objectclass:inetorgperson target-dn-regular-expressions : - target-dns : - |
有关资源限制策略的概述,请参见《Sun Java System Directory Server Enterprise Edition 6.0 Reference》中的“Resource Limits Policies for Connection Handlers”。有关如何创建和配置资源限制策略,以及如何自定义搜索限制的信息,请参见以下过程。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
创建资源限制策略。
$ dpconf create-resource-limits-policy -h host -p port policy-name |
有关如何修改资源限制策略的属性的信息,请参见配置资源限制策略。
将资源限制策略与某个连接处理程序关联。
$ dpconf set-connection-handler-prop -h host -p port connection-handler-name \ resource-limits-policy:policy-name |
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
查看资源限制策略的属性。
$ dpconf get-resource-limits-policy-prop -h host -p port policy-name |
资源限制策略的默认属性如下所示:
description : - max-client-connections : unlimited max-connections : unlimited max-simultaneous-operations-per-connection : unlimited max-total-operations-per-connection : unlimited minimum-search-filter-substring-length : unlimited referral-bind-policy : default referral-hop-limit : default referral-policy : default search-size-limit : unlimited search-time-limit : unlimited |
通过设置步骤 1 中列出的一个或多个属性来配置资源限制策略:
$ dpconf set-resource-limits-policy-prop -h host -p port policy-name \ property:value [property:value ...] |
根据搜索基和搜索范围,可以定义搜索操作的自定义限制。如果搜索操作的目标 DN 和搜索范围与指定条件相匹配,则会限制搜索结果的最大大小。
可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
创建一个或多个自定义搜索限制。
$ dpconf create-custom-search-size-limit -h host -p port policy-name \ custom-search-limit-name [custom-search-limit-name ...] |
为自定义搜索限制设置条件。
$ dpconf set-custom-search-size-limit-prop -h host -p port policy-name \ custom-search-limit-name one-level-search-base-dn:value subtree-search-base-dn:value |
对返回的结果(当搜索符合步骤 2 中的条件之一时)数设置限制。
$ dpconf set-custom-search-size-limit-prop -h host -p port policy-name \ custom-search-limit-name search-size-limit:value |
查看自定义搜索限制的属性。
$ dpconf get-custom-search-size-limit-prop -h host -p port policy-name \ custom-search-limit-name |
自定义搜索限制的默认属性如下所示:
one-level-search-base-dn : - search-size-limit : unlimited subtree-search-base-dn : - |
Directory Proxy Server 5.2 是基于连接的路由器。在 Directory Proxy Server 5.2 中,客户端连接将被路由到特定的目录服务器。该客户端连接上的所有请求都将发送到相同的目录服务器,直到连接断开或客户端解除绑定为止。
Directory Proxy Server 6.0 是基于操作的路由器。但是,为了实现兼容性,可以将此目录代理服务器版本配置为基于连接的路由器,如以下过程所述。
创建并配置一个或多个连接处理程序,如创建、配置和删除连接处理程序中所述。
还可以使用默认的连接处理程序。
将所有连接处理程序配置为只将请求路由到根数据视图。
例如:
$ dpconf set-connection-handler-prop -h host1 -p 1389 myConnectionHandler \ data-view-routing-policy:custom data-view-routing-custom-list:"root data view" |
为每个后端 LDAP 服务器创建并配置数据源,如创建和配置 LDAP 数据源中所述。
例如:
$ dpconf create-ldap-data-source -h host1 -p 1389 myDataSource host2:2389 |
创建并配置数据源池,如创建和配置 LDAP 数据源池中所述。
例如:
$ dpconf create-ldap-data-source-pool -h host1 -p 1389 myDataSourcePool |
将所有数据源连接到数据源池,如将 LDAP 数据源连接到数据源池中所述。
例如,
$ dpconf attach-ldap-data-source -h host1 -p 1389 myDataSourcePool myDataSource |
将每个数据源配置为使用绑定重放来验证客户端,如使用绑定重放转发请求中所述。
例如:
$ dpconf set-ldap-data-source-prop -h host1 -p 1389 myDataSource \ client-cred-mode:use-client-identity |
配置客户端连接和数据源池之间的相似性,如配置客户端相似性中所述。
例如:
$ dpconf set-ldap-data-source-pool-prop -h host1 -p 1389 myDataSourcePool \ enable-client-affinity:true client-affinity-policy:read-write-affinity-after-write |