プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Unified Directoryの管理
11g リリース2 (11.1.2.3)
E61945-07
  目次へ移動
目次

前
 
次
 

20 リモート・データ・ソースへのアクセスの構成

この章では、リモートに格納されているデータへのアクセスを構成する方法について説明します(RDBMSに格納されているアイデンティティ・データにアクセスする方法、およびプロキシ・インスタンスと1つ以上のリモートLDAPサーバーとの通信を構成する方法を含みます)。

この章の構成は、次のとおりです。

20.1 RDBMSに格納されているアイデンティティ・データへのアクセスの構成

この項では、Oracle DatabaseにLDAPエントリとして格納されているアイデンティティ・データを公開するOracle Unified Directoryプロキシ・インスタンスに基づいて、サンプルの仮想構成を作成するユースケースについて説明します。

この項の例では、RDBMSワークフロー要素とそのサポートしているコンポーネントを構成して、アイデンティティ・データのこの仮想ビューを作成します。RDBMSワークフロー要素を使用すると、LDAPクライアントはLDAPプロトコルを使用してアイデンティティ・データにアクセスできます。

このセクションには次のトピックが含まれます:

RDBMSワークフロー要素の概要は、第12.1.1項「LDAPクライアントからRDBMSに格納されているアイデンティティ・データへのアクセスの有効化」を参照してください。


注意:

この項の例では、dsconfigコマンドを使用して、RDBMSワークフロー要素および他の必須コンポーネントを作成および構成します。これらの例の説明は、設定する必要がある主要オプションおよびプロパティを対象としています。

すべてのdsconfigサブコマンドおよびオプションの詳細は、第A.2.4項「dsconfig」を参照してください。


20.1.1 RDBMSワークフロー要素のユースケースの理解

このユースケースのデプロイメントには、次のコンポーネントが含まれています。

20.1.1.1 LDAPクライアント

このユースケースでは、LDAPクライアントはLDAPプロトコルを使用してOracle Database (RDBMS)のアイデンティティ・データにアクセスするとします。これらのクライアントは、このデータへのアクセスにSQL問合せは実行しません。

20.1.1.2 Oracle Unified Directoryプロキシ・サーバー

このユースケースには、LDAPクライアントとOracle Databaseの間のインタフェースとして、Oracle Unified Directoryプロキシ・サーバーが必要です。

プロキシ・サーバーはOracle Databaseにdbuserとして接続します。ユースケース例でLDAP検索が実行されるため、dbuserには、Oracle DatabaseのPERSONおよびPHONE SQL表に対する読取り権限が必要です。dbuserがLDAPプロトコルを使用してアイデンティティ・データを作成または更新する場合も、追加の権限が必要です。

20.1.1.3 RDBMSワークフロー要素とサポートしているコンポーネント

Oracle Unified Directoryプロキシは、次のコンポーネントを使用してOracle Databaseと通信します。

  • RDBMS拡張は、リモート・ピアからのレスポンスを定期的に確認し、接続プールで保持されている有効な接続を提供することによって、JDBCを使用したリモートのOracle Databaseとの接続性を管理します。

  • RDBMSワークフロー要素は、RDBMS拡張要素から接続を取得し、LDAPエントリとSQL表とのマッピングを実行し、LDAPクライアントから受け取った操作を実行します。

  • RDBMSエントリのRDBMSワークフローは、RDBMSワークフロー要素によって処理されるネーミング・コンテキストを公開します。

  • RDBMSワークフローのアクセス制御グループでは、仮想ACIを使用して仮想アイデンティティ・データへのアクセスを制御します。

詳細は、第20.1.3項「RDBMSと通信するためのコンポーネントの作成」を参照してください。

20.1.1.4 Oracle Database

このユースケースのRDBMSは、インストールされて実行中の、デプロイメントのアイデンティティ・データが移入されている11g Oracle Databaseです。このデータベースには、次のSQL表のユーザー・アカウントに関する情報が含まれます。

  • PERSON表には、従業員ID、名、姓、パスワード、従業員番号、雇用日などのユーザー・データが含まれます。

  • PHONE表はPERSON表にリンクされており、従業員の電話番号が含まれます。

これらの表の詳細は、第20.1.3.6.1項「PERSON表およびPHONE表の理解」を参照してください。

このデータベースには次の特性もあります。

  • データベースのシステム識別子(SID): orcl

  • データベースURL: myhost.example.com:1521:orcl

  • プロキシからデータベースに接続するデータベース・ユーザー: dbuser

  • データベース・ユーザー・パスワード: dbuser-password

20.1.2 RDBMSワークフロー要素を構成するための前提作業

RDBMSワークフロー要素とそのサポートしているコンポーネントの構成を開始する前に、次の必要な事前タスクを実行します。

20.1.2.1 Oracle Unified Directoryプロキシ・サーバーの設定

このユースケースには、LDAPクライアントとOracle Database (アイデンティティ・データを含む)の間のインタフェースとして、Oracle Unified Directoryプロキシ・サーバーが必要です。

UNIXシステムまたはLinuxシステムでコマンド行ツールを使用してプロキシ・サーバー・インスタンスを設定するには、次のようにします。

  1. JAVA_HOME環境変数が、サポートされているJVMインストール(JRE 7またはJDK 7)に設定されていることを確認します。

  2. 次のoud-proxy-setupスクリプトを実行し、プロキシ・サーバー・インスタンスを設定します。

    $ export INSTANCE_NAME=db-oud-proxy-instance
    $ OUD_HOME/oud-proxy-setup --cli -p oud-port --adminConnectorPort admin-port
    -D "cn=Directory Manager" -j password-file
    

    この例の説明は、次のとおりです。

    • db-oud-proxy-instanceは、プロキシ・インスタンス・ディレクトリ名です。この例では、oud-proxy-setupスクリプトを実行する前に、INSTANCE_NAME環境変数をこのディレクトリに設定します。

    • oud-portは、プロキシ・サーバー・インスタンスへのアクセスに使用されるLDAPポートです。

    • admin-portは管理ポートです。

    • password-fileには管理者パスワードが含まれます。

    Windowsシステムの場合、oud-proxy-setup.batスクリプトを実行します。

詳細は、Oracle Unified DirectoryのインストールのOracle Unified Directoryのプロキシ・サーバーとしての設定に関する項を参照してください。

20.1.2.2 RDBMSのJDBCドライバのJARファイルのインストール

Oracle Unified DirectoryのRDBMS実装は、基礎となるRDBMSと通信するJDBC標準に依存します。そのため、使用しているRDBMSに対応するJDBCドライバのJARファイルをインストールする必要があります。

