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

第 25 章 目錄代理伺服器連線處理程式

如需連線處理程式的角色簡介與連線處理程式中所使用條件與策略的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的第 21 章「Directory Proxy Server Connection Handlers」。F

本章包含下列主題:

建立、配置與刪除連線處理程式

如需有關如何建立、配置與刪除連線處理程式,以及如何配置資料檢視相似性的資訊,請參閱下列程序。

Procedure建立連線處理程式

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 建立連線處理程式。


    $ dpconf create-connection-handler -h host -p port connection-handler-name
    
  2. (可選擇) 檢視連線處理程式的清單。


    $ dpconf list-connection-handlers -h host -p port
    

Procedure配置連線處理程式

開始之前

連線處理程式的特性必須依據針對目錄代理伺服器實例所定義的其他連線處理程式特性進行定義。請考量所有連線處理程式的特性,以確保這些連線處理程式指定不同的條件集和正確設定優先權。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 檢視連線處理程式的詳細清單,以查看這些連線處理程式的主要特性與相關特性。


    $ 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

    建立目錄代理伺服器實例時,即會建立連線處理程式 anonymousdefault connection handler

  2. 檢視單一連線處理程式的所有特性。


    $ 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
  3. 配置連線處理程式的優先權。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name priority:value
    

    優先權可以是從 1 到 100 的任何數字,其中 1 具有最高的優先權。對於目錄代理伺服器實例,會以優先權順序評估連線處理程式。

  4. (可選擇) 指定連線處理程式的 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"
  5. (可選擇) 指定搭配此連線處理程式使用的請求篩選策略名稱。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     request-filtering-policy:policy-name
    

    其中 policy-name 是現有請求篩選策略的名稱。如需有關如何建立與配置請求篩選策略的資訊,請參閱建立與配置請求篩選策略與搜尋資料隱藏規則

  6. (可選擇) 指定搭配此連線處理程式使用的資源限制策略名稱。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     resource-limits-policy:policy-name
    

    其中 policy-name 是現有資源限制策略的名稱。如需有關如何建立與配置資源限制策略的資訊,請參閱建立與配置資源限制策略

  7. 配置步驟 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
  8. 啟用連線處理程式。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name is-enabled:true
  9. 請視需要重新啟動目錄代理伺服器實例以使變更生效。

    如需有關重新啟動目錄代理伺服器的資訊,請參閱重新啟動目錄代理伺服器

Procedure刪除連線處理程式

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. (可選擇) 檢視連線處理程式的清單。


    $ dpconf list-connection-handlers -h host -p port
    
  2. 刪除一或多個連線處理程式。


    $ dpconf delete-connection-handler -h host -p port connection-handler-name [connection-handler-name ... ]

Procedure配置資料檢視的相似性

當連線處理程式配置了連線時,該連線處理程式配置的資料檢視清單或所有已配置資料檢視中,會顯示該連線上的所有請求。該連線上後續的請求僅會顯示在第一次請求所使用的資料檢視中。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 啟用資料檢視的相似性。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     enable-data-view-affinity:true
  2. (可選擇) 配置連線處理程式,以將請求路由至自訂的資料檢視清單。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name data-view-routing-policy:custom
  3. (可選擇) 配置資料檢視清單。


    $ 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」

如需有關如何建立與配置請求篩選策略和搜尋資料隱藏規則的資訊,請參閱下列程序。

Procedure建立請求篩選策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 建立請求篩選策略。


    $ dpconf create-request-filtering-policy policy-name
    
  2. 將請求篩選策略與連線處理程式關聯。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     request-filtering-policy:policy-name
    

Procedure配置請求篩選策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 檢視請求篩選策略的特性。


    $ 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
  2. 透過設定步驟 1 中所列的一或多個特性,配置請求篩選策略。


    $ dpconf set-request-filtering-policy-prop -h host -p port policy-name \
      property:value [property:value ...]

    透過設定步驟 1 中所列的特性,可以配置請求篩選策略的下列功能:

    • 允許用戶端執行的作業類型

    • 顯示給用戶端或向用戶端隱藏的子樹狀結構

    • 搜尋作業的範圍

    • 搜尋篩選的類型

    • 搜尋和比較作業中可以比較或無法比較的屬性類型

