Sun Java System Directory Server Enterprise Edition 6.3 管理ガイド

第 26 章 クライアントと Directory Proxy Server の接続

クライアントと Directory Proxy Server の接続の概要、接続ハンドラ、および接続ハンドラで使用される条件とポリシーの説明については、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の第 20 章「Connections Between Clients and Directory Proxy Server」を参照してください。

この章の内容は次のとおりです。

接続ハンドラの作成、設定、削除

接続ハンドラの作成、設定、削除の方法と、データビューに対するアフィニティーの設定方法については、次の手順を参照してください。

Procedure接続ハンドラを作成する

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. 接続ハンドラを作成します。


    $ dpconf create-connection-handler -h host -p port connection-handler-name
    
  2. (省略可能) 接続ハンドラのリストを表示します。


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

Procedure接続ハンドラを設定する

始める前に

接続ハンドラのプロパティーは、Directory Proxy Server インスタンスに定義されているその他の接続ハンドラのプロパティーに関連して定義する必要があります。さまざまな基準のセットを確実に指定し、正しい優先順位を設定するため、すべての接続ハンドラのプロパティーを考慮してください。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および 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

    接続ハンドラ anonymous および default connection handler は、Directory Proxy Server のインスタンスの作成時に作成されます。

  2. 1 つの接続ハンドラのすべてのプロパティーを表示します。


    $ 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-connaection-handler-prop -h host -p port connection-handler-name priority:value
    

    優先順位は 1 〜 100 の任意の数にすることができ、もっとも高い優先順位は 1 です。Directory Proxy Server のインスタンスでは、接続ハンドラは優先順位の順に評価されます。

  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. 必要に応じて、変更を有効にするために Directory Proxy Server のインスタンスを再起動します。

    Directory Proxy Server の再起動については、「Directory Proxy Server を再起動する」を参照してください。

Procedure接続ハンドラを削除する

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. (省略可能) 接続ハンドラのリストを表示します。


    $ dpconf list-connection-handlers -h host -p port
    
  2. 1 つまたは複数の接続ハンドラを削除します。


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

Procedureデータビューに対するアフィニティーを設定する

接続ハンドラに接続を割り当てると、その接続にある要求は、その接続ハンドラに設定されているデータビューのリスト、または設定されている データビューのすべてに公開されます。その接続のそれ以降の要求は、最初の要求に対して使われるデータビューに排他的に公開されます。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および 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 ...]

    データビューの既存リストにデータビューを追加するには、次のコマンドを使用します。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     data-view-routing-custom-list+:view-name
    

    データビューの既存リストからデータビューを削除するには、次のコマンドを使用します。


    $ dpconf set-connection-handler-prop -h host -p port connection-handler-name \
     data-view-routing-custom-list-:view-name
    

要求フィルタリングポリシーと検索データの非表示ルールの作成と設定

要求フィルタリングポリシーの概要は、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Request Filtering Policies for Connection Handlers」を参照してください。検索データの非表示ルールの概要は、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Search Data Hiding Rules in the Request Filtering Policy」を参照してください。

要求フィルタリングポリシーと検索データの非表示ルールの作成と設定の方法については、次の手順を参照してください。

Procedure要求フィルタリングポリシーを作成する

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および 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 を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および 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 で一覧表示されるプロパティーの 1 つまたは複数を設定することで、要求フィルタリングポリシーを設定します。


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

    手順 1 で一覧表示されるプロパティーを設定することで、次のような要求フィルタリングポリシーの機能を設定します。

    • クライアントに実行が許可されている操作のタイプ

    • クライアントに公開されるサブツリー、またはクライアントから非表示にされるサブツリー

    • 検索操作の範囲

    • 検索フィルタのタイプ

    • 検索操作と比較操作で比較できる属性と比較できない属性のタイプ

Procedure検索データ非表示ルールを作成する

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. 要求フィルタリングポリシーに対して、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 で一覧表示されるプロパティーの 1 つまたは複数を設定することで、検索データ非表示ルールを設定します。


    $ 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

要求フィルタリングポリシーと検索データ非表示ルールの例

次の例には、要求フィルタリングポリシーと検索データ非表示ルールが含まれます。要求フィルタリングポリシーを検索データ非表示ルールと組み合わせると、次のようにデータへのアクセスが制限されます。


例 26–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


例 26–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.3 Reference』「Resource Limits Policies for Connection Handlers」を参照してください。リソース制限ポリシーを作成する方法と検索制限をカスタマイズする方法については、次の手順を参照してください。

Procedureリソース制限ポリシーを作成する

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および 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 を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および 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 で一覧表示されるプロパティーの 1 つまたは複数を設定することで、リソース制限ポリシーを設定します。


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

Procedure検索制限をカスタマイズする

検索ベースと検索範囲に従って行われる検索操作に対して、カスタマイズした検索制限を定義することができます。検索操作のターゲット DN と範囲が指定した条件と一致すると、検索結果で返されるエントリの数が制限されます。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. 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 で検索が条件の 1 つを満たす場合に返される結果の数の制限を設定します。


    $ 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 の設定

Directory Proxy Server 5.2 は接続ベースのルーターです。Directory Proxy Server 5.2 では、クライアント接続は特定のディレクトリサーバーに経路指定されます。そのクライアント接続のすべての要求は、接続が切断されるかクライアントがアンバインドされるまでは、同じディレクトリサーバーに送信されます。

Directory Proxy Server 6.3 は、操作ベースのルーターです。ただし、互換性のため、このバージョンの Directory Proxy Server は、次の手順で説明するように接続ベースのルーターとして設定できます。

ProcedureDirectory Proxy Server を接続ベースのルーターとして設定する

  1. 「接続ハンドラの作成、設定、削除」で説明するように、1 つまたは複数の接続ハンドラを作成し、設定します。

    デフォルトの接続ハンドラを使用することもできます。

  2. 要求を root data view のみに経路指定するように、すべての接続ハンドラを設定します。

    次に例を示します。


    $ 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