JDBCドライバのJARファイルをインストールするには、次のようにします。

  1. 使用しているRDBMSデータベース・リリースに対応するJDBCドライバをダウンロードします。このユースケースではOracle Database 11gにデータが格納されているため、次の場所からojdbc6.jarをダウンロードします。

    http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

    Oracle Database 11gの場合はojdbc6.jar、Oracle Database 12cの場合はojdbc7.jarを使用します。

  2. ステップ1のJARファイルを次のディレクトリにコピーします。

    OUD_INSTANCE_NAME/OUD/lib
    
  3. Oracle Unified Directoryインスタンスを再起動します。たとえば、UNIXシステムおよびLinuxシステムでは次のように指定します。

    $ OUD_INSTANCE_NAME/OUD/bin/stop-ds
    $ OUD_INSTANCE_NAME/OUD/bin/start-ds
    

    Windowsシステムの場合、OUD_INSTANCE_NAME\OUD\batディレクトリのstop-ds.batおよびstart-ds.batを使用します。

20.1.3 RDBMSと通信するためのコンポーネントの作成

RDBMSと通信するOracle Unified Directoryプロキシに必要なコンポーネントを作成するには、次の各項で説明するタスクを実行します。

20.1.3.1 RDBMS拡張の作成

RDBMS拡張は1つのRDBMSインスタンスに対応します。このユースケースでは、Oracle Databaseインスタンスを1つのみ使用します。

ORCL1というRDBMS拡張を作成するには、次のdsconfig create-extensionコマンドを使用します。

$ dsconfig create-extension \
--type rdbms \
--extension-name ORCL1 \
--set jdbc-driver-class:oracle.jdbc.driver.OracleDriver \
--set jdbc-url:"jdbc:oracle:thin:@myhost.example.com:1521:orcl" \
--set target-database:oracle11 \
--set rdbms-username:dbuser \
--set rdbms-password:dbuser-password \
--set enabled:true

この例の説明は、次のとおりです。

  • typeは、RDBMS拡張を指定するrdbmsにする必要があります。

  • extension-nameは、新規拡張の名前をORCL1と指定します。

  • jdbc-driver-classおよびjdbc-urlは、特定のRDBMSインスタンスに対応します。

    URLはRDBMSが実行中のホストおよびポートによって異なります。構造も使用している特定のRDBMSによって異なります。この例では、11g Oracle Databaseにこれらのプロパティを設定します。他のデータベースの場合は、使用しているJDBCドライバのドキュメントを参照してください。

  • target-databaseは、使用しているRDBMSのタイプを指定します。11g (および12g) Oracle Databaseの場合は、oracle11を指定します。

  • rdbms-usernameプロパティおよびrdbms-passwordプロパティは、SQL問合せの実行に使用する資格証明を指定します。

    すべてのSQL問合せは、元のLDAPクライアント・アイデンティティを考慮せずに、これらの資格証明を使用して実行されます。LDAPクライアント・アイデンティティに基づいたRDBMS SQLデータへのアクセス制限に使用される仮想ACIは、後で構成します。

すべてのRDBMS拡張プロパティの詳細は、Oracle Fusion Middleware Oracle Unified Directory構成リファレンスを参照してください。

20.1.3.2 RDBMSワークフロー要素の作成

使用している各RDBMS拡張にRDBMSワークフロー要素を作成する必要があります。RDBMSワークフロー要素を作成する前に、RDBMS拡張も構成しておく必要があります。

前の項で作成したRDBMS拡張に関連付けられるRDBMSワークフロー要素を作成するには、次のdsconfig create-workflow-elementコマンドを使用します。

$ dsconfig create-workflow-element \
--type rdbms \
--element-name ORCL1 \
--set rdbms-extension:ORCL1 \
--set suffix:o=db \
--set enabled:true

この例の説明は、次のとおりです。

  • typeは、RDBMSワークフロー要素を指定するrdbmsにする必要があります。

  • element-nameは、新規RDBMSワークフロー要素の名前をORCL1と指定します。

  • rdbms-extensionは、このワークフロー要素に関連付けられる拡張の名前をORCL1と指定します。

  • suffixは、接尾辞DNをo=dbと指定し、このワークフロー要素で格納および公開されるすべてのエントリのDNとなります。

すべてのRDBMSワークフロー要素のプロパティの詳細は、Oracle Fusion Middleware Oracle Unified Directory構成リファレンスを参照してください。

20.1.3.3 RDBMSエントリのワークフローの作成

RDBMSワークフロー要素によって処理されるネーミング・コンテキストを公開するワークフローを作成する必要があります。このワークフローは、ネーミング・コンテキスト(ベースDN)、およびOracle Unified Directoryによる着信リクエストの処理方法を定義するワークフロー要素によって定義されます。

前に作成したRDBMSワークフロー要素に関連付けられるワークフローを作成するには、次のdsconfig create-workflowコマンドを使用します。

$ dsconfig create-workflow \
--workflow-name db \
--set base-dn:o=db \
--set workflow-element:ORCL1 \
--type generic \
--set enabled:true

この例の説明は、次のとおりです。

  • workflow-nameは、この構成オブジェクトの名前をdbと指定します。

  • base-dnは、このワークフローに関連付けられる接尾辞をo=dbと指定します。この接尾辞は、ORCL1というRDBMSワークフロー要素によって公開されるsuffixと同じである必要があります。

  • workflow-elementは、RDBMSワークフロー要素をORCL1と指定します。

すべてのワークフロー・プロパティの詳細は、Oracle Fusion Middleware Oracle Unified Directory構成リファレンスを参照してください。

20.1.3.4 RDBMSワークフローのアクセス制御グループの作成

RDBMSワークフローは、このワークフローで処理される操作に適用されるACIのリストを定義するアクセス制御グループに関連付けられます。

Oracle Databaseからのデータの仮想ディレクトリ・ビューへのアクセスを制御するには、仮想ACIを有効化および作成する必要があります。Oracle Unified Directoryが仮想ディレクトリ・データ・ビューに対するリクエストを受信すると、仮想ACIおよびユーザーにより提供された認証情報を使用して、リクエストされたデータへのアクセスを許可または拒否します。

