24 仮想化の構成

リポジトリの仮想ディレクトリ・ビューを構成し、仮想ディレクトリからの検索結果を最適化できます

次の各トピックでは、リポジトリの仮想ディレクトリ・ビューの構成方法を説明します。

この章では、DNリネーム、RDN変更および変換構成の概要も示します。

ノート:

ここで説明されている仮想ディレクトリ機能を使用するには、有効なOracle Directory Service Plus ライセンスが必要です。

ノート:

dsconfigまたはOracle Unified Directory Services Manager (OUDSM)を使用して一部の仮想化要素を構成することを選択できます。

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ワークフロー要素については、「結合ワークフロー要素を作成するための前提条件」で説明されています。

ノート:

次のステップは、参加ワークフロー要素がすでに作成されていることを前提としています。

結合ワークフロー要素のトポロジを構成するには:

  1. 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
    
  2. 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.
    
  3. 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.
    
  4. 結合ワークフロー要素に使用する結合ポリシー・タイプを指定するには、ds-cfg-join-policyパラメータを構成します。たとえば、--set join-policy:left-outer-joinなどです。

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をアドレス帳ディレクトリとして使用している場合、カスタマ・サービス担当者のエントリのみを表示できます。まず、カスタマ・サービス担当者全員にCSRou値を付与します。そうすると、hideFilterou=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のパラメータ

パラメータ 説明

hideFilter

  • 静的フィルタ 例: hideFilter = (department=Sales)の場合、属性がdepartment=Salesのエントリのみがクライアント・アプリケーションに返されます。

  • 動的フィルタ 例: hideFilter = (department=%department%)の場合、%department%はバインドされたユーザーの属性値departmentに置き換えられます。

ldapURL (複数値)

エントリがldapURLフィルタに一致した場合は、そのエントリがLdapURLのベースDNの子である場合のみ、クライアント・アプリケーションに返されます。LDAPフィルタの他のすべてのフィールドは無視されます。

adapterNames

動的フィルタのユーザー・エントリが検索されるアダプタのリスト。リストが空の場合、またはユーザー・エントリがどのアダプタにも見つからない場合(現在のアダプタを含む)、動的フィルタは無視されます。

applyForAdmin

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.5.3 RDN値の変更

RDN変更ワークフロー要素を構成した後で、dsconfigコマンドを使用してRDN値を表示および変更できます。

  1. RDNの現行プロパティを表示するには、dsconfig get-workflow-element-propコマンドを使用します。
  2. 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を指定する必要はありません。新しいもののみが必要です。

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を使用して、変換およびワークフロー要素を作成し、変換を追加し、条件を関連付けることができます。

ノート:

変換を構成するには:

  1. まず、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
    
  2. 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
    
  3. 最初の変換で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
    
  4. 2つ目の変換をワークフロー要素に追加します。
    $ dsconfig set-workflow-element-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ 
    --element-name trsfwfe \ 
    --add transformation:fodescription
    
  5. 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
    
  6. パリにいるユーザーにのみ変換を適用するように設定します。
    $ 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
    
  7. 新しいマッピング変換を作成し、これをワークフロー要素に追加します。
    $ 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
    
  8. この変換が人物に対してのみ適用されるように設定します。
    $ dsconfig set-transformation-prop -X -n -Q -p -D cn="directory manager" -j pwd-file \ 
    --transformation-name mapfax \ 
    --set entry-match-filter:\(objectclass=person\)

24.6.3 OUDSMを使用した変換の構成

OUDSMを使用して、Oracle Unified Directoryプロキシ・サーバーの変換ワークフロー要素を作成、変更および削除できます。

ノート:

dsconfigを使用して変換ワークフロー要素を作成するには、「dsconfigを使用した変換の構成」を参照してください。

この項には次のトピックが含まれます:

24.6.3.1 変換の作成

Oracle Unified Directoryプロキシ・サーバーに接続している場合、OUDSMを使用して5つの異なるタイプの変換を作成できます。

