24 仮想化の構成
次の各トピックでは、リポジトリの仮想ディレクトリ・ビューの構成方法を説明します。
この章では、DNリネーム、RDN変更および変換構成の概要も示します。
ノート:
ここで説明されている仮想ディレクトリ機能を使用するには、有効なOracle Directory Service Plus ライセンスが必要です。
ノート:
dsconfig
またはOracle Unified Directory Services Manager (OUDSM)を使用して一部の仮想化要素を構成することを選択できます。
-
dsconfig
コマンドの使用方法の詳細は、「dsconfigを使用したサーバー構成の管理」を参照してください。 -
OUDSMの使用方法の詳細は、「OUDSMを使用したOracle Unified Directoryへのアクセス」を参照してください。
24.1 リポジトリの仮想ディレクトリ・ビューの構成
dsconfig
コマンドまたはOUDSMを使用して、結合ワークフロー要素を作成して構成し、リポジトリの仮想ディレクトリ・ビューを作成できます。
次の各トピックでは、仮想ディレクトリ・ビューの構成について説明します。
ノート:
ここで説明されている仮想ディレクトリ機能を使用するには、有効なOracle Directory Service Plusライセンスが必要です。
24.1.1 結合ワークフロー要素を作成するための前提条件
結合ワークフロー要素を作成する前に、参加ワークフロー要素を構成し、結合ワークフロー要素の構成からリンクできるようにする必要があります。
たとえば、2つの個別のプロキシLDAPワークフロー要素があるシナリオについて考えます。
-
最初のプロキシLDAPワークフロー要素
we-proxy1
は、結合ワークフロー要素の構成のプライマリ参加要素にリンクされます。 -
2番目のプロキシLDAPワークフロー要素
we-proxy2
は、結合ワークフロー要素の構成のセカンダリ参加要素にリンクされます。
ノート:
プロキシLDAPワークフロー要素の作成の詳細は、「プロキシLDAPワークフロー要素の構成」を参照してください。
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
24.1.2 dsconfig
コマンドを使用した結合ワークフロー要素の作成
2つのプロキシLDAPワークフロー要素を使用するシナリオに基づいて、結合ワークフロー要素のトポロジを作成して構成できます。
2つのプロキシLDAPワークフロー要素については、「結合ワークフロー要素を作成するための前提条件」で説明されています。
ノート:
次のステップは、参加ワークフロー要素がすでに作成されていることを前提としています。
結合ワークフロー要素のトポロジを構成するには:
24.1.3 OUDSMを使用した結合ワークフロー要素の作成
OUDSMのグラフィカル・ユーザー・インタフェースを使用して結合ワークフロー要素を作成できます。
ノート:
詳細は、「ワークフロー要素の作成」を参照してください。
24.2 仮想ディレクトリからの検索結果の最適化
仮想データ・ソースからデータを効率的に表示または取得できるようにするために、Oracle Unified Directoryでは、自動的に検索結果を絞り込む2つのワークフロー要素を提供しています。
GetRidOfDuplicate
ワークフロー要素またはHideByFilter
ワークフロー要素を、検索結果を返すワークフロー・チェーンに挿入できます。
この項には次のトピックが含まれます:
Oracle Unified Directoryのワークフローの詳細は、『Oracle Fusion Middleware Oracle Unified Directory開発者ガイド』のOUDプラグインおよびOUDワークフローに関する項を参照してください。
24.2.1 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を超えない一意のエントリが返されます。
ノート:
この構成例では、作成されたワークフロー要素はワークフロー・チェーンの一部ではありません。また、完全な構成では、ワークフロー・チェーンを定義または作成し、ネットワーク・グループを更新する必要があります。
GetRidofDuplicate
には次の1つの構成パラメータがあります。
cache-size
cache-size
パラメータは必須です。これは、1回の検索操作でクライアントに返すことのできる最大エントリ数を指定します。
24.2.2 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
表24-1に、HideByFilterプラグイン構成パラメータの概要を示しています。
表24-1 HideByFilterのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
エントリがldapURLフィルタに一致した場合は、そのエントリがLdapURLのベースDNの子である場合のみ、クライアント・アプリケーションに返されます。LDAPフィルタの他のすべてのフィールドは無視されます。 |
|
動的フィルタのユーザー・エントリが検索されるアダプタのリスト。リストが空の場合、またはユーザー・エントリがどのアダプタにも見つからない場合(現在のアダプタを含む)、動的フィルタは無視されます。 |
|
trueに設定された場合、管理ユーザーにフィルタリングが適用されます。このパラメータはオプションで、デフォルト値はfalseです。 |
24.3 person
エントリへのmemberof
ユーザー属性の追加
memberof
ユーザー属性をperson
エントリに追加できます。これは、アプリケーションがグループ・メンバーシップを確認する必要があるが、グループに対する2つ目の検索の実行を回避する場合に役立ちます。
ノート:
詳細は、「personエントリへのmemberofユーザー属性の追加の理解」を参照してください。
VirtualMemberofワークフロー要素を定義するには、次の構成パラメータを使用します。
-
searchBase:
person
エントリを含むグループを検索するベースのDN。 -
explicitRequestOnly:
True
またはFalse
を指定します。-
True (デフォルト): 返される属性として明示的にリクエストされている場合にのみ、
memberof
属性をエントリに追加します。 -
False: 常に
memberof
属性をエントリに追加します。
-
-
member-attribute-name: 追加する
memberof
属性の名前。ノート:
memberof
属性には、Oracle Virtual Directoryの収束のデフォルト値があります。Oracle Virtual Directoryでは、
memberof
属性はuser
属性となります(操作不可)。定義は次のとおりです。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' )
24.4 DNリネームの実行
DNリネームを構成できます。dsconfigコマンドを使用して表示および変更できます。
次の各トピックでは、DNリネーム構成について説明します。
24.4.1 DNリネームの構成
DNリネームを構成するには、まずDNリネーム・ワークフロー要素を作成する必要があります。その後、DNリネーム・プロパティを変更できます。
次のDNリネームのプロパティを変更できます。
-
client base DN
-
source base DN
-
next workflow element
-
black list attributes
-
white list attributes
24.4.2 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リネーム・ワークフロー要素に続くワークフロー要素を示します。ここで、ワークフロー要素のタイプを指定できます。
24.4.3 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タイプを指定する必要があります。
24.5 RDN変更構成の実行
RDN変更構成を実行するには、dsconfig create-workflow-element
コマンドを使用してRDN変更ワークフロー要素を作成し、RDN値を変更します。
次の各トピックでは、RDN変更構成の実行方法について説明します。
24.5.1 RDN変更の構成
RDNを変更するには、まずRDN変更ワークフロー要素を作成する必要があります。その後、プロパティを変更できます。
次に示す必須プロパティを変更します。
-
client RDN
-
source RDN
-
next workflow element
-
objectclass
-
dn attributes
-
replace-value
ノート:
ここで説明されている仮想ディレクトリ機能を使用するには、有効なOracle Directory Service Plus
ライセンスが必要です。
24.5.2 RDN変更ワークフロー要素の作成
RDN変更ワークフロー要素を作成するには、dsconfig create-workflow-element
コマンドを使用します。
次のコマンドを使用して、RDN変更ワークフロー要素を作成します。
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ワークフロー要素を作成する必要があります。
-
remote-root-dn
-
remote-root-password
RDN変更ワークフロー要素では、これらの資格証明を使用して、リモート・サーバーでの内部検索が実行されます。
-
-
--element-name myrdnchangingwfe
は、作成しているRDN変更ワークフロー要素の名前を示します。この構成によって、
uid=user.1,ou=people,dc=example,dc=comがcn=User CN,ou=people,dc=example,dc=com
に置換されます。
24.6 変換の構成
dsconfig
およびOUDSMを使用して、変換を構成できます。
次の各トピックでは、変換構成モデルについて説明します。
ノート:
ここで説明されている仮想ディレクトリ機能を使用するには、有効なOracle Directory Service Plus
ライセンスが必要です。
ノート:
変換の詳細は、「変換フレームワークの理解」を参照してください。
24.6.1 構成モデルの理解
変換ワークフロー要素および変換は、変換構成の中心的なエンティティです。
変換ワークフロー要素は、変換への参照リストを含むコンテナです。1つの変換は複数の変換ワークフロー要素で再使用できます。条件は、変換ワークフロー要素または変換のいずれかに対して設定できるプロパティ(属性)です。
ノート:
変換ワークフロー要素に対して構成できる様々な変換タイプ、条件およびパラメータの詳細は、「変換のコンポーネント」を参照してください。
変換の実行順序は構成できません。たとえば、変換Aと変換Bを使用する変換ワークフロー要素を定義するとします。このとき、エントリに対して変換Aを先に実行してから変換Bを実行するように指定することはできません。Bの後にAである可能性もあります。
変換の実行順序を定義する必要がある場合、たとえば、変換Aを変換Bの前に実行する必要がある場合は、変換Aを使用する変換ワークフロー要素を最初に作成することをお薦めします。次に、変換Bを使用する別の変換ワークフロー要素を作成します。そして、2つ目の変換ワークフロー要素を最初の変換ワークフロー要素の後に配置します。
図24-1は、高レベルな構成モデルを示しています。
24.6.2 dsconfig
を使用した変換の構成
dsconfig
CLIを使用して、変換およびワークフロー要素を作成し、変換を追加し、条件を関連付けることができます。
ノート:
-
OUDSMを使用して変換ワークフロー要素を作成するには、「OUDSMを使用した変換の構成」を参照してください。
-
変換、変換ワークフロー要素および条件の詳細は、「変換フレームワークの理解」を参照してください。
変換を構成するには:
24.6.3 OUDSMを使用した変換の構成
OUDSMを使用して、Oracle Unified Directoryプロキシ・サーバーの変換ワークフロー要素を作成、変更および削除できます。
ノート:
dsconfig
を使用して変換ワークフロー要素を作成するには、「dsconfigを使用した変換の構成」を参照してください。
この項には次のトピックが含まれます:
24.6.3.1 変換の作成
Oracle Unified Directoryプロキシ・サーバーに接続している場合、OUDSMを使用して5つの異なるタイプの変換を作成できます。
サポートされている変換タイプの詳細は、「変換タイプの概要」を参照してください。
ノート:
Oracle Unified Directoryサーバー・インスタンスに接続している場合、変換機能はプロキシ・サーバーでのみサポートされるため、新規変換を作成するオプションは用意されません。
OUDSMを使用して変換を作成するには:
-
「OUDSMを使用したサーバーへの接続」の説明に従って、OUDSMからディレクトリ・サーバーに接続します。
-
「構成」タブを選択します。
-
「コア構成」ビューを選択します。
-
「作成」メニューから、「変換」を選択します。
-
「変換」サブメニューから、必要な変換タイプを選択します。
この例では、「アウトバウンド属性追加」変換タイプの次のプロパティを取り上げます。
ノート:
変換の作成時に表示されるプロパティは、作成している変換のタイプによって異なります。各変換タイプおよび関連プロパティの詳細は、「変換タイプの概要」を参照してください。
-
「名前」フィールドに、変換の名前を入力します。
-
「条件」リージョンで、次の情報を入力します:
ノート:
条件はオプションです。ただし、ここで変換レベルで指定するランタイム条件は、変換が使用される変換ワークフロー要素に変換ワークフロー要素レベルで指定される条件と組み合せて使用されます。変換ワークフロー要素の詳細は、「OUDSMを使用したワークフロー要素の構成」を参照してください。
-
「フィルタに一致するエントリ」フィールドに、有効なLDAPフィルタを入力します。
-
「エントリ親接尾辞」ボックスで、「追加」をクリックして、祖先にする必要のあるDNを指定します。
エントリを選択するには、「選択」をクリックします。
「エントリ・ピッカー」ウィンドウで、「ツリー・ビュー」を選択してディレクトリ・ツリーに移動し、対象のエントリを見つけるか、「検索ビュー」を選択して対象のエントリを検索します。
-
「除外された操作」リストから、除外する操作を選択します。
-
-
「変換定義」リージョンで、次の情報を入力します:
-
「クライアント属性」フィールドに、クライアント仮想属性の名前を入力します。
クライアント属性エントリを選択するには、「選択」をクリックします。
「属性ピッカー」ウィンドウで、目的のエントリを見つけて選択するか、または「検索」をクリックして目的のエントリを検索します。
-
「値定義」ボックスで、「追加」をクリックして、クライアント仮想属性の値定義を指定します。
「定義」をクリックして、適切な値定義を入力します。値定義の指定の詳細は、「値定義画面からの値の選択」を参照してください。
-
-
「競合動作」リストから、必要な競合動作ポリシーを選択します。
-
「ソース内の仮想」をクリックして、「はい」に設定します。
-
「作成」をクリックします。
24.6.3.4 値定義画面からの値の選択
値定義ビルダー・サブ画面を使用すると、変換によって追加、マップまたは削除される属性の値を定義できます。
次の値を指定できます。
-
定数値: 定数値の入力に使用します。
-
別の属性の値: 処理対象のエントリの既存の属性から新規属性を作成する場合、または別の属性から値をフィルタ処理して取得する場合に使用します。
-
式の値: 1つ以上の既存の属性の特定の値を操作ることによって、属性値を作成するまたは属性値をフィルタ処理する場合に使用します。
図24-3は、「値定義」画面を示しています。
24.7 SAML XASPの構成
dsconfig
コマンドでは、新しいSAML XASPワークフロー要素を作成して、既存のワークフロー要素のプロパティを編集することもできます。
24.8 ForkJoinワークフロー要素構成モデルのデプロイ
dsconfig
コマンドでは、ForkJoinワークフロー要素を作成および構成できます。
24.8.1 ForkJoinワークフロー要素構成モデルの理解
たとえば、oud1
とoud2
の名前の2つのディレクトリ・サーバーがあるとします。ここで、oud1
はプライマリ参加要素、oud2
はセカンダリ参加要素です。データは、プライマリ参加要素とセカンダリ参加要素の両方にあります。
このシナリオでは、次のことを前提とします。
-
プライマリ参加要素のネームスペースは
dc=example,dc=com
です。 -
セカンダリ参加要素のネームスペースは
dc=example,dc=com
です。 -
ForkJoinワークフロー要素の接尾辞は
dc=forkjoin
です。
ForkJoinワークフロー要素を作成する前に、参加ワークフロー要素を構成し、ForkJoinワークフロー要素の構成からリンクできるようにする必要があります。ディレクトリから情報を取得には、ディレクトリごとに、そのディレクトリに関連付けられるプロキシLDAPワークフロー要素を作成する必要があります。たとえば、2つの個別のプロキシLDAPワークフロー要素があるシナリオについて考えます。
-
最初のプロキシLDAPワークフロー要素
ProxyLDAPWorkFlowElement1
は、ForkJoinワークフロー要素の構成のプライマリ参加要素にリンクされます。 -
2番目のプロキシLDAPワークフロー要素
ProxyLDAPWorkFlowElement2
は、ForkJoinワークフロー要素の構成のセカンダリ参加要素にリンクされます。
ノート:
RDBMSワークフロー要素をプライマリまたはセカンダリ参加要素として構成することもできます。oud3
は、ProxyLDAPWorkFlowElement1
から(oud1
まで)、ProxyLDAPWorkFlowElement2
から(oud2
まで)の前述の参加要素を指すForkJoinワークフロー要素が含まれる、プロキシ・ワークフロー要素であるとします。ForkJoinワークフロー要素構成のデプロイ方法を学習するには、「ForkJoinワークフロー要素構成モデルの実装」を参照してください。
次に図は、ForkJoinワークフロー要素構成モデルを表したものです。
secondary-only-attributes
パラメータは、ForkJoinワークフロー要素でtitle
に設定され、join-rule
はcn=cn
として設定されます。次の表に示すように、セカンダリ参加要素のデータにはdescription
属性はありません。
次の表に、プライマリ参加要素とセカンダリ参加要素にあるデータを示します。
表24-2 プライマリ参加要素およびセカンダリ参加要素のデータ
プライマリ参加要素のデータ | セカンダリ参加要素のデータ |
---|---|
|
|
|
|
|
|
|
|
24.8.2 ForkJoinワークフロー要素構成モデルの実装
dsconfig
コマンドを使用して、ForkJoinワークフロー要素を作成して構成し、2つのデータ・ソースからデータを同時に集約できます。
ノート:
ForkJoinワークフロー要素構成モデルの詳細は、「ForkJoinワークフロー要素構成モデルの理解」を参照してください。24.8.2.1 ForkJoinワークフロー要素構成の準備
ForkJoinワークフロー要素構成をデプロイするには、OUDディレクトリ・サーバー・インスタンスとOUDプロキシ・サーバー・インスタンスを設定する必要があります。結合するデータ・ソースの前にプロキシ・サーバーを配置する必要があります。
1つ目のOUDインスタンス(oud1
)の設定
-
次のように、
oud-setup
コマンドを実行して、oud1
を作成します。./oud-setup --cli --baseDN "dc=example,dc=com" --addBaseEntry --adminConnectorPort 1444 --ldapPort 1389 \ --rootUserDN "cn=Directory Manager" --rootUserPasswordFile pwd.txt --no-prompt --noPropertiesFile
-
oud1
ディレクトリ・サーバー・インスタンスにサンプル・エントリを移入します。-
「ForkJoinワークフロー要素構成モデルの理解」の説明に従って、プライマリ参加要素のデータでLDIFファイル(
fj_oud1.ldif
)を作成します。 -
ldapmodify
コマンドを実行して、oud1
インスタンスにfj_oud1.ldif
ファイルのエントリを移入します。./ldapmodify --hostname host01.example.com --port 1389 --bindDN "cn=Directory Manager" --bindPasswordFile pwd.txt --defaultAdd --filename fj_oud1.ldif
-
2つ目のOUDインスタンス(oud2
)の設定
-
次のように、
oud-setup
コマンドを実行して、oud2
を作成します。./oud-setup --cli --baseDN "dc=example,dc=com" --addBaseEntry --adminConnectorPort 2444 --ldapPort 2389 \ --rootUserDN "cn=Directory Manager" --rootUserPasswordFile pwd.txt --no-prompt --noPropertiesFile
-
oud2
ディレクトリ・サーバー・インスタンスにサンプル・エントリを移入します。-
「ForkJoinワークフロー要素構成モデルの理解」の説明に従って、セカンダリ参加要素のデータでLDIFファイル(
fj_oud2.ldif
)を作成します。 -
ldapmodify
コマンドを実行して、oud2
インスタンスにfj_oud2.ldif
ファイルのエントリを移入します。./ldapmodify --hostname host01.example.com --port 2389 --bindDN "cn=Directory Manager" --bindPasswordFile pwd.txt --defaultAdd --filename fj_oud2.ldif
-
OUDプロキシ・サーバー・インスタンス(oud3
)の設定
-
次のように、
oud-proxy-setup
コマンドを実行して、プロキシ・サーバー・インスタンスoud3
を作成します。./oud-proxy-setup --cli --ldapPort 3389 --adminConnectorPort 3444 --rootUserDN "cn=Directory Manager" --rootUserPasswordFile pwd.txt
24.8.2.2 ForkJoinワークフロー要素の構成のためのOUDプロキシ・サーバーの構成
リモートLDAPディレクトリ・サーバーに接続するには、LDAPサーバー拡張とLDAPプロキシ・ワークフロー要素がOracle Unified Directoryプロキシに必要です。
LDAPサーバー拡張は、OUDプロキシoud3
からリモートLDAPサーバー(oud1
およびoud2
)に接続するのに必要なプロパティです。oud1
およびoud2
のLDAPサーバー拡張を作成します。これらの拡張は、後でワークフロー構成に使用します。
また、oud1
およびoud2
のプロキシ・ワークフロー要素を作成する必要があります。これらは、リモートLDAPサーバーとの接続の詳細と資格証明を指定します。
-
oud1
を指すLDAPサーバー拡張(LDAPServerExtension1
)を作成します。./dsconfig create-extension \ --set enabled:true \ --set remote-ldap-server-address:host01.example.com \ --set remote-ldap-server-port:1389 \ --type ldap-server \ --extension-name LDAPServerExtension1 \ --hostname host01.example.com \ --port 3444 \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
oud1
を指すLDAPプロキシ・ワークフロー要素(ProxyLDAPWorkFlowElement1
)を作成します。./dsconfig create-workflow-element \ --set client-cred-mode:use-client-identity \ --set enabled:true \ --set ldap-server-extension:LDAPServerExtension1 \ --type proxy-ldap \ --element-name ProxyLDAPWorkFlowElement1 \ --hostname host01.example.com \ --port 3444 \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
oud2
を指すLDAPサーバー拡張(LDAPServerExtension2
)を作成します。./dsconfig create-extension \ --set enabled:true \ --set remote-ldap-server-address:host01.example.com \ --set remote-ldap-server-port:2389 \ --type ldap-server \ --extension-name LDAPServerExtension2 \ --hostname host01.example.com \ --port 3444 \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
oud2
を指すLDAPプロキシ・ワークフロー要素(ProxyLDAPWorkFlowElement2
)を作成します。./dsconfig create-workflow-element \ --set client-cred-mode:use-client-identity \ --set enabled:true \ --set ldap-server-extension:LDAPServerExtension2 \ --type proxy-ldap \ --element-name ProxyLDAPWorkFlowElement2 \ --hostname host01.example.com \ --port 3444 \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
dsconfig
コマンドを実行して、サーバー拡張を表示します。./dsconfig -h host01.example.com -p 3444 -D "cn=Directory Manager" --bindPasswordFile pwd.txt -X -n list-extensions
-
dsconfig
コマンドを実行して、プロキシLDAPワークフロー要素を表示します。./dsconfig -h host01.example.com -p 3444 -D "cn=Directory Manager" --bindPasswordFile pwd.txt -X -n list-workflow-elements
24.8.2.3 ForkJoinワークフロー要素の作成
dsconfig
コマンドを使用して、ForkJoinワークフロー要素を作成できます。
-
join-suffix
dc=forkjoin
のタイプfork-join
のワークフロー要素を作成します。./dsconfig create-workflow-element \ --set enabled:true \ --set join-suffix:dc=forkjoin \ --set populate-joinedentrydn:true \ --set secondary-only-attributes:title \ --type fork-join \ --element-name fjwe1 \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
join-suffix
dc=forkjoin
のタイプgeneric
のワークフローを作成します。./dsconfig create-workflow \ --set base-dn:dc=forkjoin \ --set enabled:true \ --set workflow-element:fjwe1 \ --type generic \ --workflow-name forkjoinwf \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
24.8.2.4 ForkJoinワークフロー要素の構成
dsconfig
コマンドを使用して、ForkJoinワークフロー要素を構成できます。
-
ForkJoinワークフロー要素と
oud1
間をリンクするプライマリForkJoin参加要素を作成します。./dsconfig create-primary-fork-join-participant \ --element-name fjwe1 \ --set participant-dn:dc=example,dc=com \ --set participating-workflow-element:ProxyLDAPWorkFlowElement1 \ --type generic \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
ForkJoinワークフロー要素と
oud2
間をリンクするセカンダリForkJoin参加要素を作成します。./dsconfig create-secondary-fork-join-participant \ --element-name fjwe1 \ --set participant-dn:dc=example,dc=com \ --set participating-workflow-element:ProxyLDAPWorkFlowElement2 \ --set participants-join-rule:cn=cn \ --type generic \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
ForkJoinワークフロー要素の
secondary-only-attributes
プロパティを構成します。./dsconfig --hostname host01.example.com --port 3444 --trustAll --bindDN "cn=Directory Manager" \ --bindPasswordFile pwd.txt --no-prompt set-workflow-element-prop --element-name fjwe1 --add secondary-only-attributes:description
-
ForkJoinワークフロー要素(
forkjoinwf
)をネットワーク・グループにアタッチします。./dsconfig set-network-group-prop \ --group-name network-group \ --set workflow:forkjoinwf \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
24.8.2.5 ForkJoinワークフロー要素の結合ポリシーの構成
ForkJoinワークフロー要素では、standard-join
、left-outer-join
およびfull-outer-join
の結合ポリシーをサポートしています。結合ポリシーの構成を学習します。
-
join-policyパラメータを
full-outer-join
に設定します。./dsconfig set-secondary-fork-join-participant-prop \ --element-name fjwe1 \ --set join-policy:full-outer-join \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
join-policyパラメータを
standard-join
に設定します。./dsconfig set-secondary-fork-join-participant-prop \ --element-name fjwe1 \ --set join-policy:standard-join \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
-
join-policyパラメータを
left—outer-join
に設定します。./dsconfig set-secondary-fork-join-participant-prop \ --element-name fjwe1 \ --set join-policy:left-outer-join \ --hostname host01.example.com \ --port 3444 \ --portProtocol LDAP \ --trustAll \ --bindDN cn=Directory\ Manager \ --bindPasswordFile pwd.txt \ --no-prompt
24.8.2.6 ForkJoinワークフロー要素の構成の検証
ForkJoinワークフロー要素の構成の検証を学習します。
-
full-outer-join
条件をテストするには、次のようにldapsearch
コマンドを実行します。./ldapsearch -h host01.example.com -p 3389 -D "cn=Directory Manager" -j pwd.txt -b "dc=forkjoin" -s sub "|(sn=*e*)(title=*e*)" sn cn title
cn=Rock,dc=forkjoin sn=Anne cn=Rock title=Manager cn=Sandy,dc=forkjoin sn=Ketty cn=Sandy title=SMTS cn=Woods,dc=forkjoin sn=Tent cn=Woods cn=Rivry,dc=forkjoin sn=Rod cn=Rivry title=Trainee cn=Mounty,dc=forkjoin sn=Ret cn=Mounty title=MTS - dept_sec
-
standard-join
条件をテストするには、次のようにldapsearch
を実行します。./ldapsearch -h host01.example.com -p 3389 -D "cn=Directory Manager" -j pwd.txt -b "dc=forkjoin" -s sub "|(sn=*e*)(title=*e*)" sn cn title
cn=Rock,dc=forkjoin sn=Anne cn=Rock title=Manager cn=Sandy,dc=forkjoin sn=Ketty cn=Sandy title=SMTS cn=Woods,dc=forkjoin sn=Tent cn=Woods
-
left—outer-join
条件をテストするには、次のようにldapsearch
を実行します。./ldapsearch -h host01.example.com -p 3389 -D "cn=Directory Manager" -j pwd.txt -b "dc=forkjoin" -s sub "|(sn=*e*)(title=*e*)" sn cn title
cn=Rock,dc=forkjoin sn=Anne cn=Rock title=Manager cn=Sandy,dc=forkjoin sn=Ketty cn=Sandy title=SMTS cn=Woods,dc=forkjoin sn=Tent cn=Woods cn=Rivry,dc=forkjoin sn=Rod cn=Rivry title=Trainee
24.9 DynamicGroupワークフロー要素の構成
dsconfig
を使用して、DynamicGroupワークフロー要素を構成できます。
24.9.1 DynamicGroupワークフロー要素構成モデルの理解
DynamicGroupワークフロー要素構成について学習します。
次の図に、DynamicGroupワークフロー要素構成について示します。
前述の例では、バックエンド・ディレクトリごとに、バックエンド・ディレクトリから情報を取得するProxyLDAPWorkflowElement
が作成されます。バインドDNに応じて、network-group
経由で検索がルーティングされ、workflow
要素dgw
またはp2w
に転送されます。DynamicGroupsWorkflowElement
では、プロキシLDAPワークフロー要素に依存するディレクトリ・サーバーとの対話を実行しません。
このシナリオでは、次のことを想定しています。
-
接尾辞
dc=p1
が含まれるProxyLDAPWorkflowElement
pwe1
にoud1
が関連付けられている。 -
接尾辞
dc=p2
が含まれるProxyLDAPWorkflowElement
pwe2
にoud2
が関連付けられている -
oud3
が、前述のフロントエンドOUD1
およびOUD2
がProxyLDAPWorkflowElement
pwe1
およびpwe2
をそれぞれ使用しているOUDプロキシ・サーバーである。oud1
に存在する動的グループを処理するために、DynamicGroupsWorkflowElement
はProxyLDAPWorkflowElement
pwe1
の上部に構成されます。 -
LDAPExt1
およびLDAPExt2
がLDAPServerExtensions
である。
24.9.2 DynamicGroupワークフロー要素構成モデルの実装
DynamicGroupワークフロー要素構成の実装方法を学習します。
24.9.3 DynamicGroupワークフロー要素構成のテスト
動的グループ・ワークフロー構成のテスト方法を学習します。
次の項では、動的グループ構成のテスト方法について説明します。
24.9.3.1 memberURL
属性の拡張あり/なしの場合のDynamicGroupsのテスト
memberURL
属性の拡張あり/なしの場合の動的グループのテスト方法を学習します。
memberURL
属性拡張に基づいて、LDAPエントリを確認します。
ノート:
DynamicGroupにobjectclass=groupOfUniqueNames
およびobjectclass=groupOfUrls
がある場合は、次のように--advanced
オプションを使用してsingle-structural-objectclass-behavior:accept
パラメータを変更する必要があります:
./dsconfig set-global-configuration-prop --set single-structural-objectclass-behavior:accept --advanced
single-structural-objectclass-behavior:accept
パラメータを構成するには、『Oracle Unified Directory構成リファレンス』のsingle-structural-objectclass-behavior
を参照してください。
24.9.3.2 グループ・メンバーシップのテスト
DynamicGroupsワークフロー要素では、cn
およびuniqueMember
フィルタ項目の両方の有無を検出することで、メンバーシップ・テストの問合せを検出します。存在する場合、DynamicGroupsワークフローは、クライアントでメンバーシップ・アサーションのテストが必要であることを確認し、別の方法で問合せを処理します。ワークフロー要素により結果が変更され、テスト中にメンバーとして1人のユーザーのみが返されます。
cn=Jim Ward
がグループのuniqueMember
属性に設定された1人のユーザーのみが問合せの結果になります。