RDBMSワークフローのアクセス制御グループを作成するには、次のようにします。

  1. 次のdsconfig create-access-control-groupコマンドを使用して、orcl1というアクセス制御グループを作成します。

    $ dsconfig create-access-control-group \
    --group-name orcl1
    

    デフォルトでは、新しいアクセス制御グループorcl1は空のため、構成のこの時点の仮想エントリは、Oracle Unified Directory管理者にのみ公開されます。

  2. 次のdsconfig set-workflow-propコマンドを使用して、前のステップで作成したアクセス制御グループをRDBMSワークフロー要素に関連付けます。

    $ dsconfig set-workflow-prop \
    --workflow-name db \
    --set virtual-aci-mode:true \
    --set access-control-group:orcl1
    

この例の説明は、次のとおりです。

  • workflow-nameは、dbというワークフローがorcl1というアクセス制御グループに格納されている仮想ACIによって保護されることを指定します。

  • virtual-aci-modetrueに設定されているため、ACI属性を処理するすべての操作がこの属性を仮想ACIとして管理します。この属性はユーザー・データと一緒には格納されていません。これは、Oracle Unified Directoryプロキシ・インスタンスの特定のディレクトリ情報ツリー(DIT)の場所"cn=virtual acis"に格納されます。

20.1.3.5 ネットワーク・グループへのワークフローの関連付け

ネットワーク・グループは、Oracle Unified Directoryに対するクライアント・リクエストの単一のエントリ・ポイントです。ワークフローは、少なくとも1つのネットワーク・グループに登録される必要がありますが、複数のネットワーク・グループにアタッチできます。

dbワークフローをデフォルトのネットワーク・グループ(network-group)に割り当てるには、次のdsconfig set-network-group-propコマンドを使用します。

$ dsconfig set-network-group-prop \
--group-name network-group \
--set workflow:db

Oracle Unified Directoryプロキシに問い合せて、Oracle Databaseのコンテンツを取得できるようになりました。デフォルトでは、LDAP-SQLマッピングがまだ構成されていないため、RDBMSワークフロー要素によって公開されるネーミング・コンテキストのベースに対応するダミー・エントリが返されます。

構成を確認するには、次のldapsearchコマンドを使用します。

$ ldapsearch –p oud-port -D "cn=directory manager" -w admin-password -b o=db objectclass=*

dn : o=db
o : db
objectclass : organization
objectclass :top

20.1.3.6 LDAP-SQLマッピングの構成

LDAP属性を、Oracle DatabaseのSQL PERSON表およびPHONE表の適切な列にマップする必要があります。

このユースケースのLDAP-SQLマッピングを構成するには、次の項で説明するタスクを実行します。

20.1.3.6.1 PERSON表およびPHONE表の理解

このユースケースでは、Oracle Databaseで2つのSQL表(ユーザー・データを格納するPERSON表、ユーザーの電話番号を格納するPHONE表)が公開されます。

LDAPエントリは、これら表のSQL行および列にマップされます。1つのLDAPエントリ(sqlPersonオブジェクト・クラス)は、PERSON表の各行に対応します。PHONE表の行は、対応する人エントリの複数値LDAP telephoneNumber属性に表示されます。

これらのSQL表を作成する同等のSQLコマンドは次のとおりです。

CREATE TABLE PERSON (ID INT PRIMARY KEY, FIRST_NAME VARCHAR(40), LAST_NAME
VARCHAR(40), PASSWORD VARCHAR(10), EMPLOYEE_ID VARCHAR(40), EMPLOYEE_NUMBER
INT, HIRE_DATE date)

CREATE TABLE PHONE (PERSON_ID INT, PHONE_NUMBER VARCHAR(17), FOREIGN
KEY(PERSON_ID) REFERENCES PERSON(ID) ON DELETE CASCADE, PRIMARY
KEY(PERSON_ID, PHONE_NUMBER))

このユースケースでは、PERSON表の主キーはRDBMSによって自動的に生成され、管理されないか、LDAPクライアントに公開されません。LDAPエントリはRDBMSから仮想化されるため、LDAPクライアント・アプリケーションに対して透過的である必要があるため、この構成は一般的です。

Oracle Databaseでは、主キーの自動増分はデータベース順序およびトリガーの概念に依存します。次のSQLコマンドでは、PERSON表の順序を作成し、主キーを自動的に生成するトリガーを構成します。

CREATE SEQUENCE PERSON_SEQUENCE START WITH 1 INCREMENT BY 1
CREATE OR REPLACE TRIGGER PERSON_TRIGGER BEFORE INSERT ON PERSON REFERENCING 
NEW AS NEW FOR EACH ROW BEGIN SELECT PERSON_SEQUENCE.nextval
INTO :NEW.ID FROM dual; END;
20.1.3.6.2 RDBMS表の作成

LDAP属性として公開される行を含む、RDBMSのSQL表ごとにRDBMS表オブジェクトを作成し、これらの表をRDBMSワークフロー要素に関連付ける必要があります。

このユースケースのRDBMS表を作成するには、次のdsconfig create-rdbms-tableコマンドを使用します。

  1. Oracle DatabaseのSQL PERSON表に対応するPERSONというRDBMS表を作成し、この表をORCL1というRDBMSワークフロー要素に関連付けます。

    $ dsconfig create-rdbms-table \
      --set db-table-name:PERSON \
      --table-name PERSON \
      --element-name ORCL1 \
      --set primary-key-field:ID \
      --set primary-key-storability:false \
      --set db-sequence-name:PERSON_SEQUENCE \
      --type generic
    

    この例の説明は、次のとおりです。

    • table-nameは、表構成オブジェクトの名前を指定します。

    • db-table-nameは、対応するSQL表の名前を指定します。

    • element-nameは、この表が関連付けられるRDBMSワークフロー要素の名前を指定します。

    • primary-keyfieldは、SQL主キーに対応するSQL列を指定します。

    • primary-key-storabilityは、この表の主キーにユーザーが指定した値が含まれているかどうかを指定します。trueに設定された場合、エンドユーザーはこの列にキー値を挿入できます。

      このユースケースでは、自動生成された主キーを使用するため、primary-key-storabilityfalseに設定されています。ほとんどのデプロイメントでは、LDAPクライアントに対してキー管理を透過的にする必要があるため、キーは行が挿入されるときにRDBMSによって自動的に生成されます。

    • db-sequence-nameは、データベース順序がトリガーとともに使用されるときに主キー・フィールド値を生成するデータベース順序を指定します。このケースはOracle Databaseの場合です。

  2. Oracle DatabaseのSQL PHONE表に対応するPHONEというRDBMS表を作成し、この表をORCL1というRDBMSワークフロー要素に関連付けます。

    $ dsconfig create-rdbms-table \
      --table-name PHONE \
      --element-name ORCL1 \
      --set db-table-name:PHONE \
      --set primary-key-field:PERSON_ID \
      --set primary-key-field:PHONE_NUMBER \
      --set cascade-delete-on-relation:true \
      --set join-type:many-to-one \
      --set join-rule:PHONE.PERSON_ID=PERSON.ID \
      --type generic
    

