Oracle® Fusion Middleware Oracle Directory Server Enterprise Edition管理者ガイド 11g リリース1 (11.1.1.7.0) B72439-01 |
|
前 |
次 |
仮想データの変換は、既存のデータ・ビューで定義され、仮想データ・ビューを使用して仮想データを作成できるようになります。これがどのように機能するかについては、Oracle Directory Server Enterprise Editionのリファレンスの仮想データの変換に関する項を参照してください。
この章の内容は、次のとおりです。
仮想データ変換を任意のタイプのデータ・ビュー(LDAPデータ・ビュー、LDIFデータ・ビュー、結合データ・ビューまたはJDBCデータ・ビュー)に追加できます。
このタスクの実行には、DSCCを使用できません。次の手順の説明に従って、コマンドラインを使用してください。
変換をデータ・ビューに追加します。
$ dpconf add-virtual-transformation -h host -p port view-name \ transformation-model transformation-action attribute-name [parameters...]
transformation-modelは、mapping
、write
およびread
の各変換のいずれかです。
transformation-actionは、add-attr
、remove-attr
、add-attr-value
、remove-attr-value
、def-value
およびattr-value-mapping
の各アクションのいずれかです。
parametersは、transformation-modelおよびtransformation-actionに応じて必須である場合があります。
変換モデル、変換アクションおよび変換パラメータの詳細は、Oracle Directory Server Enterprise Editionのリファレンスの仮想データの変換に関する項を参照してください。
データ・ビューで定義される仮想変換のリストを表示します。
$ dpconf list-virtual-transformations -h host -p port view-name
次の各項では、仮想データ・ビューが必要なユースケース、およびこのユースケースを実装するために必要な変換モデルとアクションの組合せについて説明します。
次の変換ルールを使用して、エントリの既存の属性から属性を導出します。たとえば、次の変換ルールが適用される場合、givenName
属性およびsn
属性から導出されるmail
属性が表示されます。
$ dpconf add-virtual-transformation dataview1 read add-attr \ mail \${givenName}.\${sn}@example.com
次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。
次のマッピング変換ルールを使用して、純粋な仮想属性の一部として提供される属性を追加します。たとえば、次の変換ルールが適用される場合、givenName
は、エントリで指定されていなくてもサーバーに格納されます。値は、mail \${givenName}@example.com
として定義されている純粋な仮想属性から取得されます。
$ dpconf add-virtual-transformation dataview1 mapping add-attr \ mail \${givenName}@example.com
まず、仮想属性mail
を含むがgivenName
属性を含まないエントリを追加します。仮想変換は、givenName
属性の値を生成し、このエントリは、givenName
属性付きかつmail
属性なしで格納されます。次に、uid
属性を使用して検索を実行し、givenName
の値を取得すると、同じ仮想変換は、仮想属性mail
の値を生成します。
次の図は、ユーザーのエントリで発生する変換を示しています。
次の変換を使用して、別の属性によって指定される属性の値を表示します。たとえば、エントリにすでに格納されているcn
の値とともにcn
としてuid
を表示する場合です。次のコマンドは、追加の値をcn
に格納しませんが、結果がクライアントに返される前に変換が適用されます。
$ dpconf add-virtual-transformation dataview1 read add-attr-value cn \${uid}
次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。
次の変換ルールを使用して、新しいエントリを追加するときに提供する値とともに属性の値を格納します。このシナリオでは、エントリを追加するとき、mail
属性の追加の値が格納されます。この変換は、新しいエントリを作成するときのみ適用されます。
$ dpconf add-virtual-transformation dataview1 write add-attr-value \ mail \${uid}@example.com
次の図は、追加リクエストで発生する変換を示しています。
出力に属性を表示しない場合、次の変換ルールを使用します。たとえば、次の変換ルールが適用された場合、givenName
は出力に返されません。
dpconf add-virtual-transformation dataview1 read remove-attr givenName
次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。
特定の属性を格納しない場合、次の変換ルールを使用します。たとえば、次の変換ルールが適用された場合、givenName
属性は、物理データベースに格納されません。この変換は、新しいエントリを作成するときのみ適用されます。
$ dpconf add-virtual-transformation dataview1 write remove-attr givenName
次の図は、追加リクエストで発生する変換を示しています。
属性に割り当てられたデフォルト値を表示する場合、次の変換を使用します。たとえば、次の変換が適用された場合、独自の電話番号が含まれていないエントリにデフォルトの電話番号が表示されます。
$ dpconf add-virtual-transformation data-view read 11111 telephoneNumber default-number
次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。
デフォルト値は、属性の値がエントリの作成中に指定されなかった場合のみ格納されます。デフォルト値を持つ属性を格納する場合、次の変換ルールを使用します。たとえば、次の変換が適用された場合、作成する各エントリとともにデフォルトの電話番号が追加されます。この変換は、エントリを追加するときのみ適用されます。
$ dpconf add-virtual-transformation dataview1 write 11111 \
telephoneNumber telephone-number
次の図は、追加リクエストで発生する変換を示しています。