サポートされている変換タイプの詳細は、「変換タイプの概要」を参照してください。

ノート:

Oracle Unified Directoryサーバー・インスタンスに接続している場合、変換機能はプロキシ・サーバーでのみサポートされるため、新規変換を作成するオプションは用意されません。

OUDSMを使用して変換を作成するには:

  1. 「OUDSMを使用したサーバーへの接続」の説明に従って、OUDSMからディレクトリ・サーバーに接続します。

  2. 「構成」タブを選択します。

  3. 「コア構成」ビューを選択します。

  4. 「作成」メニューから、「変換」を選択します。

  5. 「変換」サブメニューから、必要な変換タイプを選択します。

    この例では、「アウトバウンド属性追加」変換タイプの次のプロパティを取り上げます。

    ノート:

    変換の作成時に表示されるプロパティは、作成している変換のタイプによって異なります。各変換タイプおよび関連プロパティの詳細は、「変換タイプの概要」を参照してください。

  6. 「名前」フィールドに、変換の名前を入力します。

  7. 「条件」リージョンで、次の情報を入力します:

    ノート:

    条件はオプションです。ただし、ここで変換レベルで指定するランタイム条件は、変換が使用される変換ワークフロー要素に変換ワークフロー要素レベルで指定される条件と組み合せて使用されます。変換ワークフロー要素の詳細は、「OUDSMを使用したワークフロー要素の構成」を参照してください。

    1. 「フィルタに一致するエントリ」フィールドに、有効なLDAPフィルタを入力します。

    2. 「エントリ親接尾辞」ボックスで、「追加」をクリックして、祖先にする必要のあるDNを指定します。

      エントリを選択するには、「選択」をクリックします。

      「エントリ・ピッカー」ウィンドウで、「ツリー・ビュー」を選択してディレクトリ・ツリーに移動し、対象のエントリを見つけるか、「検索ビュー」を選択して対象のエントリを検索します。

    3. 「除外された操作」リストから、除外する操作を選択します。

  8. 「変換定義」リージョンで、次の情報を入力します:

    1. 「クライアント属性」フィールドに、クライアント仮想属性の名前を入力します。

      クライアント属性エントリを選択するには、「選択」をクリックします。

      「属性ピッカー」ウィンドウで、目的のエントリを見つけて選択するか、または「検索」をクリックして目的のエントリを検索します。

    2. 「値定義」ボックスで、「追加」をクリックして、クライアント仮想属性の値定義を指定します。

      「定義」をクリックして、適切な値定義を入力します。値定義の指定の詳細は、「値定義画面からの値の選択」を参照してください。

  9. 「競合動作」リストから、必要な競合動作ポリシーを選択します。

  10. 「ソース内の仮想」をクリックして、「はい」に設定します。

  11. 「作成」をクリックします。

24.6.3.2 変換の変更

この項では、変換のプロパティを変更する方法を説明します。

この例では、「変換の作成」で作成した「アウトバウンド属性追加」変換タイプのプロパティを変更します。

変換を変更するには:

  1. 「OUDSMを使用したサーバーへの接続」の説明に従って、OUDSMからディレクトリ・サーバーに接続します。
  2. 「構成」タブを選択します。
  3. 「コア構成」ビューを選択します。
  4. 「変換」要素を開きます。
  5. 目的の変換をクリックします。

    変更処理を実行できるように、右側のペインに変換構成の詳細が表示されます。

  6. 必要な情報を変更します。
  7. 「適用」をクリックします。
24.6.3.3 変換の削除

この項では、OUDSMを使用して変換を削除する手順について説明します。

変換を削除するには:

  1. 「OUDSMを使用したサーバーへの接続」の説明に従って、OUDSMからディレクトリ・サーバーに接続します。
  2. 「構成」タブを選択します。
  3. 「コア構成」ビューを選択します。
  4. 「変換」要素を開きます。
  5. 削除する変換を選択します。

    削除する前に確認を求める「構成の削除」ウィンドウが表示されます。

  6. 「OK」をクリックします。