すべてのRDBMS表プロパティの詳細は、Oracle Fusion Middleware Oracle Unified Directory構成リファレンスを参照してください。

20.1.3.6.3 オブジェクト・クラス・マッピングの作成

オブジェクト・クラス・マッピングの構成オブジェクトは、SQL表のコンテンツから作成したLDAPオブジェクトに対応するLDAPオブジェクト・クラスの名前を指定します。オブジェクト・クラスがサーバー・スキーマに定義されていない場合、サーバーの起動時にサーバー・スキーマに自動的に追加されます。

RDBMSワークフロー要素にsqlPersonオブジェクト・クラスのオブジェクト・クラス・マッピングを作成するには、次のdsconfig create-objectclass-mappingコマンドを使用します。

$ dsconfig create-objectclass-mapping \
  --mapping-name sqlPerson \
  --element-name ORCL1 \
  --set objectclass-name:sqlPerson \
  --set rdn-attribute:uid \
  --type generic

この例の説明は、次のとおりです。

  • objectclass-nameは、objectclass属性で表示されるLDAPオブジェクト・クラスの名前を指定します。

  • rdn-attributeは、ネーミング属性として使用されるLDAPオブジェクトとしてuidを指定します。

    このユースケースでは、uid属性は、次の項で示すように、PERSON表のEMPLOYEE_ID列に対応します。

20.1.3.6.4 属性マッピングの作成

LDAP属性として公開される各SQL行に対して属性マッピング構成オブジェクトを作成する必要があります。このユースケースに必要な属性マッピングを次の表に示します。

LDAP属性 SQLの表と列
uid PERSON:EMPLOYEE_ID
lastName PERSON:LAST_NAME
firstName PERSON:FIRST_NAME
employeeNumber PERSON:EMPLOYEE_NUMBER
hireDate PERSON:HIRE_DATE
userPassword PERSON:PASSWORD
telephoneNumber PHONE:PHONE_NUMBER

sqlPersonオブジェクト・クラスの属性マッピングを作成するには、前の表で示す各属性に対して次のdsconfig create-attribute-mappingコマンドを使用します。

$ dsconfig create-attribute-mapping \
  --attribute-mapping-name employeeID \
  --mapping-name sqlPerson \
  --set attribute-name:uid \
  --set field-name:EMPLOYEE_ID \
  --set table-name:PERSON \
  --element-name ORCL1 \
  --type generic

$ dsconfig create-attribute-mapping \
  --attribute-mapping-name firstName \
  --mapping-name sqlPerson \
  --set attribute-name:firstName
  --set field-name:FIRST_NAME \
  --set table-name:PERSON \
  --element-name ORCL1 \
  --type generic

$ dsconfig create-attribute-mapping \
  --attribute-mapping-name lastName \
  --mapping-name sqlPerson \
  --set attribute-name:lastName \
  --set field-name:LAST_NAME \
  --set table-name:PERSON \
  --element-name ORCL1 \
  --type generic

$ dsconfig create-attribute-mapping \
  --attribute-mapping-name employeeNumber \
  --mapping-name sqlPerson \
  --set attribute-name:employeeNumber \
  --set field-name:EMPLOYEE_NUMBER \
  --set table-name:PERSON \
  --element-name ORCL1 \
  --type generic

$ dsconfig create-attribute-mapping \
  --attribute-mapping-name hireDate \
  --mapping-name sqlPerson \
  --set attribute-name:hireDate \
  --set field-name:HIRE_DATE \
  --set table-name:PERSON \
  --element-name ORCL1 \
  --type generic

$ dsconfig create-attribute-mapping \
  --attribute-mapping-name telephoneNumber \
  --mapping-name sqlPerson \
  --set attribute-name:telephoneNumber \
  --set field-name:PHONE_NUMBER \
  --set table-name:PHONE \
  --element-name ORCL1 \
  --type generic

これらの例の説明は、次のとおりです。

  • attribute-mapping-nameは、このコマンドで実行されるマッピングの名前を指定します。

  • attribute-nameは、指定されたSQL表および列にマップされるLDAP属性を指定します。

  • mapping-nameは、オブジェクト・クラスを指定します。

  • field-nameおよびtable-nameは、LDAP属性をマップするSQL列および表の名前を指定します。

マッピングのテスト

構成のこの段階で、PERSON表の各行は、o=db接尾辞のsqlPersonのインスタンスとして公開されます。対応するtelephoneNumber (存在する場合)がPHONE表から取得されます。

これらのマッピングをテストするには、次の例で示すようにLDAP検索を実行します。


注意:

次のテストはディレクトリ・マネージャとして実行する必要があります。この時点では、RDBMSワークフロー要素のコンテンツに対するアクセス権がACIに付与されていないためです。

$ ldapsearch –p oud-port -D "cn=directory manager" -w admin-password -b  o=db objectclass=*

dn : o=db
o : db
objectclass : organizationalUnit
objectclass :top
dn : uid=53422345,o=db
objectclass : sqlPerson
objectclass :top
uid : 53422345
firstName : Joseph
lastName : Smith
employeeNumber : 172453
hireDate : 199505011220000.000Z
telephoneNumber : +33123456789

...

前の例では、ldapsearchコマンドによって返された最初のエントリを示しています。マッピングが正しく構成されている場合、定義されたマッピング・ルールに従って、SQL表から作成された仮想LDAPエントリが検索によって返されます。

20.1.3.6.5 RDBMSに格納されているパスワードの使用

Oracle Databaseでは、PERSON表のPASSWORD列にユーザー・パスワードが格納されます。

LDAPクライアントがOracle Databaseに格納されているパスワードに対して認証することができるように、RDBMSワークフロー要素を構成するには、次のようにします。

  1. 次のdsconfig create-attribute-mappingコマンドを使用して、userPassword属性の属性マッピングを作成します。

    $ dsconfig create-attribute-mapping \
      --attribute-mapping-name userPassword \
      --mapping-name sqlPerson \
      --set attribute-name:userPassword \
      --set field-name:PASSWORD \
      --set table-name:PERSON \
      --element-name ORCL1 \
      --type generic
    

    この例の説明は、次のとおりです。

    • attribute-nameは、マップするLDAP属性としてuserPasswordを指定します。

    • field-nameおよびtable-nameは、マップするSQL列および表の名前を指定します。

    • element-nameは、ORCL1 RDBMSワークフロー要素を指定します。

  2. ワークフロー要素が認証にuserPassword属性を使用できるように、次のdsconfig set-workflow-element-propコマンドを使用してRDBMSワークフロー要素を構成します。

    $ dsconfig set-workflow-element-prop \
      --element-name ORCL1 \
      --set password-attribute:userpassword \
      --set password-storage-scheme:"Salted SHA-512"
    