Procedure建立搜尋資料隱藏規則

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 建立請求篩選策略的一或多個搜尋資料隱藏規則。


    $ dpconf create-search-data-hiding-rule -h host -p port policy-name rule-name \
     [rule-name ...]
  2. 檢視搜尋資料隱藏規則的特性。


    $ 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                         :  -
  3. 透過設定步驟 2 中所列的一或多個特性,配置搜尋資料隱藏規則。


    $ dpconf set-search-data-hiding-rule-prop -h host -p port policy-name rule-name \
      property:value [property:value ...]

    可以使用下列規則動作其中之一:

    hide-entry

    不傳回目標項目。

    hide-attributes

    傳回目標項目,但篩選出指定的屬性。

    show-attributes

    傳回目標項目,但篩選出未指定的屬性。

    規則可套用至下列項目:

    target-dns

    具有指定 DN 的項目

    target-dn-regular-expressions

    具有指定 DN 模式的項目

    target-attr-value-assertions

    具有指定屬性名稱與屬性值對 (attrName#attrValue ) 的項目

    下列配置定義了隱藏 inetorgperson 類型項目的搜尋資料隱藏規則。


    $ dpconf set-search-data-hiding-rule-prop -h host1 -p port my-policy my-rule \
      target-attr-value-assertions:objectclass#inetorgperson

請求篩選策略與搜尋資料隱藏規則範例

下列範例包含請求篩選策略與搜尋資料隱藏規則。將請求篩選策略與搜尋資料隱藏規則結合時,存取資料的限制如下:


範例 25–1 請求篩選策略範例


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


範例 25–2 搜尋資料隱藏規則範例


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」。如需有關如何建立與配置資源限制策略以及如何自訂搜尋限制的資訊,請參閱下列程序。

Procedure建立資源限制策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 建立資源限制策略。


    $ dpconf create-resource-limits-policy -h host -p port policy-name
    

    如需有關如何修改資源限制策略特性的資訊,請參閱配置資源限制策略

  2. 將資源限制策略與連線處理程式關聯。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     resource-limits-policy:policy-name
    

Procedure配置資源限制策略

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 檢視資源限制策略的特性。


    $ 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
  2. 透過設定步驟 1 中所列的一或多個特性,配置資源限制策略:


    $ dpconf set-resource-limits-policy-prop -h host -p port policy-name \
      property:value [property:value ...]

Procedure自訂搜尋限制

您可以根據搜尋基底與搜尋範圍定義搜尋作業的自訂限制。如果搜尋作業的目標 DN 與範圍符合指定的條件,則限制搜尋結果的大小上限。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 建立一或多個自訂搜尋限制。


    $ dpconf create-custom-search-size-limit -h host -p port policy-name \
      custom-search-limit-name [custom-search-limit-name ...]
  2. 設定自訂搜尋限制的條件。


    $ 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
    
  3. 設定搜尋滿足步驟 2 的其中一個條件時,所傳回結果數的限制。


    $ dpconf set-custom-search-size-limit-prop -h host -p port policy-name \
     custom-search-limit-name search-size-limit:value
    
  4. 檢視自訂搜尋限制的特性。


    $ 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 是基於作業的路由器。但是,此版本的目錄代理伺服器可能因為相容性而配置為基於連線的路由器,如下列程序所述。

Procedure將目錄代理伺服器配置為基於連線的路由器

  1. 建立、配置與刪除連線處理程式中所述,建立與配置一或多個連線處理程式。

    您也可以使用預設的連線處理程式。

  2. 配置所有連線處理程式將請求僅路由至根資料檢視

    例如:


    $ dpconf set-connection-handler-prop -h host1 -p 1389 myConnectionHandler \
     data-view-routing-policy:custom data-view-routing-custom-list:"root data view"
  3. 建立與配置 LDAP 資料來源中所述,建立與配置每個後端 LDAP 伺服器的資料來源。

    例如:


    $ dpconf create-ldap-data-source -h host1 -p 1389 myDataSource host2:2389
  4. 建立與配置 LDAP 資料來源池中所述,建立與配置資料來源池。

    例如:


    $ dpconf create-ldap-data-source-pool -h host1 -p 1389 myDataSourcePool
  5. 將 LDAP 資料來源附加至資料來源池中所述,將所有資料來源附加至資料來源池。

    例如:


    $ dpconf attach-ldap-data-source -h host1 -p 1389 myDataSourcePool myDataSource
  6. 利用重新執行連結轉寄請求中所述,配置每個資料來源透過使用 BIND 重新執行來認證用戶端。

    例如:


    $ dpconf set-ldap-data-source-prop -h host1 -p 1389 myDataSource \
     client-cred-mode:use-client-identity
  7. 配置用戶端相似性中所述,配置用戶端連線與資料來源池之間的相似性。

    例如:


    $ dpconf set-ldap-data-source-pool-prop -h host1 -p 1389 myDataSourcePool \
     enable-client-affinity:true client-affinity-policy:read-write-affinity-after-write