24.6.3.4 値定義画面からの値の選択

値定義ビルダー・サブ画面を使用すると、変換によって追加、マップまたは削除される属性の値を定義できます。

次の値を指定できます。

  • 定数値: 定数値の入力に使用します。

  • 別の属性の値: 処理対象のエントリの既存の属性から新規属性を作成する場合、または別の属性から値をフィルタ処理して取得する場合に使用します。

  • 式の値: 1つ以上の既存の属性の特定の値を操作ることによって、属性値を作成するまたは属性値をフィルタ処理する場合に使用します。

図24-3は、「値定義」画面を示しています。

図24-3 「値定義」画面

図24-3の説明が続きます
「図24-3 「値定義」画面」の説明

24.7 SAML XASPの構成

dsconfigコマンドでは、新しいSAML XASPワークフロー要素を作成して、既存のワークフロー要素のプロパティを編集することもできます。

24.7.1 dsconfigコマンドを使用した新しいSAML XASPワークフロー要素の作成

dsconfig create-workflow-element --type saml-xaspコマンドでは、新しいSAML XASPワークフロー要素を作成できます。

新しいSAML XASPワークフロー要素を作成するには:
  1. dsconfig create-workflow-element --type saml-xaspコマンドを実行します。
    $ ./dsconfig create-workflow-element \
    	--type saml-xasp \
    	--set enabled:true \
    	--set java-class:org.opends.server.workflowelement.ovdplugin.xasp.SamlXaspWorkflowElement \
    	--element-name test01 \
    	--set xasp-attribute-name:certificatedn \
    	--set xasp-base-dn:dc=example,dc=com \
    	--set xasp-contains-dn:dc=example,dc=com \
    	--set xasp-ws-url:http://host01.example.com:7777/fed/ar/soap
    	--hostname host01.example.com \
    	--port 6444 
    	--bindDN "cn=Directory Manager" \
    	--bindPasswordFile /home/oracle/pwd.txt \
    
    
    >>>> Configure the properties of the Saml Xasp Workflow Element
    
             Property             Value(s)
             ----------------------------------------------------------------------
        1)   enabled              true
        2)   java-class           org.opends.server.workflowelement.ovdplugin.xasp.
                                  SamlXaspWorkflowElement
        3)   xasp-attribute-name  certificatedn
        4)   xasp-base-dn         "dc=example,dc=com"
        5)   xasp-contains-dn     "dc=example,dc=com"
        6)   xasp-debug           false
        7)   xasp-index           -
        8)   xasp-response        -
        9)   xasp-reverse-dn      false
        10)  xasp-ttl             -
        11)  xasp-ws-url          http://host01.example.com:7777/fed/ar/soap
    
        ?)   help
        f)   finish - create the new Saml Xasp Workflow Element
        q)   quit
    
    Enter choice [f]: 
    
    The Saml Xasp Workflow Element was created successfully
    

    SAML XASPワークフロー要素の構成プロパティの詳細は、「SAML XASPワークフロー要素の構成パラメータ」を参照してください。

24.7.2 既存のSAML XASPワークフロー要素のプロパティの変更

dsconfig set-workflow-element-propコマンドでは、既存のSAML XASPワークフロー要素のプロパティを編集できます。