この例の説明は、次のとおりです。

  • password-attributeは、ユーザー・パスワードを含む属性を指定します。

  • password-storage-schemeは、Oracle Databaseにユーザー・パスワードを格納する方法を指定します。

    この例では、ユーザー・パスワードは、Salted SHA-512アルゴリズムを使用してハッシュされ、Oracle Databaseに格納されます。LDAPエントリの場合と異なり、SQL表のハッシュされたパスワード値には、ダイジェスト・アルゴリズム・タグ({SSHA-512}など)の接頭辞は付きません。

20.1.4 仮想データに対するアクセス権の付与

デフォルトでは、「RDBMSワークフローのアクセス制御グループの作成」で作成したorcl1というアクセス制御グループは空です。データベースの仮想エントリはOracle Unified Directory管理者にのみ公開されます。そのため、次の検索では次のエントリは返されません。

$ ldapsearch –p oud-port -D uid=53422345,o=db -w password -b o=db objectclass=*

次のコマンドは、Oracle Databaseから作成した仮想エントリの所有者に対して完全アクセス権を付与する仮想ACIを作成します。

ldapmodify –p oud-port -D "cn=Directory Manager" –w admin-password
dn : o=db
changetype : modify
add : aci
aci : (targetattr= "*") (version 3.0 ; acl "self example" ; allow (all) userdn="ldap:///self" ;)

この新しい仮想ACIを使用して以前の検索を再試行する場合、各ユーザーにはuidに基づいて自分のエントリに対するアクセス権が付与されます。

ldapsearch –p oud-port -D uid=53422345,o=db -w password -b o=db objectclass=*

dn : uid=53422345,o=db
objectclass : sqlPerson
objectclass :top
uid : 53422345
firstName : Audrey
lastName : Smith
employeeNumber : 172453
hireDate : 199505011220000.000Z
telephoneNumber : +33123456789

注意:

使用しているRDBMSのアクセス制御方法はコーポレート・ポリシーによって異なるため、これらのポリシーに準拠する仮想ACIを作成する必要があります。

20.2 リモートLDAPサーバーとの通信の構成

この項では、プロキシ・インスタンスと1つ以上のリモートLDAPサーバーとの通信を構成する方法を説明します。


注意:

リモートLDAPサーバーとの通信の詳細は、第12.1.2項「リモートLDAPサーバーとの通信の有効化」を参照してください。

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

20.2.1 LDAPサーバー拡張の構成

この項では、リモートLDAPサーバーとの通信に必要なLDAPサーバー拡張を構成する方法を説明します。この項の内容は次のとおりです:

20.2.1.1 既存のLDAPサーバー拡張の表示

特定のプロキシ・インスタンスに構成されているすべてのLDAPサーバー拡張のリストを表示するには、次に示すように、dsconfig list-extensionsコマンドを使用します。

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  list-extensions 
Extension  : Type
-----------:---------------------
gi-catalog : global-index-catalog
proxy1     : ldap-server
proxy2     : ldap-server

タイプがldap-serverの拡張が、LDAPサーバー拡張です。リモートLDAPサーバーごとに1つのLDAPサーバー拡張が指定されているはずです。

20.2.1.2 LDAPサーバー拡張のプロパティの表示

特定のLDAPサーバー拡張のプロパティを表示するには、次に示すように、dsconfig get-extension-propコマンドを使用します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  get-extension-prop --extension-name proxy1

Property                   : Value(s)
---------------------------:---------
enabled                    : true
remote-ldap-server-address : server1.example.com
remote-ldap-server-port    : 1389

次のプロパティが表示されます:

enabled

LDAPサーバー拡張が有効になっている(true)か、それとも有効になっていない(false)かを示します。

remote-ldap-server-address and remote-ldap-server-port

リクエストの転送先のリモートLDAPサーバーのアドレスおよびポートを示します。

monitoring-bind-dnおよびmonitoring-bind-password

これらのプロパティは、--advancedオプションが指定されている場合にのみ表示されます。データ・ソースのモニタリングの実行に拡張で使用される、ユーザーの資格証明が示されます。これらのプロパティがデフォルトから変更されていない場合、これらのプロパティは表示されません。つまりモニタリングは匿名で実行されます。

これらのプロパティを構成するには、第35.5項「LDAPを使用したサーバーのモニタリング」を参照してください。

20.2.1.3 LDAPサーバー拡張の拡張プロパティの表示

LDAPサーバー拡張のすべてのプロパティを表示するには、dsconfig --advanced get-extension-propコマンドを使用します。例:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  --advanced get-extension-prop --extension-name proxy1

次のようなプロパティが表示されます。

         Property                            Value(s)
         ----------------------------------------------------------------------
    1)   enabled                             true
    2)   java-class                          com.sun.dps.server.workflowelement
                                             .proxyldap.LDAPServerExtension
    3)   monitoring-check-interval           30000
    4)   monitoring-connect-timeout          5000
    5)   monitoring-inactivity-timeout       120000
    6)   monitoring-ping-timeout             5000
    7)   pool-increment                      5
    8)   pool-initial-size                   10
    9)   pool-max-size                       1000
    10)  pool-max-write                      0
    11)  pool-release-connection-interval    300000
    12)  pool-use-max-write                  false
    13)  proxied-auth-use-v1                 false
    14)  remote-ldap-server-address          localhost
    15)  remote-ldap-server-connect-timeout  10000
    16)  remote-ldap-server-port             1389
    17)  remote-ldap-server-read-only        false
    18)  remote-ldap-server-read-timeout     10000
    19)  remote-ldap-server-ssl-policy       never
    20)  remote-ldap-server-ssl-port         636
    21)  saturation-precision                5
    22)  ssl-client-alias                    -
    23)  ssl-key-manager-provider            -
    24)  ssl-trust-all                       false
    25)  ssl-trust-manager-provider          -

注意:

ほとんどの拡張プロパティ(SSLプロパティを除く)が、LDAPサーバー拡張の作成時にデフォルトで設定されます。

