ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Server Enterprise Edition管理者ガイド
11g リリース1 (11.1.1.7.0)
B72439-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

23 仮想データの変換

仮想データの変換は、既存のデータ・ビューで定義され、仮想データ・ビューを使用して仮想データを作成できるようになります。これがどのように機能するかについては、Oracle Directory Server Enterprise Editionのリファレンス仮想データの変換に関する項を参照してください。

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

23.1 仮想データの変換の構成

仮想データ変換を任意のタイプのデータ・ビュー(LDAPデータ・ビュー、LDIFデータ・ビュー、結合データ・ビューまたはJDBCデータ・ビュー)に追加できます。

23.1.1 仮想変換を追加するには

このタスクの実行には、DSCCを使用できません。次の手順の説明に従って、コマンドラインを使用してください。

  1. 変換をデータ・ビューに追加します。

    $ dpconf add-virtual-transformation -h host -p port view-name \
     transformation-model transformation-action attribute-name [parameters...]
    

    transformation-modelは、mappingwriteおよびreadの各変換のいずれかです。

    transformation-actionは、add-attrremove-attradd-attr-valueremove-attr-valuedef-valueおよびattr-value-mappingの各アクションのいずれかです。

    parametersは、transformation-modelおよびtransformation-actionに応じて必須である場合があります。

    変換モデル、変換アクションおよび変換パラメータの詳細は、Oracle Directory Server Enterprise Editionのリファレンス仮想データの変換に関する項を参照してください。

  2. データ・ビューで定義される仮想変換のリストを表示します。

    $ dpconf list-virtual-transformations -h host -p port view-name
    

23.1.2 仮想変換を削除するには

次のコマンドを使用して、仮想変換を削除します。

dpconf remove-virtual-transformation view_name transformation_name

23.2 仮想変換の例

次の各項では、仮想データ・ビューが必要なユースケース、およびこのユースケースを実装するために必要な変換モデルとアクションの組合せについて説明します。

23.2.1 エントリの既存の属性からの属性の導出

次の変換ルールを使用して、エントリの既存の属性から属性を導出します。たとえば、次の変換ルールが適用される場合、givenName属性およびsn属性から導出されるmail属性が表示されます。

$ dpconf add-virtual-transformation dataview1 read add-attr \
mail \${givenName}.\${sn}@example.com 

次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。

virtualtransform2.pngの説明が続きます
図virtualtransform2.pngの説明

23.2.2 仮想属性の物理属性へのマッピング

次のマッピング変換ルールを使用して、純粋な仮想属性の一部として提供される属性を追加します。たとえば、次の変換ルールが適用される場合、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の値を生成します。

次の図は、ユーザーのエントリで発生する変換を示しています。

virtualtransex1.pngの説明が続きます
図virtualtransex1.pngの説明

23.2.3 別の物理属性によって指定される属性の2番目の仮想値の表示

次の変換を使用して、別の属性によって指定される属性の値を表示します。たとえば、エントリにすでに格納されているcnの値とともにcnとしてuidを表示する場合です。次のコマンドは、追加の値をcnに格納しませんが、結果がクライアントに返される前に変換が適用されます。

$ dpconf add-virtual-transformation dataview1 read add-attr-value cn \${uid}

次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。

virtualtransex2.pngの説明が続きます
図virtualtransex2.pngの説明

23.2.4 別の物理属性によって指定される属性への2番目の値の格納

次の変換ルールを使用して、新しいエントリを追加するときに提供する値とともに属性の値を格納します。このシナリオでは、エントリを追加するとき、mail属性の追加の値が格納されます。この変換は、新しいエントリを作成するときのみ適用されます。

$ dpconf add-virtual-transformation dataview1 write add-attr-value \
mail \${uid}@example.com

次の図は、追加リクエストで発生する変換を示しています。

virtualtransex3.pngの説明が続きます
図virtualtransex3.pngの説明

23.2.5 出力から属性を除外

出力に属性を表示しない場合、次の変換ルールを使用します。たとえば、次の変換ルールが適用された場合、givenNameは出力に返されません。

dpconf add-virtual-transformation dataview1 read remove-attr givenName

次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。

virtualtransex4.pngの説明が続きます
図virtualtransex4.pngの説明

23.2.6 エントリ保存中の属性のマスキング

特定の属性を格納しない場合、次の変換ルールを使用します。たとえば、次の変換ルールが適用された場合、givenName属性は、物理データベースに格納されません。この変換は、新しいエントリを作成するときのみ適用されます。

$ dpconf add-virtual-transformation dataview1 write remove-attr givenName

次の図は、追加リクエストで発生する変換を示しています。

virtualtransex5.pngの説明が続きます
図virtualtransex5.pngの説明

23.2.7 属性のデフォルト値の表示

属性に割り当てられたデフォルト値を表示する場合、次の変換を使用します。たとえば、次の変換が適用された場合、独自の電話番号が含まれていないエントリにデフォルトの電話番号が表示されます。

$ dpconf add-virtual-transformation data-view read 11111 telephoneNumber default-number

次の図は、検索でユーザーのエントリが返されるときにユーザーのエントリで発生する変換を示しています。

virtualtransex6.pngの説明が続きます
図virtualtransex6.pngの説明

23.2.8 デフォルト値の属性への格納

デフォルト値は、属性の値がエントリの作成中に指定されなかった場合のみ格納されます。デフォルト値を持つ属性を格納する場合、次の変換ルールを使用します。たとえば、次の変換が適用された場合、作成する各エントリとともにデフォルトの電話番号が追加されます。この変換は、エントリを追加するときのみ適用されます。

$ dpconf add-virtual-transformation dataview1 write 11111 \
telephoneNumber telephone-number

次の図は、追加リクエストで発生する変換を示しています。

virtualtransex7.pngの説明が続きます
図virtualtransex7.pngの説明