既存のSAML XASPプロパティを変更するには:
  1. dsconfig set-workflow-element-propコマンドを実行します。
    $ ./dsconfig set-workflow-element-prop \
    	--element-name test01 \
    	--set xasp-attribute-name:certificatedn100 \
    	--hostname host01.example.com \
    	--port 6444 
    	--bindDN "cn=Directory Manager" \
    	--bindPasswordFile /home/oracle/pwd.txt \
    
    
    >>>> Configure the properties of the Saml Xasp Workflow Element
    
             Property             Value(s)
             ----------------------------------------------------------------------
        1)   enabled              true
        2)   java-class           org.opends.server.workflowelement.ovdplugin.xasp.
                                  SamlXaspWorkflowElement
        3)   xasp-attribute-name  certificatedn100
        4)   xasp-base-dn         "dc=example,dc=com"
        5)   xasp-contains-dn     "dc=example,dc=com"
        6)   xasp-debug           false
        7)   xasp-index           -
        8)   xasp-response        -
        9)   xasp-reverse-dn      false
        10)  xasp-ttl             -
        11)  xasp-ws-url          http://host01.example.com:7777/fed/ar/soap
    
        ?)   help
        f)   finish - apply any changes to the Saml Xasp Workflow Element
        q)   quit
    
    Enter choice [f]:  
    
    
    The Saml Xasp Workflow Element was modified successfully
    

    ノート:

    前述の例では、xasp-attribute-nameプロパティのみが変更されています。古いXASP属性名を指定する必要はありません。新しいもののみが必要です。

24.8 ForkJoinワークフロー要素構成モデルのデプロイ

dsconfigコマンドでは、ForkJoinワークフロー要素を作成および構成できます。

24.8.1 ForkJoinワークフロー要素構成モデルの理解

たとえば、oud1oud2の名前の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ワークフロー要素構成モデルを表したものです。

図24-4 ForkJoinワークフロー要素構成モデル

図24-4の説明が続きます
「図24-4 ForkJoinワークフロー要素の構成モデル」の説明

secondary-only-attributesパラメータは、ForkJoinワークフロー要素でtitleに設定され、join-rulecn=cnとして設定されます。次の表に示すように、セカンダリ参加要素のデータにはdescription属性はありません。

次の表に、プライマリ参加要素とセカンダリ参加要素にあるデータを示します。

表24-2 プライマリ参加要素およびセカンダリ参加要素のデータ

プライマリ参加要素のデータ セカンダリ参加要素のデータ
dn: cn=Rock,dc=example,dc=com
objectclass: inetorgperson
cn: Rock
sn: Anne
givenname: Anne rock
telephonenumber: 54300
dn: cn=Rock,dc=example,dc=com
objectclass: inetorgperson
cn: Rock
sn: Anne
title: Manager
dn: cn=Sandy,dc=example,dc=com
objectclass: inetorgperson
cn: Sandy
sn: Ketty
manager:  cn=Rock, dc=primary
telephonenumber: 54301
dn: cn=Sandy,dc=example,dc=com
objectclass: inetorgperson
cn: Sandy
sn: Ketty
title: SMTS
dn: cn=Rivry,dc=example,dc=com
objectclass: inetorgperson
cn: Rivry
sn: Rod
title: Trainee
manager: cn=Rock, dc=secondary
telephonenumber: 54303
description: Trainee for dept 543
departmentNumber: 543
dn: cn=Rivry,dc=example,dc=com
objectclass: inetorgperson
cn: Rivry
sn: Rod
title: Trainee
dn: cn=Woods,dc=example,dc=com
objectclass: inetorgperson
cn: Woods
sn: Tent
description: User with no title
dn: cn=Mounty,dc=example,dc=com
objectclass: inetorgperson
cn: Mounty
sn: Ret
title: MTS - dept_sec

24.8.2 ForkJoinワークフロー要素構成モデルの実装

dsconfigコマンドを使用して、ForkJoinワークフロー要素を作成して構成し、2つのデータ・ソースからデータを同時に集約できます。

24.8.2.1 ForkJoinワークフロー要素構成の準備

ForkJoinワークフロー要素構成をデプロイするには、OUDディレクトリ・サーバー・インスタンスとOUDプロキシ・サーバー・インスタンスを設定する必要があります。結合するデータ・ソースの前にプロキシ・サーバーを配置する必要があります。