これらの値を変更するには、第20.2.1.5項「LDAPサーバー拡張のプロパティの変更」を参照してください。

モニタリング・プロパティの詳細は、第20.2.1.7項「LDAPデータ・ソースの接続モニタリング・プロパティの変更」を参照してください。

SSL (セキュリティ)プロパティの詳細は、第27章「プロキシ/データ・ソース間のセキュリティ構成」を参照してください。

20.2.1.4 LDAPサーバー拡張の作成

新規LDAPサーバー拡張を作成するには、次に示すように、dsconfig create-extensionコマンドを使用します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  create-extension \
  --extension-name DS-proxy5 \
  --type ldap-server \
  --set enabled:true \
  --set remote-ldap-server-address:DS5-hostname
  --set remote-ldap-server-port:1389

拡張のtypeldap-serverである必要があります。新規拡張の名前は、extension-nameで定義します。この例では、DS-proxy5です。

作成している拡張を関連付けるリモートLDAPサーバーの名前も指定する必要があります(remote-ldap-server-address)。リモートLDAPサーバーのホスト名またはIPアドレスを指定できます。

remote-ldap-server-portを指定しないと、デフォルトのLDAPポート1389であると見なされます。

20.2.1.5 LDAPサーバー拡張のプロパティの変更

LDAPサーバー拡張のプロパティを変更するには、set-extension-propサブコマンドを使用します。このサブコマンドを使用すると、次の操作を実行できます:

  • LDAPサーバー拡張を有効にする(true)か、それとも有効にしない(false)かを設定できます。

  • リモートLDAPディレクトリ・サーバーのアドレスおよびポート(remote-ldap-server-addressおよびremote-ldap-server-port)を変更できます。

  • データ・ソースのモニタリングの実行に拡張で使用される、ユーザーの資格証明を設定できます(monitoring-bind-dnおよびmonitoring-bind-password)。これを空白のままにすると、モニタリングはデフォルトである匿名で実行されます。

たとえば、リモートLDAPサーバーの変更は、よく行われる操作です。次のようにして、新規リモートLDAPサーバーのアドレスとポートを設定する必要があります。

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  set-extension-prop \
  --extension-name DS-proxy5 \
  --set remote-ldap-server-address:DS5-hostname \
  --set remote-ldap-server-port:3388

LDAPサーバー拡張の拡張プロパティを変更するには、第20.2.1.6項「LDAPサーバー拡張の拡張プロパティの変更」を参照してください。

20.2.1.6 LDAPサーバー拡張の拡張プロパティの変更

次の拡張プロパティを構成できます:

pool-increment

接続プールのサイズを大きくするまたは小さくする際の増分。remote-ldap-server-ssl-policyプロパティがuserに設定されると、2つの接続プールが作成され、各プールのサイズの増分がpool-incrementに設定されます。

デフォルト値は接続数5です。

pool-initial-size

接続プールの初期サイズ。これは、プールの初期化時に作成される初期接続数です。pool-initial-sizeプロパティは、プールの最小サイズでもあります。

デフォルト値は接続数10です。

remote-ldap-server-ssl-policyプロパティがuserに設定されると、2つの接続プールが作成され、各プールの初期サイズ、つまり最小サイズがpool-initial-sizeに設定されます。このため、最初は合計接続数が、pool-initial-sizeで示される接続数の2倍になる可能性があります。

詳細は、第27.2項「セキュアな接続のモード」を参照してください。

pool-max-size

接続プールの最大サイズ。これは、1つのプールに割り当てることができる最大接続数です。remote-ldap-server-ssl-policyプロパティがuserに設定されると、2つの接続プールが作成され、各プールの最大サイズがpool-max-sizeに設定されます。

デフォルト値は接続数1000です。

pool-max-write

1つの接続プールに同時に割り当てることができる書込み接続の最大数。整数を指定します。このパラメータは、pool-use-max-writeパラメータがtrueに設定されている場合にのみ、考慮されます。

デフォルト値は接続数0です。

pool-release-connection-interval

プロキシに送信されているトラフィックがない場合に、プロキシで接続が未使用と見なされるまでの時間。接続数が前に増加されている接続プールの場合、そのサイズが縮小されます。未使用の接続の数がpool-incrementより大きい場合、プールのサイズはpool-incrementの分だけ縮小されます。これは、未使用の接続がクローズされ、プールから削除されることを意味します。

デフォルト値は、300000ミリ秒(30秒)です。

pool-use-max-write

このブール値がtrueに設定されるとpool-max-writeパラメータが考慮されますが、そうでない場合は考慮されません。

デフォルトで、pool-use-max-writeはfalseに設定されます。

proxied-auth-use-v1

プロキシ認可制御モードを使用している場合、制御のデフォルトのバージョンはv2です。互換性の理由により前のバージョンを使用する場合は、proxied-auth-use-v1をtrueに設定します。

デフォルトで、proxied-auth-use-v1はfalseに設定されます。

制御の詳細は、付録B「サポートされている制御および操作」を参照してください。

remote-ldap-server-read-timeout

読取りのタイムアウト。リモートLDAPサーバーがレスポンスを返す前にタイムアウトに達すると、プロキシからクライアントにエラーが返されます。

デフォルトで、この値は10000ミリ秒(10秒)です。

saturation-precision

飽和精度は、飽和しきい値の計算に使用されます。飽和限度はリクエストの送受信によって変化するため、飽和精度は、どれくらい飽和が変化したときに、飽和が考慮されることになるかを示します。

デフォルトで、考慮に入れられるまで飽和は5%まで変化できます。

モニタリング・プロパティについては、第20.2.1.7項「LDAPデータ・ソースの接続モニタリング・プロパティの変更」で説明しています。

SSLプロパティは、セキュリティ機能です。これらのプロパティの詳細は、第27章「プロキシ/データ・ソース間のセキュリティ構成」を参照してください。

LDAPサーバー拡張の拡張プロパティを変更するには、set-extension-prop --advancedコマンドを使用します。


注意:

これらの拡張プロパティは、デフォルトで設定されており、通常は変更されません。

変更する可能性がある拡張プロパティの例として、pool-max-sizeがあります。強力なリモートLDAPサーバーを使用しており、最大数のリクエストを受信するようプロキシを構成している場合は、次のようにpool-max-sizeを増加できます:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  set-extension-prop --advanced \
  --extension-name DS-proxy5 \
  --set pool-max-size:2000

20.2.1.7 LDAPデータ・ソースの接続モニタリング・プロパティの変更

