この章では、仮想化の構成方法について説明します。
この章には次のセクションが含まれます:
注意: dsconfig またはOracle Directory Services Manager (ODSM)を使用して一部の仮想化要素を構成することを選択できます。
|
この項では、結合ワークフロー要素を作成して構成し、リポジトリの仮想ディレクトリ・ビューを作成する方法について説明します。
このセクションには次のトピックが含まれます:
結合ワークフロー要素を作成する前に、参加ワークフロー要素を構成し、結合ワークフロー要素の構成からリンクできるようにする必要があります。
たとえば、2つの個別のプロキシLDAPワークフロー要素があるシナリオについて考えます。
最初のプロキシLDAPワークフロー要素we-proxy1
は、結合ワークフロー要素の構成のプライマリ参加要素にリンクされます。
2番目のプロキシLDAPワークフロー要素we-proxy2
は、結合ワークフロー要素の構成のセカンダリ参加要素にリンクされます。
we-proxy1
データ・ソースには次のエントリがあると仮定します。
dn:cn=john,cn=users,dc=com1 objectclass:inetorgperson cn:john sn:doe uid:jdoe title:PMTS description: This entry is from we-proxy1
次に、we-proxy2
データ・ソースには次のエントリがあると仮定します。
dn: sn=doe,cn=employees,dc=com2 empid: jdoe cn:John sn:doe department: Sales manager: userid=smith,cn=users,dc=com2 description: This entry is from we-proxy2 objectclass:inetorgperson
結合ワークフロー要素から返される結合済エントリは、次のようになります。
dn:cn=john,cn=users,dc=join objectclass:inetorgperson cn:john sn:doe uid:jdoe empid: jdoe title:PMTS description: This entry is from we-proxy1 description: This entry is from we-proxy2 manager: userid=smith,cn=users,dc=join department: Sales
dsconfig
コマンドを使用した結合ワークフロー要素の作成この項では、第24.1.1項「前提作業」で説明したように2つのプロキシLDAPワークフロー要素を使用したシナリオに基づいて、結合ワークフロー要素のトポロジの作成方法および構成方法について説明します。
注意: 次のステップは、参加ワークフロー要素がすでに作成されていることを前提としています。 |
結合ワークフロー要素のトポロジを構成するには、次のようにします。
we-join
という名前の結合ワークフロー要素を作成します。
dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n create-workflow-element --set enabled:true --set join-suffix:dc=join --type join --element-name we-join
>>>> Specify Oracle Unified Directory LDAP connection parameters
Directory server hostname or IP address [ip]:
Directory server administration port number [4444]:
Administrator user bind DN [cn=Directory Manager]:
Password for user 'cn=Directory Manager':
>>>> Configure the properties of the Join Workflow Element
Property Value(s)
---------------------------------------------------------------
1) dn-attribute manager, member, memberof, uniquemember
2) enabled true
3) join-suffix dc=join
4) populate-joinedentrydn false
?) help
f) finish - create the new Join Workflow Element
q) quit
Enter choice [f]: f
The Join Workflow Element was created successfully
we-proxy1
という名前のプロキシLDAPワークフロー要素にリンクされたjp-p1
という名前のプライマリ参加要素を作成します。
dsconfig create-join-participant --element-name we-join \ --set participant-dn:dc=com1 \ --set participating-workflow-element:we-proxy1 \ --set primary-participant:true --type generic --participant-name jp-p1 \
プライマリ参加要素を作成するには、次の情報を指定します。
>>>> Specify Oracle Unified Directory LDAP connection parameters
Directory server hostname or IP address [ip]:
Directory server administration port number [4444]:
Administrator user bind DN [cn=Directory Manager]:
Password for user 'cn=Directory Manager':
>>>> Configure the properties of the Join Participant
Property Value(s)
----------------------------------------------------------------------
1) enabled-operation compare, delete, modify, search
2) join-condition By default, no join condition is
defined. That is all entries
satisfying the original search filter
are considered for join.
3) joiner-type one-to-one
4) non-retrievable-attribute By default, the non-retrievable list
is empty, which means that all
attributes are retrievable.
5) non-storable-attribute By default, the non-storable list is
empty, which means that all attributes
are storable.
6) participant-bind-priority 0
7) participant-criticality true
8) participant-dn dc=com1
9) participants-join-rule ""
10) participating-workflow-element we-proxy1
11) primary-participant true
12) retrievable-attribute By default, the retrievable list is
empty, which means that all attributes
are retrievable.
13) storable-attribute By default, the storable list is
empty, which means that all attributes
are storable.
?) help
f) finish - create the new Join Participant
q) quit
Enter choice [f]: f
The Join Participant was created successfully.
we-proxy2
という名前のプロキシLDAPワークフロー要素にリンクされたjp-p2
という名前のセカンダリ参加要素を作成します。
dsconfig create-join-participant --element-name we-join \ --set participant-dn:dc=com2 \ --set participating-workflow-element:we-proxy2 \ --set primary-participant:false --type generic --participant-name jp-p2 \ --set participants-join-rule:jp-p1.uid=jp-p2.empid
セカンダリ参加要素を作成するには、次の情報を指定します。
>>>> Specify Oracle Unified Directory LDAP connection parameters
Directory server hostname or IP address [ip]:
Directory server administration port number [4444]:
Administrator user bind DN [cn=Directory Manager]:
Password for user 'cn=Directory Manager':
>>>> Configure the properties of the Join Participant
Property Value(s)
----------------------------------------------------------------------
1) enabled-operation compare, delete, modify, search
2) join-condition By default, no join condition is
defined. That is all entries
satisfying the original search filter
are considered for join.
3) joiner-type one-to-one
4) non-retrievable-attribute By default, the non-retrievable list
is empty, which means that all
attributes are retrievable.
5) non-storable-attribute By default, the non-storable list is
empty, which means that all attributes
are storable.
6) participant-bind-priority 0
7) participant-criticality true
8) participant-dn dc=com2
9) participants-join-rule jp-p1.uid=jp-p2.empid
10) participating-workflow-element we-proxy2
11) primary-participant false
12) retrievable-attribute By default, the retrievable list is
empty, which means that all attributes
are retrievable.
13) storable-attribute By default, the storable list is
empty, which means that all attributes
are storable.
?) help
f) finish - create the new Join Participant
q) quit
Enter choice [f]: f
The Join Participant was created successfully.
結合ワークフロー要素に使用する結合ポリシー・タイプを指定するには、ds-cfg-join-policy
パラメータを構成します。たとえば、--set join-policy:left-outer-join
などです。
必要に応じて、ODSMのグラフィカル・ユーザー・インタフェースを使用して結合ワークフロー要素を作成できます。
仮想データ・ソースからデータを効率的に表示または取得できるようにするために、Oracle Unified Directoryでは、自動的に検索結果を絞り込む2つのワークフロー要素を提供しています。GetRidOfDuplicate
ワークフロー要素またはHideByFilter
ワークフロー要素を、検索結果を返すワークフロー・チェーンに挿入できます。
このセクションには次のトピックが含まれます:
Oracle Unified Directoryのワークフローの詳細は、Oracle Fusion Middleware Oracle Unified Directory開発者ガイドのOUDプラグインおよびOUDワークフローに関する項を参照してください。
GetRidofDuplicate
ワークフロー要素を使用した検索結果からの重複エントリの排除GetRidofDuplicate
ワークフロー要素は、現在の検索操作の検索結果から、クライアント・アプリケーションにDNがすでに返されたすべてのエントリを削除します。これは、ワークフロー要素が、DNが同じ複数のエントリを返す可能性がある場合に有用です。
検索操作から重複エントリを排除するには、次のようにします。
結合ワークフロー要素など、重複エントリを返すワークフロー要素の前にGetRidOfDuplcate
ワークフロー要素を追加します。
次の例では、get-rid-of-duplicate WFE (next WFE=NEXT_WFE)
を作成します。
dsconfig create-workflow-element \ --set enabled:true \ --set next-workflow-element:NEXT_WFE \ --set cache-size:1000000 \ --type get-rid-of-duplicate \ --element-name example \ --hostname locahost \ --port 1444 \ -X \ --bindDN cn=Directory\ Manager \ --bindPasswordFile ****** \ --no-prompt
この例では、検索により1000000を超えない一意のエントリが返されます。
注意: この構成例では、作成されたワークフロー要素はワークフロー・チェーンの一部ではありません。また、完全な構成では、ワークフロー・チェーンを定義または作成し、ネットワーク・グループを更新する必要があります。 |
HideByFilter
ワークフロー要素を使用した検索結果のフィルタリングHideByFilter
ワークフロー要素を使用すると、仮想ディレクトリの検索によってエントリが返される詳細を制御できます。たとえば、Oracle Unified Directoryをアドレス帳ディレクトリとして使用している場合、カスタマ・サービス担当者のエントリのみを表示できます。まず、カスタマ・サービス担当者全員にCSR
のou
値を付与します。そうすると、hideFilter
がou=CSR
に設定されたHideByFilter
ワークフロー要素を使用できます。ディレクトリが検索されると、カスタマ・サービス担当者のエントリのみが返されます。
HideByFilterワークフロー要素を使用して検索結果をフィルタリングするには、次のようにします。
HideByFilter
ワークフロー要素を作成してリンクします。例:
dsconfig create-workflow-element \ --set enabled:true \ --set next-workflow-element:NEXT_WFE \ --set ldap-filter:ou=CSR \ --type hide-entries-by-filter \ --element-name example1 \ --hostname dosapano \ --port 1444 \ -X \ --bindDN cn=Directory\ Manager \ --bindPasswordFile ****** \ --no-prompt
表12-3に、HideByFilterプラグイン構成パラメータの概要を示しています。
表24-1 HideByFilterのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
エントリがldapURLフィルタに一致した場合は、そのエントリがLdapURLのベースDNの子である場合のみ、クライアント・アプリケーションに返されます。LDAPフィルタの他のすべてのフィールドは無視されます。 |
|
動的フィルタのユーザー・エントリが検索されるアダプタのリスト。リストが空の場合、またはユーザー・エントリがどのアダプタにも見つからない場合(現在のアダプタを含む)、動的フィルタは無視されます。 |
|
trueに設定された場合、管理ユーザーにフィルタリングが適用されます。このパラメータはオプションで、デフォルト値はfalseです。 |
person
エントリへのmemberof
ユーザー属性の追加この項では、memberof
ユーザー属性をperson
エントリに追加する方法について説明します。
VirtualMemberofワークフロー要素を定義するには、次の構成パラメータを使用します。
searchBase: person
エントリを含むグループを検索するベースのDN。
explicitRequestOnly: True
またはFalse
を指定します。
True (デフォルト): 返される属性として明示的にリクエストされている場合にのみ、memberof
属性をエントリに追加します。
False: 常にmemberof
属性をエントリに追加します。
member-attribute-name: 追加するmemberof
属性の名前。
注意: memberof 属性には、Oracle Virtual Directoryの収束のデフォルト値があります。
Oracle Virtual Directoryでは、 attributeTypes: ( 1.2.840.113556.1.2.102 NAME 'memberOf' DESC 'The distinguished name of the groups to which this object belongs' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 X-ORIGIN 'Microsoft Active Directory' ) |
DNリネームを構成するには、まずDNリネーム・ワークフロー要素を作成する必要があります。その後、次のDNリネーム・プロパティを変更できます。
クライアント・ベースDN
ソース・ベースDN
次のワークフロー要素
ブラック・リストの属性
ホワイト・リストの属性
このセクションには次のトピックが含まれます:
DNリネーム・ワークフロー要素を作成するには、次に示すように、dsconfig create-workflow-element
コマンドを使用します。
$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \ create-workflow-element \ --type dn-renaming \ --element-name RenameorgDN \ --set client-base-dn:ou=myorg,dc=example,dc=com \ --set next-workflow-element:load-bal-we1 \ --set source-base-dn:ou=people,dc=example,dc=com \ --set enabled:true
ここで:
--set client-base-dn
は、クライアント・ベースDNを示します。これは、ワークフロー・エントリ・ポイントです。
--set source-base-dn
は、エントリで変換後に使用する必要のあるベースDNを示します。これは、ワークフロー終了ポイントです。
--set next-workflow-element
は、プロキシ・アーキテクチャでDNリネーム・ワークフロー要素に続くワークフロー要素を示します。ここで、ワークフロー要素のタイプを指定できます。
次のdsconfig
コマンドを使用して、DNリネーム構成を表示および変更できます。
DNリネームの現行プロパティを表示するには、dsconfig get-workflow-element-prop
コマンドを使用します。
DNリネームのプロパティを変更するには、dsconfig set-workflow-element-prop
コマンドを使用します。次に例を示します。
$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \ set-workflow-element-prop \ --element-name RenameorgDN \ --set source-base-dn:ou=admin,dc=example,dc=com
この例では、source-base-dn
のみが変更されています。元のソース・ベースDNを指定する必要はありません。新しいもののみが必要です。
リネームが禁止されているDN属性のブラック・リストを作成するには、dsconfig set-workflow-element-prop
コマンドを使用します。次に例を示します。
$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \ set-workflow-element-prop --element-name RenameorgDN \ --set black-list-attributes:manager
属性にはDNタイプを指定する必要があります。
RDNを変更するには、まずRDN変更ワークフロー要素を作成する必要があります。その後、次のプロパティを変更できます。
クライアントRDN
ソースRDN
次のワークフロー要素
オブジェクト・クラス
DN属性
置換値
このセクションには次のトピックが含まれます:
RDN変更ワークフロー要素を作成するには、次に示すように、dsconfig create-workflow-element
コマンドを使用します。
dsconfig create-workflow-element \ --set client-rdn:cn \ --set enabled:true \ --set next-workflow-element:localproxy \ --set source-rdn:uid \ --type rdn-changing \ --element-name myrdnchangingwfe \ --hostname localhost \ --port "4444" \ --trustAll \ --bindDN cn=directory\ manager \ --bindPasswordFile pwd-file \ --no-prompt
ここで:
--set client-rdn
は、クライアント・ベースRDNを示します。これは、ワークフロー・エントリ・ポイントです。
--set source-rdn
は、エントリで変換後に使用する必要のあるベースRDNを示します。これは、ワークフロー終了ポイントです。
--set next-workflow-element:localproxy
は、プロキシ・アーキテクチャでRDN変更ワークフロー要素に続くワークフロー要素を示します。これは、どのようなタイプのワークフロー要素でもかまいません。
注意: 次のパラメータを使用して、プロキシLDAPワークフロー要素を作成する必要があります。
RDN変更ワークフロー要素では、これらの資格証明を使用して、リモート・サーバーでの内部検索が実行されます。 |
--element-name myrdnchangingwfe
は、作成しているRDN変更ワークフロー要素の名前を示します。
この構成によって、uid=user.1,ou=people,dc=example,dc=comがcn=User CN,ou=people,dc=example,dc=com
に置換されます。
RDN変更ワークフロー要素を構成した後で、次のdsconfig
コマンドを使用してRDN値を表示および変更できます。
RDNの現行プロパティを表示するには、dsconfig get-workflow-element-prop
コマンドを使用します。
RDNプロパティの名前を変更する、または置き換えるには、dsconfig set-workflow-element-prop
コマンドを使用します。
$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \ set-workflow-element-prop \ --element-name myrdnchangingwfe \ --set source-rdn:uid
この例では、source-rdn
のみが変更されています。元のsource-rdn
を指定する必要はありません。新しいもののみが必要です。
この項では、変換の構成モデルおよび変換を構成する2つのメソッドについて説明します。
このセクションには次のトピックが含まれます:
変換ワークフロー要素および変換は、変換構成の中心的なエンティティです。
変換ワークフロー要素は、変換への参照リストを含むコンテナです。1つの変換は複数の変換ワークフロー要素で再使用できます。条件は、変換ワークフロー要素または変換のいずれかに対して設定できるプロパティ(属性)です。
変換の実行順序は構成できません。たとえば、変換Aと変換Bを使用する変換ワークフロー要素を定義するとします。このとき、エントリに対して変換Aを先に実行してから変換Bを実行するように指定することはできません。Bの後にAである可能性もあります。
変換の実行順序を定義する必要がある場合、たとえば、変換Aを変換Bの前に実行する必要がある場合は、変換Aを使用する変換ワークフロー要素を最初に作成することをお薦めします。次に、変換Bを使用する別の変換ワークフロー要素を作成します。そして、2つ目の変換ワークフロー要素を最初の変換ワークフロー要素の後に配置します。
図24-1は、高レベルな構成モデルを示しています。
dsconfig
を使用した変換の構成この項では、例を使用して、dsconfig
CLIで変換を作成し、変換ワークフロー要素を作成し、変換を追加し、条件を関連付ける方法について説明します。
注意:
|
変換を構成するには、次のようにします。
まず、filter-outbound-attribute
タイプの変換を作成します。
$ dsconfig create-transformation -X -n -Q -p -D cn="directory manager" -j pwd-file \ --set source-attribute:description \ --type filter-outbound-attribute\ --transformation-name fodescription
add-outbound-attribute
タイプの別の変換を作成します。
$ dsconfig create-transformation -X -n -Q -p -D cn="directory manager" -j pwd-file \ --set client-attribute:legacyemail=%cn%.%sn%@mycompany.com \ --type add-outbound-attribute \ --transformation-name legacyemail
最初の変換でtransformations-workflow-element
を作成し、これを処理フローに追加します。
$ dsconfig create-workflow-element -X -n -Q -p -D cn="directory manager" -j pwd-file \ --set transformation:legacyemail \ --set set next-workflow-element:pxywfe \ --type transformations \ --element-name trsfwfe
$ sdsconfig set-workflow-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ --workflow-name pxywf \ --set workflow-element:trsfwfe
2つ目の変換をワークフロー要素に追加します。
$ dsconfig set-workflow-element-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ --element-name trsfwfe \ --add transformation:fodescription
cn=users
の下の変換のみ実行するという変換条件を定義します。
$ dsconfig set-workflow-element-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ --element-name trsfwfe \ --set entry-parent-suffix:cn=users,dc=example
パリにいるユーザーにのみ変換を適用するように設定します。
$ dsconfig set-workflow-element-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ --element-name trsfwfe \ --set entry-match-filter:l=Paris
新しいマッピング変換を作成し、これをワークフロー要素に追加します。
$ dsconfig create-transformation -X -n -Q -p -D cn="directory manager" -j pwd-file \ --set client-attribute:faxnum=%facsimileTelephoneNumber% \ --type map-attribute \ --transformation-name mapfax
$ dsconfig set-workflow-element-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ --element-name trsfwfe \ --add transformation:mapfax
この変換が人物に対してのみ適用されるように設定します。
$ dsconfig set-transformation-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ --transformation-name mapfax \ --set entry-match-filter:\(objectclass=person\)
ODSMを使用して、Oracle Unified Directoryプロキシ・サーバーの変換ワークフロー要素を作成、変更および削除できます。
このセクションには次のトピックが含まれます:
Oracle Unified Directoryプロキシ・サーバーに接続している場合、ODSMを使用して5つの異なるタイプの変換を作成できます。サポートされている変換タイプの詳細は、第12.7.2.1項「変換のタイプ」を参照してください。
注意: Oracle Unified Directoryサーバー・インスタンスに接続している場合、変換機能はプロキシ・サーバーでしかサポートされていないため、新規変換を作成するオプションは用意されません。 |
ODSMを使用して変換を作成するには、次のステップに従います:
第16.2項「ODSMを使用したサーバーへの接続」の説明に従って、ODSMからディレクトリ・サーバーに接続します。
「構成」タブを選択します。
「コア構成」ビューを選択します。
「作成」メニューから、「変換」を選択します。
「変換」サブメニューから、必要な変換タイプを選択します。
この例では、「アウトバウンド属性追加」変換タイプの次のプロパティを取り上げます。
「名前」フィールドに、変換の名前を入力します。
「条件」リージョンで、次の情報を入力します:
注意: 条件はオプションです。ただし、ここで変換レベルで指定するランタイム条件は、変換が使用される変換ワークフロー要素に変換ワークフロー要素レベルで指定される条件と組み合せて使用されます。変換ワークフロー要素の詳細は、第17.3.4項「ODSMを使用したワークフロー要素の構成」を参照してください。 |
「フィルタに一致するエントリ」フィールドに、有効なLDAPフィルタを入力します。
「エントリ親接尾辞」ボックスで、「追加」をクリックして、祖先にする必要のあるDNを指定します。
エントリを選択するには、「選択」をクリックします。
「エントリ・ピッカー」ウィンドウで、「ツリー・ビュー」を選択してディレクトリ・ツリーに移動し、対象のエントリを見つけるか、「検索ビュー」を選択して対象のエントリを検索します。
「除外された操作」リストから、除外する操作を選択します。
「変換定義」リージョンで、次の情報を入力します:
「クライアント属性」フィールドに、クライアント仮想属性の名前を入力します。
クライアント属性エントリを選択するには、「選択」をクリックします。
「属性ピッカー」ウィンドウで、目的のエントリを見つけて選択するか、または「検索」をクリックして目的のエントリを検索します。
「値定義」ボックスで、「追加」をクリックして、クライアント仮想属性の値定義を指定します。
「定義」をクリックして、適切な値定義を入力します。値定義の指定の詳細は、第24.6.3.4項「値定義画面からの値の選択」を参照してください。
「競合動作」リストから、必要な競合動作ポリシーを選択します。
「ソース内の仮想」をクリックして、「はい」に設定します。
「作成」をクリックします。
この項では、変換のプロパティを変更する方法を説明します。この例では、第24.6.3.1項「変換の作成」で作成した「アウトバウンド属性追加」変換タイプのプロパティを変更します。
変換を変更するには、次のステップを実行します:
第16.2項「ODSMを使用したサーバーへの接続」の説明に従って、ODSMからディレクトリ・サーバーに接続します。
「構成」タブを選択します。
「コア構成」ビューを選択します。
「変換」要素を開きます。
目的の変換をクリックします。
変更処理を実行できるように、右側のペインに変換構成の詳細が表示されます。
必要な情報を変更します。
「適用」をクリックします。
変換を削除するには、次のステップを実行します:
第16.2項「ODSMを使用したサーバーへの接続」の説明に従って、ODSMからディレクトリ・サーバーに接続します。
「構成」タブを選択します。
「コア構成」ビューを選択します。
「変換」要素を開きます。
削除する変換を選択します。
削除する前に確認を求める「構成の削除」ウィンドウが表示されます。
「OK」をクリックします。
値定義ビルダー・サブ画面を使用すると、変換によって追加、マップまたは削除される属性の値を定義できます。
次の値を指定できます。
定数値: 定数値の入力に使用します。
別の属性の値: 処理対象のエントリの既存の属性から新規属性を作成する場合、または別の属性から値をフィルタ処理して取得する場合に使用します。
式の値: 1つ以上の既存の属性の特定の値を操作ることによって、属性値を作成するまたは属性値をフィルタ処理する場合に使用します。
図24-3は、「値定義」画面を示しています。