1つ目のOUDインスタンス(oud1)の設定

  1. 次のように、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
  2. oud1ディレクトリ・サーバー・インスタンスにサンプル・エントリを移入します。

    1. 「ForkJoinワークフロー要素構成モデルの理解」の説明に従って、プライマリ参加要素のデータでLDIFファイル(fj_oud1.ldif)を作成します。

    2. 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)の設定

  1. 次のように、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
  2. oud2ディレクトリ・サーバー・インスタンスにサンプル・エントリを移入します。

    1. 「ForkJoinワークフロー要素構成モデルの理解」の説明に従って、セカンダリ参加要素のデータでLDIFファイル(fj_oud2.ldif)を作成します。

    2. 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)の設定

  1. 次のように、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サーバーとの接続の詳細と資格証明を指定します。

  1. 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
  2. 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
  3. 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
  4. 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
  5. dsconfigコマンドを実行して、サーバー拡張を表示します。

    ./dsconfig -h host01.example.com -p 3444 -D "cn=Directory Manager" --bindPasswordFile pwd.txt -X -n list-extensions
  6. 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ワークフロー要素を作成できます。

  1. 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
  2. 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ワークフロー要素を構成できます。

  1. 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
  2. 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
  3. 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
  4. 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-joinleft-outer-joinおよびfull-outer-joinの結合ポリシーをサポートしています。結合ポリシーの構成を学習します。

  1. 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
  2. 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
  3. 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ワークフロー要素の構成の検証を学習します。

  1. 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
  2. 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
  3. 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 pwe1oud1が関連付けられている。

  • 接尾辞dc=p2が含まれるProxyLDAPWorkflowElement pwe2oud2が関連付けられている

  • oud3が、前述のフロントエンドOUD1およびOUD2ProxyLDAPWorkflowElement pwe1およびpwe2をそれぞれ使用しているOUDプロキシ・サーバーである。oud1に存在する動的グループを処理するために、DynamicGroupsWorkflowElementProxyLDAPWorkflowElement pwe1の上部に構成されます。

  • LDAPExt1およびLDAPExt2LDAPServerExtensionsである。

24.9.2 DynamicGroupワークフロー要素構成モデルの実装

DynamicGroupワークフロー要素構成の実装方法を学習します。

24.9.2.1 DynamicGroupsワークフロー要素を構成するためのOUDインスタンスの設定

OUDプロキシおよびOUDインスタンスを設定して、動的グループを構成する必要があります。

  1. oud-setupを実行して、baseDN dc=p1でインスタンスoud1を作成します。
    ./oud-setup --cli --no-prompt --hostname localhost --ldapPort 2389 --rootUserDN cn="Directory Manager" --rootUserPasswordFile pwd.txt --baseDN dc=p1 --adminConnectorPort 2444
  2. oud-setupを実行して、baseDN dc=p2で別のインスタンスoud2を作成します。
    ./oud-setup --cli --no-prompt --hostname localhost --ldapPort 3389 --rootUserDN cn="Directory Manager" --rootUserPasswordFile pwd.txt --baseDN dc=p2 --adminConnectorPort 3444
  3. oud-proxy-setupコマンドを実行して、プロキシ・サーバー・インスタンスoud3を作成します。
    ./oud-proxy-setup --cli --adminConnectorPort 4444 --ldapPort 4389 --rootUserDN "cn=Directory Manager" --rootUserPasswordFile  pwd.txt --no-prompt –noPropertiesFile
24.9.2.2 1つ目のOUDインスタンスに対するプロキシLDAPワークフロー要素およびDynamicGroupsワークフローの構成

oud1に対するプロキシLDAPワークフロー要素および動的グループ・ワークフロー要素の構成方法を学習します。

