結合データビューは複数のデータビューを 1 つにまとめたものです。結合データビューの機能方法については、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の「Join Data Views」を参照してください。
結合データビューの作成と設定の方法については、次の手順を参照してください。
DSCC を使用してこのタスクを実行することはできません。次の手順に示すように、コマンド行を使用します。
結合ビューを形成するためにまとめる一次データビューと二次データビューを特定します。
結合ビューを作成する前に、一次データビューと二次データビューを準備しておきます。一次ビューと二次ビューは、LDAP データビュー、LDIF データビュー、JDBC データビュー、またはその他の結合データビューを含むどんな種類のデータビューでも構いません。特定のプロパティーを二次ビュー上で設定し、結合ビューのソースとして機能できるようにします。詳細については、「結合ビューの二次ビューを設定する」を参照してください。
結合データビューを作成します。
$ dpconf create-join-data-view -h host -p port view-name primary-view secondary-view \ suffix-dn |
(省略可能) データビューが正常に作成されたことを確認するために、結合ビューの一覧を表示します。
$ dpconf list-join-data-views -h host -p port |
DSCC を使用してこのタスクを実行することはできません。次の手順に示すように、コマンド行を使用します。
結合データビューのプロパティーを表示します。
$ dpconf get-join-data-view-prop -h host -p port view-name |
結合データビューのデフォルトプロパティーは次のとおりです。
alternate-search-base-dn : "" alternate-search-base-dn : dc=com attr-name-mappings : none base-dn : suffixDN 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 join-rule-control-enabled : false 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 primary-view : primary-view process-bind : - replication-role : master secondary-view : secondary-view viewable-attr : all except non-viewable-attr writable-attr : all except non-writable-attr |
手順 1で一覧表示されるプロパティーの 1 つまたは複数を変更します。
$ dpconf set-join-data-view-prop -h host -p port view-name property:value \ [property:value ... ] |
たとえば、データソースの一次データビューを myLDAPDataView に変更するには、次のコマンドを使用します。
$ dpconf set-join-data-view-prop -h host1 -p 1389 -D cn="Proxy Manager" \ myJoinDataView primary-view:myLDAPDataView |
結合データビューを設定する場合は、一次データビューと二次データビューで viewable-attr および writable-attr プロパティーを設定します。
これらのプロパティーを設定すると、一次データビューと二次データビューで検索フィルタを適切に分割できます。これらのプロパティーを設定しなければ、二次データビューからの属性が検索フィルタに含まれている場合、検索結果に矛盾が生じる可能性があります。
必要に応じて、変更を有効にするために Directory Proxy Server のインスタンスを再起動します。
Directory Proxy Server の再起動については、「Directory Proxy Server を再起動する」を参照してください。
結合データビューで結合ルール設定情報を設定することにより、そのデータビューが複数の結合データビューから参照されるようにします。これを行うには、次の手順を実行します。
結合データビューで join-rule-control-enabled を true に設定します。
$ dpconf set-join-data-view-prop view-name join-rule-control-enabled:true |
join-rule-control-enabled を true に設定すると、その結合データビューに格納された結合ルール設定情報がサーバーで使用されます。ある結合データビューに対して、結合ルール設定情報が二次データビューに格納されている場合、この情報はサーバーで使用されません。この情報をサーバーに使用させるには、結合データビューレベルで設定情報を手動で追加してください。
二次ビューが一次ビューに関連付けられる方法を決定する結合ルールを定義します。
次のどちらかの結合ルールを使用できます。
DN 結合ルール
$ dpconf set-join-data-view-prop view-name \ dn-join-rule:uid=\${primary-view-name.uid},ou=People,dc=example |
フィルタ結合ルール
$ dpconf set-join-data-view-prop view-name \ filter-join-rule:uid=\${primary-view-name.uid} |
上のコマンドで、属性名を変数として扱う場合には ${} で囲みます。属性名を ${} で囲まないと、その属性名は定数として扱われます。
UNIX で bash または ksh を使用する場合、構築と同様に $ 文字は \${primary-view-name .uid} では \ でエスケープするべきですが、Windows の場合、エスケープは必要ありません。
特定のプロパティーを二次データビュー上で設定し、結合ビューのソースとして機能できるようにします。二次ビューはどんな種類のデータビューでも構わないため、使用するコマンドは、データビューの種類によって異なります。次のサンプルコマンドは、二次ビューが LDAP データビューであることを前提としています。ここで説明するプロパティーの詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の「Additional Secondary Data View Properties」を参照してください。
DSCC を使用してこのタスクを実行することはできません。次の手順に示すように、コマンド行を使用します。
二次ビューが一次ビューに関連付けられる方法を決定する結合ルールを定義します。
filter-join-rule および dn-join-rule は、結合ビューの一次データビューでは決して設定しないでください。
次のどちらかの結合ルールを使用できます。
DN 結合ルール
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name \ dn-join-rule:uid=\${primary-view-name.uid},ou=People,dc=example |
フィルタ結合ルール
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name \ filter-join-rule:uid=\${primary-view-name.uid} |
dn-join-rule および filter-join-rule プロパティーの設定がサーバーで使用されるのは、結合データビューで join-rule-control-enabled プロパティーが false に設定されている場合だけです。結合データビューで join-rule-control-enabled プロパティーが true に設定されていると、二次ビューで設定された情報は無視されます。
結合データビューでフィルタ結合ルールが設定されている場合は、二次データビューで仮想変換ルールを設定して、その結合データビューでエントリを追加できるようにする必要があります。
dpconf add-virtual-transformation secondary-view-name \ write add-attr-value dn uid=\${uid} |
このルールを設定しなければ、結合データビューにエントリを追加できません。
(省略可能) 二次ビューでバインドを許可するかどうかを指定します。
デフォルトでは、すべてのデータビューでバインドが可能です。二次データビューのバインドを禁止する場合は、次のコマンドを実行します。
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name process-bind:false |
このプロパティーの詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の「Handling of Binds」を参照してください。
(省略可能) 二次データビューに共有エントリが含まれるかどうかを指定します。
$ dpconf set-ldap-data-view-prop -h host -p port secondary-view-name \ contains-shared-entries:true |
このプロパティーの詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の「Handling of Shared Entries」を参照してください。