LDAPサーバー拡張のdsconfig --advancedコマンドを使用すると、次のモニタリング・プロパティを表示または変更できます。明記されていないかぎり、すべてのプロパティはプロアクティブ・モニタリングに関連しています。

monitoring-check-interval

モニタリング・チェックの間隔。これは、プロキシ・プロアクティブ・モニタリングでデータ・ソースのチェックが実行されるミリ秒単位の間隔です。

デフォルト値は30000ミリ秒(30秒)です。

詳細は、第23.6項「バックエンド・サーバーをモニターするためのプロキシ・インスタンスの構成」を参照してください。

monitoring-connect-timeout

プロアクティブ・モニタリング・ファシリティがリモートLDAPサーバーへの接続の試行を停止するまでのミリ秒単位の最大時間。

デフォルト値は、5000ミリ秒(5秒)です。0は無制限を意味します。

monitoring-inactivity-timeout

リモート・サーバーによる接続のクローズを回避するために定期的にアイドル接続がチェックされるまでのミリ秒単位の時間間隔。このパラメータの値は、monitoring-check-intervalより長く設定する必要があります。

デフォルト値は、120000ミリ秒(120秒)です。

monitoring-ping-timeout

プロアクティブ・モニタリングでリモート・サーバーへのpingが試行されるミリ秒単位の最大時間。

デフォルト値は、5000ミリ秒(5秒)です。

remote-ldap-server-read-timeout

接続が失敗したと見なされるまで、LDAPサーバー拡張がリモート・サーバーからのレスポンスを待機するミリ秒単位の最大時間。0は無制限を意味します。

remote-ldap-server-connect-timeout

接続が失敗したと見なされるまで、モニタリングでリモート・サーバーへの接続が試行されるミリ秒単位の最大時間。0は無制限を意味します。

デフォルトは10000ミリ秒(10秒)です。

20.2.2 プロキシLDAPワークフロー要素の構成

この項では、リモートLDAPサーバーとの通信に必要なLDAPプロキシ・ワークフロー要素を構成する方法を説明します。

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

20.2.2.1 既存のプロキシLDAPワークフロー要素の表示

特定のプロキシ・サーバー・インスタンスに構成されているすべてのワークフロー要素のリストを表示するには、次に示すように、dsconfig list-workflow-elementsコマンドを使用します。

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  list-workflow-elements

Workflow Element : Type               : enabled
-----------------:--------------------:--------
adminRoot        : ldif-local-backend : true
load-bal-we1     : load-balancing     : true
proxy-we1        : proxy-ldap         : true
proxy-we2        : proxy-ldap         : true

プロキシ・ワークフロー要素は、タイプがproxy-ldapになっているものです。

20.2.2.2 プロキシLDAPワークフロー要素のプロパティの表示

プロキシ・ワークフロー要素のプロパティを表示するには、次に示すように、dsconfig get-workflow-element-propコマンドを使用します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  get-workflow-element-prop --element-name proxy-we1
Property                              : Value(s)
--------------------------------------:--------------------
client-cred-mode                      : use-client-identity
enabled                               : true
ldap-server-extension                 : proxy1
remote-ldap-server-bind-dn            : -
remote-ldap-server-bind-password      : -
use-proxy-auth                        : false

次のプロパティが表示されます:

client-cred-mode

プロキシからリモートLDAPサーバーに接続する方法を示します。この例では、ステータスはuse-client-identityになっています。これは、クライアントでプロキシへの接続に使用されたものと同じ資格証明を使用してプロキシからリモートLDAPサーバーに接続されることを意味しています。

これがデフォルト・モードです。

詳細は、第27章「プロキシ/データ・ソース間のセキュリティ構成」を参照してください。

enabled

ワークフローが有効になっている(true)か、それとも有効になっていない(false)かを示します。

ldap-server-extension

ワークフロー要素が関連付けられているLDAPサーバー拡張の名前です。

remote-ldap-server-bind-dnおよびremote-ldap-server-bind-password

client-cred-modeuse-specific-identityまたはuse-proxy-authの場合に、リモートLDAPサーバーへの接続にプロキシで使用される、ユーザーの資格証明です。

20.2.2.3 プロキシLDAPワークフロー要素の作成

プロキシLDAPワークフロー要素を作成するには、LDAPサーバー拡張を構成しておく必要があります。

プロキシLDAPワークフロー要素を作成するには、次に示すように、dsconfig create-workflow-elementコマンドを使用します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  create-workflow-element \
  --element-name proxy-we5 \
  --type proxy-ldap \
  --set enabled:true \
  --set client-cred-mode:use-client-identity \
  --set ldap-server-extension:DS-proxy5

ワークフロー要素のタイプは、proxy-ldapである必要があります。新規プロキシLDAPワークフロー要素の名前は、element-nameで定義します。この例では、proxy-we5です。

クライアント資格証明モード(client-cred-mode)は、プロキシがリモートLDAPサーバーに接続する方法を示します。この例では、資格証明モードはuse-client-identityになっています。これは、クライアントでプロキシへの接続に使用されたものと同じ資格証明を使用してプロキシからリモートLDAPサーバーに接続されることを意味しています。これがデフォルト・モードです。


注意:

  • Oracle Unified DirectoryリモートLDAPサーバーを使用しており、クライアント資格証明モードがuse-proxy-authに設定されている場合、接続しているユーザーが、リモートLDAPサーバー上に存在する必要があります。ユーザーが存在しないと、リクエストは拒否されます。ユーザーがリモートLDAPサーバー上に存在することを保証できない場合は、クライアント資格証明モードをuse-specific-identityに設定してください。

  • ユーザー・デプロイメントで、内部操作が実行される場合は、ルート資格証明を定義する必要があります。たとえば、第24.5項「RDN変更の構成」で説明しているようにRDN変更を使用している場合は、ルート資格証明は次のプロパティで定義されます。

    remote-root-dn

    remote-root-password

    これらは、サーバーで内部操作が実行される場合の、リモートLDAPサーバーのルート・ユーザーの資格証明です。

  • プロキシLDAPワークフロー要素でパスワードを管理する場合(remote-ldap-server-bind-passwordまたはremote-root-passord)、次の構文が有効です:

    <password-value>またはfile://<password-file>


詳細は、第27章「プロキシ/データ・ソース間のセキュリティ構成」を参照してください。

20.2.2.4 プロキシLDAPワークフロー要素のプロパティの変更

プロキシLDAPワークフロー要素のプロパティを変更するには、set-workflow-element-propコマンドを使用します。