次のコマンドを実行して、LDAPサーバー拡張、ワークフローおよび動的グループを作成して、ネットワーク・グループに関連付けます。
  1. dsconfig create-extensionを実行して、LDAPサーバー拡張を作成します。
    ./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 LdapExt1 
    --hostname host01.example.com
    --port 4444 
    --bindDN cn="Directory Manager"
    --bindPasswordFile pwd.txt 
    --no-prompt 
  2. dsconfig create-workflow-elementを実行して、oud1を示すLDAPプロキシ・ワークフロー要素を作成します。
    ./dsconfig create-workflow-element 
    --set client-cred-mode:use-client-identity 
    --set enabled:true 
    --set ldap-server-extension:LdapExt1 
    --set remote-ldap-server-bind-dn:cn="Directory Manager" 
    --set remote-ldap-server-bind-password:pwd.txt 
    --type proxy-ldap --element-name pwe1 
    --hostname host01.example.com
    --port 4444 
    --portProtocol LDAP 
    --bindDN cn="Directory Manager" 
    --bindPasswordFile pwd.txt 
    --no-prompt
  3. global-searchパラメータをtrueuser-search-basedc=p2に設定して、dsconfig create-workflow-elementを実行します。
     ./dsconfig create-workflow-element 
    --set enabled:true 
    --set next-workflow-element:pwe1   
    --set global-search:true 
    --set user-search-base:dc=p2 
    --type dynamic-groups  
    --element-name dgwe 
    --hostname host01.example.com 
    --port 4444 
    --portProtocol LDAP 
    --bindDN cn="Directory Manager"
    --bindPasswordFile pwd.txt 
    --no-prompt
  4. dsconfig create-workflowを実行して、base-dnをdc=p1に設定した名前dgwの汎用ワークフローを作成します。
    ./dsconfig create-workflow
    --set enabled:true 
    --set base-dn:dc=p1  
    --set workflow-element:dgwe 
    --type generic 
    --workflow-name dgw 
    --hostname host01.example.com 
    --port 4444 
    --portProtocol LDAP 
    --bindDN cn="Directory Manager"
    --bindPasswordFile pwd.txt 
    --no-prompt       
  5. set-network-group-propを実行して、ワークフローdgwを追加します。
    ./dsconfig set-network-group-prop 
    --group-name network-group 
    --set workflow:dgw 
    --hostname host01.example.com 
    --port 4444 
    --bindDN cn="Directory Manager" 
    --bindPasswordFile pwd.txt
    --no-prompt
  6. ldapsearchを実行して、dc=p1で構成を確認します。
    ./ldapsearch -p 4389 -D cn="Directory Manager" -w password -s sub -b dc=p1 "objectclass=*" uid
24.9.2.3 2つ目のOUDインスタンスに対するLDAPプロキシ・ワークフロー要素の構成

dc=p2oud2に対して、プロキシLDAPワークフロー要素を構成する方法を学習します。

  1. dsconfig create-extensionを実行して、oud2を示すLDAPサーバー拡張LDAPext2を作成します。
    ./dsconfig create-extension 
    --set enabled:true
     --set remote-ldap-server-address:localhost 
    --set remote-ldap-server-port:3389
    --type ldap-server 
    --extension-name LDAPext2
    --hostname host01.example.com 
    --port 4444 
    --bindDN cn="Directory Manager" 
    --bindPasswordFile pwd.txt
    --no-prompt
  2. oud2を示すプロキシLDAPワークフロー要素ProxyWe2を作成します。
    ./dsconfig create-workflow-element 
    --set client-cred-mode:use-client-identity 
    --set enabled:true
    --set ldap-server-extension:LDAPext2
    --set remote-ldap-server-bind-dn:cn="Directory Manager" 
    --set remote-ldap-server-bind-password:pwd.txt 
    --type proxy-ldap  
    --element-name ProxyWe2
    -–hostname host01.example.com
    --port 4444 
    --portProtocol LDAP 
    --bindDN cn=”Directory Manager” 
    --bindPasswordFile pwd.txt
    --no-prompt
  3. dc=p2のワークフローp2wを作成します。
    ./dsconfig create-workflow 
    --set enabled:true 
    --set base-dn:dc=p2 
    --type generic 
    --set workflow-element:pwe2 
    --workflow-name p2w
    --hostname host01.example.com 
    --port 4444 
    --bindDN cn="Directory Manager" 
    --bindPasswordFile pwd.txt
    --no-prompt
  4. set-network-group-propを実行して、ワークフローp2wを追加します。
    ./dsconfig set-network-group-prop 
    --group-name network-group
    --add workflow:p2w 
    --hostname localhost 
    --port 4444 
    --bindDN cn="Directory Manager" 
    --bindPasswordFile pwd.txt 
    --no-prompt
  5. ベースがdc=p2のOUDプロキシ・サーバーに対してldapsearchを実行します。結果はoud2からも出力され、LDAPワークフローおよびネットワーク・グループにリンクされます。
    ./ldapsearch -p 4389 -D "cn=Directory Manager" -w password -s sub -b dc=p2 "objectclass=*" uid

24.9.3 DynamicGroupワークフロー要素構成のテスト

動的グループ・ワークフロー構成のテスト方法を学習します。

次の項では、動的グループ構成のテスト方法について説明します。

24.9.3.1 memberURL属性の拡張あり/なしの場合のDynamicGroupsのテスト

memberURL属性の拡張あり/なしの場合の動的グループのテスト方法を学習します。

次のステップを実行して、memberURL属性拡張に基づいて、LDAPエントリを確認します。
  1. 次のLDAPエントリがLDIFファイルにあると仮定します。
    dn:cn=admingroup,dc=groups,dc=acme,dc=com
    uniqueMember:cn=mark,cn=users,dc=acme,dc=com
    memberURL:ldap:///cn=users,dc=acme,dc=com??sub?(|(cn=john)(cn=smith))
    objectClass:groupOfUniqueNames
    objectClass:groupOfUrls
  2. 次のLDAP検索では、memberURL値を拡張することなく、エントリがそのままの状態で返されます。動的グループ・エントリには、uniqueMember属性による静的グループ・メンバーとしてcn=mark,cn=users,dc=acme,dc=comが含まれるため、問合せで動的グループ・エントリが一致します。
    Base DN: dc=groups,dc=acme,dc=com
    Scope:sub
    Filter:uniqueMember=cn=mark,cn=users,dc=acme,dc=com
  3. ただし、次のLDAP検索を実行すると、Dynamic Groupワークフローによって、cn=john値がuniqueMemberにある次のLDAPエントリが返されます。
    Base DN: dc=groups,dc=acme,dc=com
    Scope:sub
    Filter:uniquemember=cn=john,cn=users,dc=acme,dc=com
    dn:cn=admingroup,dc=groups,dc=acme,dc=com
    uniqueMember:cn=mark,cn=users,dc=acme,dc=com
    uniqueMember:cn=john,cn=users,dc=acme,dc=com
    memberURL:ldap:///cn=users,dc=acme,dc=com??sub?(|(cn=john)(cn=smith))
    objectClass:groupOfUniqueNames
    objectClass:groupOfUrls
    この問合せでは、動的グループ・エントリには、静的グループ・メンバーとして定義されたcn=john,cn=users,dc=acme,dc=comが含まれないため、検索フィルタで動的グループ・エントリは一致しません。ただし、問合せでは結果が返されないため、DynamicGroupsワークフロー要素では、すべての動的グループのmemberURL属性を拡張して処理し、検索フィルタに一致するかどうかをチェックします。管理グループ・エントリ(memberURLの拡張後)が検索フィルタに一致することが確認されるため、それが返されます。

ノート:

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人のユーザーのみが返されます。

  1. 次のldapsearchを実行して、グループ・メンバーシップをテストします。
    ./ldapsearch -D bindDN -q -b ou=groups,ou=airius,o=yourcompany.com -s 
    sub "(&(cn=TestCheck)(uniquemember=cn=Jim Ward,ou=accounting,o=yourcompany.com))"
    
    cn: TestCheck,ou=groups,ou=airius,o=yourcompany.com 
    memberURL:ldap:///oud=accounting,o=yourcompany.com??sub?(cn=*) 
    objectClass: groupOfUniqueNames 
    objectClass: groupOfUrls 
    cn: TestCheck 
    uniqueMember: cn=Jim Ward,ou=Accounting,o=YourCompany,com
前述の例では、検索が実行されると、cn=Jim WardがグループのuniqueMember属性に設定された1人のユーザーのみが問合せの結果になります。