次のプロパティを変更できます:

  • プロキシLDAPワークフロー要素を有効にする(true)か、それとも有効にしない(false)かを設定できます。

  • 使用するクライアント資格証明モードを設定できます(client-cred-mode)。

  • LDAPサーバー拡張を関連付けて、使用するリモートLDAPサーバーを指定できます(ldap-server-extension)。

  • リモートLDAPサーバーへの接続にプロキシで使用する、ユーザーの資格証明を設定できます(remote-ldap-server-bind-dnおよびremote-ldap-server-bind-password)。次の構文がサポートされています:

    • <password-value>

    • file://<password-file>

    コマンド行で、クリア・テキストでパスワードを渡すことはサポートされていますが、お薦めしません。パスワード・ファイルを使用することをお薦めします。パスワード・ファイルは、コマンドが実行されたら削除できます。

たとえば、別のリモートLDAPサーバーを使用するために、ワークフロー要素で使用するLDAPサーバー拡張を変更する場合、次のように実行します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  set-workflow-element-prop --advanced \
  --element-name proxy-we5 \
  --set remote-ldap-server-bind-dn:uid=Specific\ User,dc=example,dc=com \
  --remote-ldap-server-bind-password:file://pwd-file \
  --set ldap-server-extension:DS-proxy3 \
  --set client-cred-mode:use-specific-identity

20.2.3 バインド・モードの構成

エンド・ユーザーが1つの認証済操作を実行すると、プロキシLDAPワークフロー要素は、次の2つの個別操作を受け取ります:

  1. リモート・サーバーに対してユーザーを認証するバインド操作。

  2. 実行する操作。

バインド操作が実行される際には、プロキシLDAPワークフロー要素は、LDAPサーバー拡張から接続を取得し、バインド操作を実行してから、接続を解放します。

実際の操作が着信すると、プロキシLDAPワークフロー要素は、LDAPサーバー拡張から接続を再度取得します。該当する資格証明にバインドされている接続が検出された場合、その接続が再利用されます。検出されなかった場合、新規接続を認証する必要があります。この追加認証操作をサイレント・バインドと呼びます。

サイレント・バインドの実行に使用する一連の資格証明は、バインド・モードで指定されます。これは、LDAPワークフロー要素のプロパティの1つです。これらの資格証明は、クライアント資格証明またはプロキシ資格証明です。表20-1は、Oracle Unified Directoryでサポートされているバインド・モードを示しています。

表20-1 Oracle Unified Directoryでサポートされているバインド・モード

モード 説明

use-client-identity

サイレント・バインドの実行にクライアント資格証明を使用します。

use-specific-identity

サイレント・バインドの実行にプロキシ資格証明を使用します。


20.2.3.1 サーバーを最適化するためのバインド・モード・パラメータの構成

表20-1に示されているバインド・モードごとに、追加のパラメータを構成して、サーバーの動作を微調整することができます。

これらのパラメータの詳細は、次の各項を参照してください。

20.2.3.1.1 use-client-identityバインド・モードの構成

バインド・モードがuse-client-identityに設定された場合、サーバーでは特定のパラメータによって阻止されないかぎり、サイレント・バインドの実行にクライアント資格証明が使用されます。

サーバーでクライアント資格証明を使用できないようにするパラメータの詳細は、次の各項を参照してください。

包含リストおよび除外リストの使用

次のリストを構成できます:

  • 包含リスト: リモート・サーバーで処理される接尾辞をリストします。

  • 除外リスト: リモート・サーバーで処理されない接尾辞をリストします。

クライアント・バインドDNが包含リスト上のいずれかのDNの子であるが、除外リスト上のいずれのDNの子でもない場合、プロキシ・サーバーではサイレント・バインドの実行にクライアント資格証明が使用されます。それ以外の場合、プロキシ・サーバーでは、サイレント・バインドの実行にプロキシ資格証明が使用されます。両方のリストがともに空の場合、プロキシ・サーバーでは常にクライアント資格証明が使用されます。

包含リストと除外リストは相互に排他的ではなく、同時に使用できます。ただし、1つのリストのみを定義することをお薦めします。また、両方のリストに同一の接尾辞を定義することはできません。

never-bindパラメータの使用

never-bindパラメータは、プロキシでクライアント資格証明を使用したバインドを実行する必要がある場合は常に適用できます。このフラグがtrueに設定されると、プロキシ・サーバーではリモート・データ・ソースからユーザー・エントリが読み取られ、バインドをリモート・サーバーに転送するのではなく、ユーザー・パスワード自体が検証されます。


注意:

ユーザー・エントリの読取りに使用される資格証明は、プロキシLDAPワークフロー要素のremote-ldap-server-bind-dnおよびremote-ldap-server-bind-passwordプロパティで定義されているプロキシ資格証明です。

受信バインド操作に重要な制御が含まれている場合、バインド操作専用の制御はnever-bind機能と互換性がないため、エラー結果が返されます。


注意:

プロキシでユーザー・エントリの読取りに独自の資格証明が使用される場合、プロキシ認可制御を操作に追加して、リクエストの送信元のクライアントのアイデンティティを示すことができます。use-proxy-authプロパティの値によって、制御を追加する必要があるかどうかが指定されます。

20.2.3.1.2 use-specific-identityバインド・モードの構成

バインド・モードがuse-specific-identityに設定されると、プロキシ・サーバーでは、すべてのサイレント・バインドの実行にプロキシ資格証明が使用されます。プロキシ資格証明は、プロキシLDAPワークフロー要素の次のプロパティで定義されます。remote-ldap-server-bind-dnおよびremote-ldap-server-bind-password

use-specific-identityバインド・モードでは、次のパラメータを設定できます:

use-proxy-authパラメータの使用

use-proxy-authフラグがtrueに設定されると、プロキシ・サーバーでは、バインド・リクエスト以外のすべてのリクエストにプロキシ認可制御が追加されます。プロキシ認可IDの値は、クライアント・バインドDNです。

never-bindパラメータの使用

never-bindパラメータは、プロキシでクライアント資格証明を使用したバインドを実行する必要がある場合は常に適用できます。このフラグがtrueに設定されると、プロキシ・サーバーではリモート・データ・ソースからユーザー・エントリが読み取られ、バインドをリモート・サーバーに転送するのではなく、ユーザー・パスワード自体が検証されます。


注意:

ユーザー・エントリの読取りに使用される資格証明は、プロキシLDAPワークフロー要素のremote-ldap-server-bind-dnおよびremote-ldap-server-bind-passwordプロパティで定義されているプロキシ資格証明です。