23 プロキシを使用した統合の構成

プロキシ・インスタンスおよび統合に固有のサーバー要素を構成するには、dsconfigまたはOracle Unified Directory Services Manager (OUDSM)を使用します。

ノート:

プロキシ・インスタンスの設定時にロード・バランシングまたは分散トポロジを構成すると、これらの要素の多くは自動的に構成されます。

ノート:

場合によっては、dsconfigまたはOracle Unified Directory Services Manager (OUDSM)を使用して統合を構成することを選択できます。

23.1 Active Directoryサーバーからのすべての属性値の取得

Oracle Unified Directoryでは、それを使用することでMicrosoft Active Directoryサーバーから属性値の全範囲を取得できる、Microsoft Active Directoryページングをサポートしています。

この項では、Microsoft Active Directoryページングを、ワークフロー要素チェーンのリーフがActive Directoryサーバーに接続されている場合にのみ関連するワークフロー要素として構成する方法について説明します。また、範囲オプションを検出するための属性のスキャン処理を軽減するオプションの属性リストを構成する方法についても説明します。

ノート:

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

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

ノート:

Microsoft Active Directoryページングの詳細は、「Active Directoryサーバーからすべての属性値を取得する方法の理解」を参照してください。

23.1.1 Active Directoryページング・ワークフロー要素の構成

次の例をActive Directoryページング・ワークフロー要素を構成するための基盤として使用します。

この例では、LDAPプロキシ・ワークフローproxy-we1を指すad-paging-we1という名前のActive Directoryページング・ワークフロー要素が作成されます。

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  create-workflow-element --element-name ad-paging-we1 --type ad-paging \
  --set next-workflow-element:proxy-we1 --set enabled:true

23.1.2 Active Directoryから返される特定の属性のスキャン

効率性を高めるために、ワークフロー要素のhandled-attributes複数値プロパティを設定することによって特定の属性のみがスキャンされるようActive Directoryページング・ワークフロー要素を構成できます。このプロパティの値は必要な数だけ追加できます。

デフォルトで、すべての属性がスキャンされます。これは、パフォーマンスに直接影響を与える可能性があります。パフォーマンスの影響を軽減するために、handled-attributesプロパティの値としてスキャンする必要のある属性のみをリストします。

次の例では、memberOf属性のみがスキャンされるように、前の例で作成したワークフロー要素が変更されています:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  set-workflow-element-prop --element-name ad-paging-we1 \
  --set handled-attributes:memberOf

23.2 エンタープライズ・ユーザー・セキュリティ・データベースとの統合について

追加の同期なしで、Oracle Unified Directoryおよびエンタープライズ・ユーザー・セキュリティを統合して、LDAP準拠ディレクトリ・サービスに格納されているユーザーIDを利用できます。

エンタープライズ・ユーザー・セキュリティと統合した場合、Oracle Unified Directoryで次のものがサポートされます。

  • Microsoft Active Directory

  • Novell eDirectory

  • Oracle Unified Directory

  • Oracle Directory Server Enterprise Edition

Oracle Enterprise User Securityの詳細は、Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイドエンタープライズ・ユーザー・セキュリティの概要に関する項を参照してください。Oracle Unified Directoryおよびエンタープライズ・ユーザー・セキュリティが連携して動作するように構成する手順の詳細は、「Oracle Enterprise User SecurityへのOracle Unified Directoryの統合」を参照してください。

23.3 Active Directoryに保存されているユーザー・パスワードの更新

ADパスワード・ワークフロー要素により、Oracle Unified Directory LDAPクライアント・アプリケーションでは、LDAPプロトコルを使用してMicrosoft Active DirectoryおよびActive Directoryライトウェイト・ディレクトリ・サービス(AD LDS)に保存されているユーザー・パスワードを更新できるようになります。

ADパスワード・ワークフロー要素の概要は、「LDAPクライアントからのActive Directoryに格納されているユーザー・パスワードの更新の有効化の概要」を参照してください。

次の各トピックでは、ADパスワード・ワークフロー要素およびその必須コンポーネントの構成方法について説明します。

ノート:

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

dsconfigのすべてのサブコマンドおよびオプションの詳細は、「Oracle Unified Directoryコマンド行インタフェース・リファレンス」を参照してください。

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

ADパスワード・ワークフロー要素には、LDAPクライアントおよびActive DirectoryまたはAD LDSサーバー間のインタフェースとしてOracle Unified Directoryプロキシ・サーバーが必要です。

この項の例は、「ADパスワード・ワークフロー要素の作成および構成」で説明している両方のユースケースに適用されます。

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

  1. JAVA_HOME環境変数が、サポートされているJVMインストール(JRE 7またはJDK 7)に設定されていることを確認します。
  2. 次のoud-proxy-setupスクリプトを実行し、プロキシ・サーバー・インスタンスを設定します。
    $ export INSTANCE_NAME=ad-oud-proxy-instance
    $ OUD_HOME/oud-proxy-setup --cli -p oud-port --adminConnectorPort admin-port
    -D "cn=Directory Manager" -j password-file
    

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

    • ad-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のプロキシ・サーバーとしての設定に関する項を参照してください。

23.3.2 ADパスワード・ワークフロー要素の作成および構成

SSLがパスワード変更でのみ必要な場合、およびすべてのLDAP操作で必要な場合の、ADパスワード・ワークフロー要素を作成して構成できます。

次の各トピックでは、ADパスワード・ワークフロー要素を作成および構成する方法について説明します。

23.3.2.1 ADパスワード・ワークフロー要素の作成および構成

ADパスワード・ワークフロー要素およびサポートされるコンポーネントを作成および構成する場合、次の2つの選択肢があります。

2つの選択肢は次のとおりです。

  • パスワード変更でのみSSLが必要

    このユースケースでは、secure-proxy-workflow-elementおよびnext-workflow-elementの両方のプロパティでADパスワード・ワークフロー要素を定義する必要があります。secure-proxy-workflow-elementは、remote-ldap-server-ssl-policyalwaysに設定されたLDAPサーバー拡張を使用する必要があります。

    このユースケースでは、パスワードの変更操作がsecure-proxy-workflow-elementにルーティングされ、SSL経由で実行されます。パスワード変更に関係のない操作はnext-workflow-elementにルーティングされ、非SSL接続経由で実行されます。

    「パスワード変更でのみSSLが必要な場合のADパスワード・ワークフロー要素の構成」を参照してください。

  • すべてのLDAP操作でSSLが必要

    このユースケースでは、プロキシLDAPワークフローが、常にSSLを使用する(remote-ldap-server-ssl-policyalwaysに設定されている) LDAPサーバー拡張を指している必要があります。ADパスワード・ワークフロー要素は、next-workflow-elementプロパティでのみ定義できます。すべての操作がnext-workflow-elementにルーティングされ、SSL経由で実行されます。

    「すべてのLDAP操作でSSLが必要な場合のADパスワード・ワークフロー要素の構成」を参照してください。

23.3.2.2 パスワード変更でのみSSLが必要な場合のADパスワード・ワークフロー要素の構成

次のタスクでは、パスワード変更を実行するLDAP操作でのみActive DirectoryまたはAD LDSサーバーへのSSL接続が必要な場合のADパスワード・ワークフロー要素およびその必須コンポーネントが作成および構成されます。その他のLDAP操作は非SSL接続経由で実行されます。

次のようなタスクがあります。

23.3.2.2.1 LDAPサーバー拡張の作成

このユースケースでは、リモートActive DirectoryまたはAD LDSサーバーと通信するための2つのLDAPサーバー拡張が必要です。

  • SSL接続を必要としないLDAP操作用のLDAPサーバー拡張。

    LDAPクライアントからActive DirectoryまたはAD LDSサーバーへのSSL接続を必要としないLDAPサーバー拡張を作成するには:

    $ dsconfig create-extension \
      --set enabled:true \
      --set remote-ldap-server-address:adserver.example.com \
      --set remote-ldap-server-port:389 \
      --set remote-ldap-server-ssl-port:636 \
      --type ldap-server \
      --extension-name adserver \
      --hostname localhost \
      --port 4444 \
      --trustAll \
      --bindDN cn=directory\ manager \
      --bindPasswordFile pwd.txt \
      --no-prompt
    

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

    • このコマンドではremote-ldap-server-ssl-policyが設定されていないため、デフォルト値のneverによって非SSL接続が指定されます。

    • 非SSL接続用にextension-nameadserverに設定されています。

    • LDAPサーバー拡張をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

    および

  • SSL接続を必要とするLDAP操作用のLDAPサーバー拡張。

    LDAPクライアントからActive DirectoryまたはAD LDSサーバーへのSSL接続を必要とするLDAPサーバー拡張を作成するには:

    $ dsconfig create-extension \
      --set enabled:true \
      --set remote-ldap-server-address:adserver.example.com \
      --set remote-ldap-server-ssl-policy:always \
      --set remote-ldap-server-port:389 \
      --set remote-ldap-server-ssl-port:636 \
      --set ssl-trust-all:true \
      --type ldap-server \
      --extension-name adsecureserver \
      --hostname localhost \
      --port 4444 \
      --trustAll \
      --bindDN cn=directory\ manager \
      --bindPasswordFile pwd.txt \
      --no-prompt
    

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

    • remote-ldap-server-ssl-policyalwaysに設定されているため、Active DirectoryまたはAD LDSサーバーにアクセスするために常にSSL接続が使用されます。

    • SSL接続を示すためにextension-nameadsecureserverに設定されています。

    • LDAPサーバー拡張をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

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

このユースケースでは、リモートActive DirectoryまたはAD LDSサーバーと通信するための2つのプロキシLDAPワークフロー要素が必要です。

  • Active DirectoryまたはAD LDSサーバーへのSSL接続を必要としないLDAP操作用のプロキシLDAPワークフロー要素。

    LDAPクライアントからActive DirectoryまたはAD LDSサーバーへのSSL接続を必要としないプロキシLDAPワークフロー要素を作成するには:

    $ dsconfig create-workflow-element \
      --set client-cred-mode:use-client-identity \
      --set enabled:true \
      --set ldap-server-extension:adserver \
      --type proxy-ldap \
      --element-name adproxy \
      --hostname localhost \
      --port 4444 \
      --trustAll \
      --bindDN cn=directory\ manager \
      --bindPasswordFile pwd.txt \
      --no-prompt
    

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

    • client-cred-modeuse-client-identityバインド・モードに設定されており、これはプロキシが、クライアントがプロキシに接続するために使用したものと同じ資格証明を使用してActive DirectoryまたはAD LDSサーバーに接続することを示します。

    • element-nameにより、プロキシLDAPワークフロー要素の名前にadproxyが指定されます。

    • ldap-server-extensionにより、LDAPサーバー拡張の名前にadserverが指定されます。

    • ADパスワード・ワークフロー要素をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

    および

  • Active DirectoryまたはAD LDSサーバーへのSSL接続を必要とするLDAP操作用のセキュアなプロキシLDAPワークフロー要素。

    LDAPクライアントからActive DirectoryまたはAD LDSサーバーへのSSL接続を使用するセキュアなプロキシLDAPワークフロー要素を作成するには:

    $ dsconfig create-workflow-element \
      --set client-cred-mode:use-client-identity \
      --set enabled:true \
      --set ldap-server-extension:adsecureserver \
      --type proxy-ldap \
      --element-name adsecureproxy \
      --hostname localhost \
      --port 4444 \
      --trustAll \
      --bindDN cn=directory\ manager \
      --bindPasswordFile pwd.txt \
      --no-prompt
    

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

    • client-cred-modeuse-client-identityバインド・モードに設定されており、これはプロキシが、クライアントがプロキシに接続するために使用したものと同じ資格証明を使用してActive DirectoryまたはAD LDSサーバーに接続することを示します。

    • element-nameにより、セキュアなプロキシLDAPワークフロー要素の名前にadsecureproxyが指定されます。

    • ldap-server-extensionにより、LDAPサーバー拡張の名前にadsecureserverが指定されます。

    • プロキシLDAPワークフロー要素をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

23.3.2.2.3 ADパスワード・ワークフロー要素の作成

このユースケースでは、Active DirectoryまたはAD LDSサーバーへのSSL接続および非SSL接続の両方をサポートするLDAP操作を処理できるADパスワード・ワークフロー要素が必要です。

このADパスワード・ワークフロー要素を作成するには:

$ dsconfig create-workflow-element \
  --set enabled:true \
  --set next-workflow-element:adproxy \
  --set secure-proxy-workflow-element:adsecureproxy \
  --type ad-password \
  --element-name ADPasswordWFE \
  --hostname localhost \
  --port 4444 \
  --trustAll \
  --bindDN cn=directory\ manager \
  --bindPasswordFile pwd.txt \
  --no-prompt

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

  • typead-passwordである必要があります。

  • element-nameにより、ワークフロー名にADPasswordWFEが指定されます。

  • next-workflow-elementにより、非SSL接続経由で操作をルーティングするadproxyという名前のプロキシLDAPワークフロー要素にLDAP操作がルーティングされます。

  • secure-proxy-workflow-elementにより、SSL接続経由で操作をルーティングするadsecureproxyという名前のプロキシLDAPワークフロー要素にLDAP操作がルーティングされます。

  • ADパスワード・ワークフロー要素をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

23.3.2.3 すべてのLDAP操作でSSLが必要な場合のADパスワード・ワークフロー要素の構成

次の構成タスクでは、LDAPクライアントとActive DirectoryまたはAD LDSサーバー間のすべてのLDAP操作をSSL接続経由で実行する必要がある場合の、ADパスワード・ワークフロー要素のコンポーネントが作成および構成されます。

23.3.2.3.1 LDAPサーバー拡張の作成

ADパスワード・ワークフロー要素には、リモートActive DirectoryまたはAD LDSサーバーと通信するためのLDAPサーバー拡張が必要です。

常にSSL接続を使用するLDAPサーバー拡張を作成するには:

$ dsconfig create-extension \
  --set enabled:true \
  --set remote-ldap-server-address:adserver.example.com \
  --set remote-ldap-server-port:389 \
  --set remote-ldap-server-ssl-port:636 \
  --set remote-ldap-server-ssl-policy:always \
  --set ssl-trust-all:true \
  --type ldap-server \
  --extension-name adsecureserver \
  --hostname localhost \
  --port 4444 \
  --trustAll \
  --bindDN cn=directory\ manager \
  --bindPasswordFile pwd.txt \
  --no-prompt

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

  • typeldap-serverである必要があります。

  • extension-nameにより、新しい拡張の名前としてadsecureserverが定義されます。

  • remote-ldap-server-ssl-policyプロパティがalwaysに設定されているため、プロキシ・サーバーへのクライアントの接続方法に関係なく、プロキシからリモートActive DirectoryまたはAD LDSサーバーへのすべての接続でSSLが使用されます。

  • LDAPサーバー拡張をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

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

このユースケースでは、リモートActive DirectoryまたはAD LDSサーバーとSSL経由で通信するためのセキュアなプロキシLDAPワークフロー要素が必要です。

セキュアなプロキシLDAPワークフロー要素を作成するには:

$ dsconfig create-workflow-element \
  --set client-cred-mode:use-client-identity \
  --set enabled:true \
  --set ldap-server-extension:adsecureserver \
  --type proxy-ldap \
  --element-name adsecureproxy \
  --hostname localhost \
  --port 4444 \
  --trustAll \
  --bindDN cn=directory\ manager \
  --bindPasswordFile pwd.txt \
  --no-prompt

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

  • typeproxy-ldapである必要があります。

  • element-nameにより、新しいプロキシLDAPワークフロー要素の名前にadsecureproxyが指定されます。

  • ldap-server-extensionadsecureserverに設定されます。これは、remote-ldap-server-ssl-policyプロパティがalwaysに設定されているLDAPサーバー拡張の名前です。

  • client-cred-modeuse-client-identityに設定されており、これはプロキシが、クライアントがプロキシに接続するために使用したものと同じ資格証明を使用してActive DirectoryまたはAD LDSサーバーに接続することを示します。

  • プロキシLDAPワークフロー要素をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

23.3.2.3.3 ADパスワード・ワークフロー要素の作成

このユースケースでは、Active DirectoryまたはAD LDSサーバーへのSSL接続を常に必要とするLDAP操作を処理できるADパスワード・ワークフロー要素が必要です。

このADパスワード・ワークフロー要素にはnext-workflow-elementプロパティのみが必要です。すべての操作がSSL接続経由で実行されます。

このADパスワード・ワークフロー要素を作成するには:

$ dsconfig create-workflow-element \
  --set enabled:true \
  --set next-workflow-element:adsecureproxy \
  --type ad-password \
  --element-name ADPasswordWFE \
  --hostname localhost \
  --port 4444 \
  --trustAll \
  --bindDN cn=directory\ manager \
  --bindPasswordFile pwd.txt \
  --no-prompt

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

  • next-workflow-elementプロパティが、adsecureproxyという名前のセキュアなプロキシLDAPワークフロー要素に設定されています。

  • typead-passwordである必要があります。

  • element-nameADPasswordWFEに設定されています。

  • ADパスワード・ワークフロー要素をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

23.3.3 ADパスワード・ワークフロー要素のワークフローの作成

ADパスワード・ワークフロー要素をワークフローと関連付ける必要があります。

次の例は、「ADパスワード・ワークフロー要素の作成および構成」で説明している両方のユースケースに適用されます。

ADパスワード・ワークフロー要素のワークフローを作成するには:

$ dsconfig create-workflow \
  --set base-dn:dc=example,dc=com \
  --set enabled:true \
  --set workflow-element:ADPasswordWFE \
  --type generic \
  --workflow-name adworkflow \
  --hostname localhost \
  --port 4444 \
  --trustAll \
  --bindDN cn=directory\ manager \
  --bindPasswordFile pwd.txt \
  --no-prompt

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

  • workflow-elementが、ADPasswordWFEという名前のADパスワード・ワークフロー要素に設定されています。

  • workflow-nameadworkflowに設定されています。

  • ADパスワード・ワークフロー要素をサーバーで使用できるようにするために、enabledtrueに設定する必要があります。

23.3.4 ネットワーク・グループへのワークフローの追加

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

前のタスクから既存のネットワーク・グループまたは新しいネットワーク・グループのいずれかにワークフローを追加する必要があります。

次の例は、「ADパスワード・ワークフロー要素の作成および構成」で説明している両方のユースケースに適用されます。これにより、adworkflowワークフローがデフォルトのネットワーク・グループ(network-group)に追加されます。

$ dsconfig set-network-group-prop \
  --group-name network-group \
  --add workflow:adworkflow \
  --hostname localhost \
  --port 4444 \
  --trustAll \
  --bindDN cn=directory\ manager \
  --bindPasswordFile pwd.txt \
  --no-prompt

23.4 パススルー認証の構成の概要

パススルー認証を実装するには、dsconfigコマンドおよびOUDSMを使用します。

次の各トピックでは、パススルー認証の実装方法について説明します。

23.4.1 パススルー認証の構成

パススルー認証を構成するには、前提条件およびベスト・プラクティス情報を確認する必要があります。

ノート:

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

ノート:

パススルー認証の詳細は、「パススルー認証の理解」を参照してください。

パススルー認証を実装するには:

  1. 次の前提条件およびベスト・プラクティス情報を確認し、必要に応じて、前提条件のステップを実行します。
  2. パススルー認証を構成します。
  3. パススルー認証のワークフロー要素またはKerberosワークフロー要素を使用して、ワークフローを作成します。
  4. ステップ3で作成したワークフローを、既存のネットワーク・グループまたは新しいネットワーク・グループに挿入します。

23.4.2 パススルー認証の構成の前提条件

これらの前提条件を確認してから、パススルー認証の構成を開始します。

パススルー認証を実装する前に、「パススルー認証の理解」を参照してください。また、パススルー認証を構成する際は、次のステップに従う必要があります。

  1. 認証プロバイダのワークフロー要素を作成または識別します。
    • 資格証明がリモートLDAPサーバーに格納されている場合、このリモート・サーバーに対するLDAPサーバー拡張およびプロキシLDAPワークフロー要素を作成し、このプロキシLDAPワークフロー要素をauth-provider-workflow-elementとして使用する必要があります。詳細は、「異なるサーバーに対するパススルー認証の構成」を参照してください。

      remote-root-dnパラメータおよびremote-root-passwordパラメータを構成し、client-cred-mode=use-client-identityバインド・モードを設定する必要があることに注意してください。

      LDAPサーバー拡張の作成方法の詳細は、「LDAPサーバー拡張の構成」を参照してください。

    • 資格証明がKerberosサーバー内に格納されている場合、Kerberosワークフロー要素を作成し、このKerberosワークフロー要素を「Kerberosサーバーに対するパススルー認証の構成」のステップ1でauth-provider-workflow-elementとして使用する必要があります。

  2. ユーザー・プロバイダのワークフロー要素を作成または識別します。
    • ユーザー・エントリがリモートLDAPサーバーに格納されている場合、このリモート・サーバーに対するLDAPサーバー拡張およびプロキシLDAPワークフロー要素を作成し、このプロキシLDAPワークフロー要素をuser-provider-workflow-elementとして使用する必要があります。詳細は、「異なるサーバーに対するパススルー認証の構成」を参照してください。

      remote-root-dnパラメータおよびremote-root-passwordパラメータを構成する必要があることに注意してください。

      LDAPサーバー拡張の作成方法の詳細は、「LDAPサーバー拡張の構成」を参照してください。

    • ユーザー・エントリがローカルに格納されている場合、ローカル・バックエンド・ワークフロー要素を作成し、このローカル・バックエンド・ワークフロー要素をuser-provider-workflow-elementとして使用する必要があります。詳細は、「異なるサーバーに対するパススルー認証の構成」を参照してください。

23.4.3 パススルー認証の構成のメカニズムのベスト・プラクティス

パススルー認証の構成には次のベスト・プラクティスを実施することをお薦めします。

  • ユーザー・プロバイダ・ワークフロー要素と認証プロバイダ・ワークフロー要素に異なる接尾辞を使用している場合は、データを保護するために仮想ACIを定義することをお薦めします。仮想ACIはpta-suffixを使用して定義します。

  • 認証プロバイダがKerberosワークフロー要素の場合、結合ルールや認証サフィックスは指定しないでください。

  • 認証プロバイダがプロキシ・ワークフロー要素の場合、remote-root-dnを構成する必要があります。

  • ユーザー・プロバイダがプロキシ・ワークフロー要素の場合、remote-root-dnを構成する必要があります。プロキシ・サーバーは、サイレント・バインドを実行するため、慎重に構成する必要があります。

23.4.4 dsconfigを使用したパススルー認証の構成

様々なサーバーおよびKerberosサーバーに対するパススルー認証を構成するには、dsconfigコマンドを使用します。

次の例では、ベースDN dc=auth,dc=comを使用して資格情報を格納するリモートLDAPサーバーでパススルー認証を構成します。Oracle Unified Directoryインスタンスは、ユーザー・エントリをdc=user,dc=com接尾辞の下にローカルに格納します。

ここでは、リモートLDAPサーバーは認証サーバーとして動作し、Oracle Unified Directoryはユーザー・サーバーとして動作します。

次の各プロシージャで使用するすべてのコマンドで、プロキシ・ホスト名(-h)、プロキシ管理ポート(-p)、バインドDN(-D)およびバインド・パスワード・ファイル(-j)が指定されます。各例では、すべての証明書を信頼するために-Xオプションが使用されます。

この項では、次の項目について説明します。

23.4.4.1 異なるサーバーに対するパススルー認証の構成

異なるサーバーに対するパススルー認証は、次の各項で説明するように構成できます。

リモートLDAPサーバーに対してパススルー認証を構成するには:

  1. 資格証明を格納しているLDAPサーバーのLDAPサーバー拡張を作成します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" \
    -j pwd-file -X -n create-extension --extension-name authServer \
    --type ldap-server --set enabled:true \
    --set remote-ldap-server-address:authHostname \
    --set remote-ldap-server-port:1389 \
    

    LDAPサーバー拡張の作成方法の詳細は、「LDAPサーバー拡張の作成」を参照してください。

  2. ステップ1で作成したLDAPサーバー拡張を使用して、プロキシLDAPワークフロー要素を作成します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
    create-workflow-element --element-name authProxy --type proxy-ldap \
    --set enabled:true --set client-cred-mode:use-client-identity \
    --set ldap-server-extension:authServer \
    --set remote-root-dn:cn=administrator,cn=users,dc=auth,dc=com \
    --set remote-root-password:********
    

    プロキシLDAPワークフロー要素の作成方法の詳細は、「プロキシLDAPワークフロー要素の作成」を参照してください。

  3. ローカル・バックエンド・ワークフロー要素を作成して、dc=user,dc=com接尾辞の下にユーザー・エントリをローカルに格納します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
    create-workflow-element --element-name userWfe --type db-local-backend \
    --set enabled:true --set base-dn:"dc=user,dc=com"
    
  4. パススルー認証のワークフロー要素を作成します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
    create-workflow-element --element-name ptaWfe \
    --type pass-through-authentication --set enabled:true \
    --set auth-provider-workflow-element:authProxy \
    --set user-provider-workflow-element:userWfe \
    --set pta-auth-suffix:dc=auth,dc=com --set pta-suffix:dc=user,dc=com \
    --set pta-user-suffix:dc=user,dc=com
    
23.4.4.2 Kerberosサーバーに対するパススルー認証の構成

Kerberosサーバーに対するパススルー認証は、次の項で説明するように構成できます。

Kerberosワークフロー要素を使用してパススルー認証を構成するには:

  1. Kerberos認証プロバイダのワークフロー要素を作成します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
    create-workflow-element --type kerberos-auth-provider \
    --element-name kerberosWfe --set enabled:true
    
  2. ローカル・バックエンド・ワークフロー要素を作成して、dc=user,dc=com接尾辞の下にユーザー・エントリをローカルに格納します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
    create-workflow-element --element-name userWfe --type db-local-backend \
    --set enabled:true --set base-dn:dc=user,dc=com
    
  3. パススルー認証のワークフロー要素を作成します。
    dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
    create-workflow-element --element-name ptaWfe \
    --set auth-provider-workflow-element:kerberosWfe --set enabled:true \
    --set user-provider-workflow-element:userWfe --type pass-through-authentication
    

23.4.5 OUDSMを使用したパススルー認証構成の理解

パススルー認証を構成するには、ワークフロー要素を作成する必要があります。

OUDSMを使用したパススルー認証ワークフロー要素の構成の詳細は、「ワークフロー要素の作成」を参照してください。

23.5 Oracle Unified Directoryプラグインの構成について

特定の要件があり、Oracle Unified Directoryでその要件に対応するために必要な機能が提供されない場合、Oracle Unified DirectoryプラグインAPIを使用して既存のディレクトリ・サーバー機能を拡張できます。

たとえば、LDAP操作をカスタマイズしたり、結果をプログラムで操作するプラグインを構成できます。

ノート:

23.6 バックエンド・サーバーをモニターするためのプロキシ・インスタンスの構成

プロキシ・サーバーは、ヘルス・チェックを定期的に実行してホストのステータス、可用性を順に判別します。ldap-server-extensionインスタンスのmonitoring-check-intervalプロパティを使用すると、チェックの間の時間間隔を構成できます。

すべてのバックエンド・サーバーに対するプロキシ構成のmonitoring-check-intervalプロパティは、プロキシ・サーバーによってスケジュールされたヘルス・チェック間の時間間隔(ミリ秒)を定義します。

dsconfigコマンドを次のように使用すると、monitoring-check-intervalプロパティを設定できます。

dsconfig -h localhost -p 4444 -D "cn=directory manager" -j pwd-file --no-prompt\
set-extension-prop \
--extension-name proxy1 \
--set monitoring-check-interval:50000 \

23.7 コマンド行を使用したグローバル索引の構成

グローバル索引では、エントリが特定の分散パーティションにマップされるため、分散トポロジでの検索操作および変更操作が速くなります。グローバル索引では、電話番号など一意の属性に基づいてエントリがマップされます。グローバル索引のリストは、グローバル索引カタログに含まれます。1つのプロキシ・インスタンスに1つ以上のグローバル索引カタログを含めることができます。

ノート:

グローバル索引およびグローバル索引カタログを構成および管理するには、リモート・サーバーで特定の制御、特にLDAP読込み前制御およびCSN制御を有効にする必要があります。詳細は、「LDAP制御および操作のリファレンス」を参照してください。

この項では、次の項目について説明します。

23.7.1 gicadmを使用したグローバル索引カタログの構成

グローバル索引カタログは、INSTANCE_DIR/OUD/catalogsにあるBerkeleyデータベースに格納されます。分散トポロジの高可用性を確保するために、グローバル索引カタログのレプリケーションをお薦めします。

詳細は、「グローバル索引カタログのレプリケーション」を参照してください。

gicadmコマンドは、次のサーバー・インスタンス・ディレクトリにあります:

  • UNIXの場合: INSTANCE_DIR/OUD/bin/gicadm

  • Windowsの場合: INSTANCE_DIR\OUD\bat\gicadm.bat

詳細は、「gicadm」を参照してください。

この項で示している各プロシージャでは、分散アーキテクチャにプロキシがデプロイされており、デフォルトのプロキシ管理ポート(4444)を使用していることが前提となっています。この項では、次の項目について説明します。

23.7.1.1 グローバル索引が含まれるグローバル索引カタログの作成

グローバル索引を作成するには、次のプロシージャで示しているとおりに、まずグローバル索引カタログを作成する必要があります。このプロシージャでは、グローバル索引カタログの作成、グローバル索引の作成と追加およびグローバル索引へのデータの追加を実行する方法を示しています。必要に応じて、データは後でグローバル索引に追加できます。

開始する前に、プロキシを分散にデプロイしておく必要があります。

  1. gicadmコマンドを使用して、グローバル索引カタログを作成します:
    $ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
    create-catalog --catalogName sampleCatalog
    

    カタログ名は一意である必要があります。

  2. 作成したグローバル索引カタログに、少なくとも1つのグローバル索引を作成して追加します。

    次のコマンドによって、telephoneNumber属性値で構成されたグローバル索引が作成され、そのグローバル索引が、前のステップで作成したグローバル索引カタログに追加されます。

    $ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
      add-index --catalogName sampleCatalog --attributeName telephoneNumber
    

    後でadd-indexサブコマンドを使用して、追加のグローバル索引をこのグローバル索引カタログに追加できます。

  3. グローバル索引カタログを分散に関連付けます。
    $ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
      associate --catalogName sampleCatalog \
      --distributionWorkflowElement myDistributionName
    

    ワークフロー要素の詳細は、「dsconfigを使用したワークフロー要素の構成」を参照してください。分散の詳細は、「dsconfigコマンドを使用した分散デプロイメントの構成」を参照してください。

  4. split-ldifコマンドを使用して、1つのLDIFファイルから複数のファイルを生成します。

    split-ldifコマンドでは、プロキシで構成されている分散アルゴリズムに基づいて、1つのLDIFファイルのコンテンツが、複数のLDIFファイルに分割されます。このコマンドを使用して、グローバル索引にロードするデータを含めるファイルを生成することもできます。ディレクトリ・サービスを開始したときに索引付けする必要があるデータをリモートLDAPサーバーに含める場合は、グローバル索引の初期化時にsplit-ldifを使用する必要があります。ディレクトリにデータを含めない状態で開始する場合は、このステップを省略できます。

    split-ldifコマンドの詳細は、このコマンドを使用してグローバル索引に1つまたは複数の索引付き属性を移入する方法の例も含めて、「split-ldif」を参照してください。

  5. gicadm importコマンドを使用して、グローバル索引にデータをインポートします。
23.7.1.2 グローバル索引カタログのプロパティの表示

グローバル索引カタログのプロパティは、グローバル索引カタログのレプリケーションに関連しています。グローバル索引カタログのプロパティのリストおよびそれらの使用についての説明を表示するには、「グローバル索引カタログのプロパティの変更について」を参照してください。

グローバル索引カタログのすべてのプロパティを表示するには、gicadmコマンドをget-catalog-propサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  get-catalog-prop --catalogName sampleCatalog --property all

出力は、次のようになります。

Property   : Value(s)
-------------------:-------------------------------
replication-server : localhost:3390, localhost:4390
server-id          : 4247
window-size        : 100
heartbeat-interval : 1000
group-id           : 1

グローバル索引カタログの特定のプロパティの値を表示するには、そのプロパティを指定します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  get-catalog-prop --catalogName sampleCatalog --property heartbeat-interval
23.7.1.3 グローバル索引カタログのプロパティの変更について

グローバル索引のプロパティは、グローバル索引カタログのレプリケーションに関連しています。使用可能なグローバル索引カタログのプロパティは、次のとおりです:

  • replication-server: host:portの形式で、レプリケーション・トポロジ内のサーバーをリストします。set-catalog-propコマンドを使用してこのプロパティを変更しないでください。かわりに、enable-replicationコマンドを使用します。

  • server-id: グローバル索引カタログ・レプリケーション・ドメイン内のグローバル索引に一意の識別子を指定します。同一のグローバル索引カタログ・レプリケーション・ドメイン内の各インスタンスに、異なるサーバーIDを指定する必要があります。1つのインスタンスが複数のグローバル索引カタログ・レプリケーション・ドメインのメンバーとなっている場合は、それぞれのグローバル索引カタログ・レプリケーション・ドメイン構成で同じサーバーIDを使用できます。

    構文: 1 <= INTEGER <= 65535またはテキスト。このプロパティは変更しないでください。

  • window-size: インスタンスがレプリケーション・サーバーとの通信で使用するウィンドウ・サイズを指定します。デフォルト値は100です。

    構文: 0 <= INTEGERまたはテキスト。

  • heartbeat-interval: インスタンスがレプリケーション・サーバーとの通信で使用するハートビート間隔を指定します。インスタンスは、レプリケーション・サーバーからの、指定した間隔内での定期的なハートビートを予期します。ハートビートをこの間隔内に受信しなかった場合、インスタンスはその接続をクローズして、別のレプリケーション・サーバーに接続します。

    構文: 100 ms <= DURATION (ms)

  • group-id: 特定のレプリケートされたドメインに関連付けられたID。この値は、レプリケートされたドメインのグループIDを定義します。レプリケーション・システムは、自身のものと同じグループIDのレプリケーション・サーバーに接続して更新を送信し、レプリケートしようとします。

    構文: 1 <= INTEGER <= 127

    ノート:

    このプロパティは変更しないでください。

23.7.1.4 グローバル索引カタログのプロパティの変更

gicadmコマンドを使用して、グローバル索引カタログのプロパティを変更できます。

グローバル索引カタログのプロパティのリストは、「グローバル索引カタログのプロパティの変更について」を参照してください。

gicadmコマンドをset-catalog-propサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  set-catalog-prop --catalogName sampleCatalog --set property:value

たとえば、変更可能なプロパティの1つとして、ハートビート間隔があります。この場合、次のように実行します:

--set heartbeat-interval:500
23.7.1.5 グローバル索引カタログの複数値プロパティの変更

グローバル索引またはグローバル索引カタログの複数値プロパティの場合、--addオプションまたは--removeオプションを使用して、値を追加または削除できます。

グローバル索引カタログの場合、複数値を含めることができるのは、replication-serverプロパティのみです。グローバル索引の複数値プロパティの場合は、かわりにset-index-propサブコマンドを使用します。

  1. 値を追加するには、gicadmコマンドをset-catalog-propサブコマンドとともに使用します。
    $ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
      set-catalog-prop --catalogName sampleCatalog --add replication-server:hostname
    
  2. 複数値プロパティから値を削除するには、gicadmコマンドをset-catalog-propサブコマンドとともに使用します。
    $ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
      set-catalog-prop --catalogName sampleCatalog \
      --remove replication-server:hostname
23.7.1.6 グローバル索引カタログのプロパティのデフォルト値へのリセット

グローバル索引カタログのいずれかのプロパティを変更して、その後それらの値をデフォルト値にリセットする必要が生じた場合は、次のプロシージャを実行します。

gicadmコマンドをset-catalog-propサブコマンドとともに使用します。

たとえば、ハートビート間隔をリセットする場合は、次のように実行します:

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  set-catalog-prop --catalogName sampleCatalog --reset heartbeat-interval
23.7.1.7 グローバル索引プロパティの表示

グローバル索引のプロパティを表示するには、gicadmコマンドをget-index-propサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  get-index-prop --catalogName sampleCatalog --attributeName telephoneNumber \
  --property all

プロパティは、次のようになります:

Property Names                               : Property Values
---------------------------------------------:---------------------------------
global-index-deleted-entry-retention-timeout : 500
db-cleaner-min-utilization                   : 50
db-log-file-max                              : 10000000
db-checkpointer-bytes-interval               : 20000000
db-checkpointer-wakeup-interval              : 30
db-num-lock-tables                           : -
db-num-cleaner-threads                       : -
db-txn-no-sync                               : false
db-txn-write-no-sync                         : true
je-property                                  : -
db-directory                                 : catalogs
db-directory-permissions                     : 700
global-index-catalogs-shared-cache           : global-index-catalogs-shared-cac
global-index-attribute                       : telephoneNumber

ノート:

通常、これらの値は変更できません。

23.7.1.8 グローバル索引カタログへのコンテンツのインポート

特定のファイルのコンテンツを、グローバル索引カタログ内の1つまたは複数のグローバル索引にインポートできます。ファイルのコンテンツのインポート先のカタログの名前を指定する必要があります。オプションでattributeNameパラメータを指定することによって、ファイルのコンテンツを特定の索引に関連するデータにフィルタで抽出できます。

インポート対象のデータ・ファイルは、たとえば、split-ldifコマンドまたはgicadm exportコマンドを実行することによって作成できます。

ファイルのコンテンツをグローバル索引カタログにインポートするには、gicadmコマンドをimportサブコマンドとともに使用します。たとえば:

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  import --file /usr/local/import-file --catalogName sampleCatalog

gicadm importタスクの実行中にプロキシ・サーバーが停止すると、グローバル索引カタログ・ワークフロー要素は無効になります。この場合、次のようにdsconfigを使用して、グローバル索引カタログ・ワークフロー要素を再度有効にします。ここで、sampleCatalogはグローバル索引カタログの名前です:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
  set-workflow-element-prop --element-name sampleCatalog set enabled:true
23.7.1.9 グローバル索引カタログ・コンテンツのディレクトリへのエクスポート

グローバル索引カタログのコンテンツをディレクトリにエクスポートするには、gicadmコマンドをexportサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  export --exportDirectory directory-path --catalogName sampleCatalog
23.7.1.10 グローバル索引カタログの分散要素への関連付け

グローバル索引カタログを分散要素に関連付けるには、gicadmコマンドをassociateサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  associate --catalogName sampleCatalog --distributionWorkflowElement element-name

グローバル索引カタログを分散ワークフロー要素に関連付けると、グローバル索引カタログが分散のプロパティにリストされるようになります。分散に関連付けるグローバル索引カタログを確認するには、dsconfig get-workflow-element-propコマンドを使用します。ワークフロー要素の詳細は、「dsconfigを使用したワークフロー要素の構成」を参照してください。

23.7.1.11 グローバル索引カタログの分散要素への関連付けの解除

グローバル索引カタログの分散トポロジへの関連付けを解除するには、グローバル索引カタログが関連付けられている分散ワークフロー要素を確認する必要があります。対象のグローバル索引カタログを使用している分散ワークフロー要素の名前を確認するには、dsconfig get-workflow-element-propコマンドを使用して、分散トポロジのプロパティを表示します。

グローバル索引カタログの分散ワークフロー要素への関連付けを解除するには、gicadmコマンドをdisassociateサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
 disassociate --distributionWorkflowElement element-Name
23.7.1.12 グローバル索引カタログへのグローバル索引の追加

たとえば新規属性をマップするために、新規グローバル索引を既存のグローバル索引カタログに追加するには、次のプロシージャを使用します。このプロシージャによって、グローバル索引が作成され、グローバル索引カタログに追加されます。グローバル索引カタログには追加することなく、グローバル索引を作成することはできません。

開始する前に、グローバル索引カタログを構成しておく必要があります。

gicadmコマンドをadd-indexサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  add-index --catalogName sampleCatalog --attributeName telephoneNumber
23.7.1.13 グローバル索引カタログからのグローバル索引の削除

グローバル索引カタログからグローバル索引を削除するには、gicadmコマンドをremove-indexサブコマンドとともに使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  remove-index --catalogName sampleCatalog --attributeName telephoneNumber

23.7.2 グローバル索引カタログのレプリケーション

高可用性を確保するために、グローバル索引カタログをレプリケートする必要があります。

「構成7: レプリケートされる複数のプロキシ」の図で示しているように、標準のハードウェア・ロード・バランサを使用でき、デプロイメント内のグローバル索引カタログのレプリケーションを構成できます。

この項では、次の項目について説明します。

23.7.2.1 レプリケート・トポロジの作成およびグローバル索引カタログのレプリケーションの有効化

この項では、3つのプロキシ・インスタンスが設定されたレプリケート・トポロジを作成し、グローバル索引カタログのレプリケーションを有効にする方法について説明します。

この項では、図23-1に示しているように、3つのプロキシ・インスタンスが設定されたレプリケート・トポロジを作成し、グローバル索引カタログのレプリケーションを有効する方法について説明します。

図23-1 レプリケートされたグローバル索引カタログ

図23-1の説明が続きます
「図23-1 レプリケートされたグローバル索引カタログ」の説明

レプリケート・トポロジを作成してグローバル索引カタログのレプリケーションを有効にするには:

  1. サーバー・トポロジに、少なくとも2つのプロキシ・インスタンスをインストールします。

    これらのインスタンスは、冗長性のために、個別の物理マシンに配置する必要があります。

  2. トポロジ内のプロキシのインスタンスごとに1つのグローバル索引カタログを構成して、1つ以上のグローバル索引を追加します。

    gicadmコマンドを使用したグローバル索引カタログの構成の詳細は、「グローバル索引が含まれるグローバル索引カタログの作成」を参照してください。

  3. グローバル索引カタログのレプリケーションを有効にします。

    トポロジ全体で、グローバル索引カタログがレプリケートされるプロキシ・インスタンスは、CLI構文においては、localインスタンスと見なされますが、コマンドで宣言されたその他のプロキシ・インスタンスはremoteインスタンスと見なされます。gicadm enable-replicationコマンド実行の詳細は、「グローバル索引カタログのレプリケーションの有効化」を参照してください。

    レプリケート・トポロジに含まれるプロキシごとにこのステップを繰り返します。

  4. レプリケーションを初期化するプロキシ・インスタンスを選択します。グローバル索引カタログのコンテンツが最新となっているプロキシ・インスタンスを確認します。

    あるいは、トポロジに含まれる各プロキシにLDIFファイルをインポートできます。「グローバル索引カタログへのコンテンツのインポート」を参照してください。

  5. 前のステップで選択したプロキシ・インスタンスで、gicadm initialize-replication --allコマンドを実行します。詳細は、「グローバル索引カタログのレプリケーションの初期化」を参照してください。

    ノート:

    レプリケートされた複数のリモートLDAPサーバーで1つのグローバル索引カタログを使用する際に、書込み操作で同一の値を同時に変更できる上に、その値が索引付けされている場合は、1つのリモートLDAPサーバーのみでそれらの書込み操作を処理する必要があります。このためには、ロード・バランシング・ワークフロー要素の重みを、すべての書込みトラフィックが同一サーバーに送られるように設定できます。詳細は、「ロード・バランシングのプロパティの変更」を参照してください。

23.7.2.2 グローバル索引カタログのレプリケーションの有効化

このコマンドでは、レプリケーションが構成されますが、レプリケーションの初期化は行われません。このコマンドは、-hオプションによって宣言されたローカル・ホストで、そのローカル・ホストの管理ポートを使用して実行されます。リモート・ホストは、--remoteHostオプションによって宣言されますが、完全修飾ホスト名またはIPアドレスである必要があります。このコマンドによって、バインドIDがadminUIDであるグローバル索引カタログ・レプリケーション管理者が作成されます。

インストール時にグローバル索引カタログを作成した場合は、グローバル索引管理者はすでに作成されており、このパスワードはディレクトリ・マネージャのものと同じです。グローバル索引を使用した分散デプロイメントのインストールの詳細は、『Oracle Unified Directoryのインストール』単純な分散の構成に関する項を参照してください。

グローバル索引カタログのレプリケーションを有効にするには、gicadm enable-replicationコマンドを使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  enable-replication --catalogName sampleCatalog --adminUID adminUID
  --localReplicationPort 8989 --remoteReplicationPort 8989 \
  --remoteAdminPort 4444 --remoteHost host

このコマンドによって、ローカル・ホスト上のsampleCatalogというグローバル索引カタログのコンテンツをレプリケートするようプロキシ構成が更新されます。トポロジ内のいずれかのプロキシ・インスタンスですでにグローバル索引カタログがレプリケートされている場合、このコマンドによってトポロジ内のその他すべてのプロキシ・インスタンスの構成が更新されます。このため、トポロジ内の最初の2つのプロキシ・インスタンスに対してgicadm enable-replicationを実行した後は、トポロジを拡張するために追加される新規プロキシ・インスタンスごとにこのコマンドを1回実行すれば十分です。

このコマンドを実行するプロキシ・インスタンスのレプリケーション・ポートを--localReplicationPortオプションで宣言しておく必要があります。このローカル・インスタンスのグローバル索引カタログが、後でgicadm initialize-replicationコマンドによってトポロジ全体にレプリケートされることになります。--remoteReplicationPortオプションによって、sampleCatalogというグローバル索引カタログのコンテンツが、このローカル・インスタンスからリモート・インスタンスにレプリケートされます。--remoteAdminPortは、リモート・プロキシ・インスタンスの管理ポートです。

ファイルに格納されている、ローカル・プロキシ・インスタンスのパスワードを--adminPasswordFileサブオプションを使用して宣言できます。

オプションで、--remoteBindDNサブオプションを使用してリモート・サーバーへのバインドのためのDNを、および--remoteBindPasswordFileサブオプションを使用してファイル内の、リモート・プロキシ・インスタンスのパスワードを宣言できます。これらを宣言しないと、--adminUIDによって宣言されたグローバル管理者がバインドに使用されます。

またオプションで、--localSecureReplicationサブオプションを使用してローカル・サーバーのレプリケーションポートを通した通信、および--remoteSecureReplicationサブオプションを使用してリモート・サーバーのレプリケーション・ポートを通した通信のセキュリティの確保を必須とすることもできます。

23.7.2.3 グローバル索引カタログのレプリケーションの初期化

このコマンドによって、-hオプションによって宣言されたサーバー上のプロキシ・インスタンスから、トポロジに含まれるすべてのインスタンスへのsampleCatalogというグローバル索引カタログのコンテンツが初期化されます。指定するポートは管理ポートであり、レプリケーション・ポートではありません。

  1. レプリケーション・トポロジに含まれるすべてのプロキシ・インスタンスへのグローバル索引カタログのレプリケーションを初期化するには、次のように、gicadm initialize-replication --allを使用します:
    $ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
      initialize-replication --catalogName sampleCatalog \
      --adminUID adminUID --all
    
  2. gicadm status-replicationコマンドを使用して、レプリケーションが完了したことを確認します。

    レプリケーションが完了していない場合は、トポロジ内のすべてのプロキシ・インスタンスのステータスがrunning replicatedとなっています。

    たとえばパッチを適用した後に、トポロジ内のプロキシ・インスタンスを再起動する前に、レプリケーションが完了している必要があります。

    gicadm status-replicationコマンドの使用方法の詳細は、「レプリケートされたグローバル索引カタログ構成のステータスの表示」を参照してください。

23.7.2.4 グローバル索引カタログのレプリケーションの無効化

グローバル索引カタログのレプリケーションを無効にするには、gicadm disable-replicationコマンドを使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  disable-replication --catalogName sampleCatalog --adminUID adminUID

gicadm disable-replicationコマンドは、トポロジ内の、レプリケーションを無効にするプロキシ・インスタンスごとに実行する必要があります。

23.7.2.5 レプリケートされたグローバル索引カタログ構成のステータスの表示

レプリケートされたグローバル索引カタログの基本構成情報を表示するには、gicadm status-replicationコマンドを使用します。

$ gicadm -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X \
  status-replication --catalogName sampleCatalog --adminUID adminUID

カタログ名を宣言しないと、レプリケートされたすべてのグローバル索引カタログのステータス情報が表示されます。

23.7.2.6 レプリケーション・アクティビティのロギング

レプリケーション・ログは、レプリケーション修復ログに格納されます。変更は変更ログに記録されます。

これらのログへのアクセスの詳細は、「ログへのアクセス」を参照してください。

グローバル索引カタログをレプリケートする場合は、変更ログ用のディスク領域をプロビジョニングしてください。デフォルトで、これらのログには変更が24時間格納されます。300,000回の書込み操作に、訳100MBが必要です。デフォルト値の24時間では、その期間に予期されるサービスのサイズに基づいてログを構成する必要があります。ヒントとして、24時間で1秒当たり5000回の変更につき約150GBのプロビジョニングが考えられます。ログを構成する方法の詳細は、「ログの構成」を参照してください。

23.7.2.7 レプリケートされたグローバル索引カタログのライフサイクルの例

この項では、レプリケーション・トポロジでイベントが発生した場合の典型的なライフサイクルの例をいくつか示します。

これらすべての例で使用している基本のレプリケーション・トポロジは、「レプリケート・トポロジの作成およびグローバル索引カタログのレプリケーションの有効化」で作成したものです。

次の各トピックでは、グローバル索引カタログの作成、グローバル索引の再起動、グローバル索引のグローバル索引カタログ・トポロジへの追加、グローバル索引カタログのコンテンツの上書き、およびレプリケート・トポロジへのプロキシの追加について、例を使用して方法を説明します。

23.7.2.7.1 グローバル索引カタログの再起動

この項では、グローバル索引カタログを再起動する手順について説明します。

図23-2で示している例では、3つのプロキシ・インスタンスが、レプリケートされたグローバル索引カタログを指定して実行されています。プロキシ・インスタンス3がなんらかの理由でダウンするか停止した場合、次のステップに従って、3つのプロキシ・インスタンスがレプリケートされていることを確認します。

  1. プロキシ・インスタンス3で、start-dsコマンドを発行します。
  2. 「レプリケートされたグローバル索引カタログ構成のステータスの表示」に示されているように、gicadm status-replicationコマンドを実行することによって、レプリケーションが完了しているかどうかを確認できます。

図23-2 グローバル索引カタログの再起動

図23-2の説明が続きます
「図23-2 グローバル索引カタログの再起動」の説明
23.7.2.7.2 レプリケートされたグローバル索引カタログ・トポロジへのグローバル索引の追加

この項では、レプリケートされたグローバル索引カタログ・トポロジにグローバル索引を追加する手順について説明します。

図23-3で示している例では、3つのプロキシ・インスタンスが、レプリケートされたグローバル索引カタログを指定して実行されています。レプリケートされたグローバル索引カタログに、属性(たとえば、mail)を追加するには、次のステップに従います。

  1. まず、3つのプロキシ・インスタンスそれぞれで、gicadm add-index mailコマンドを実行します。
  2. 分散ルートの下のディレクトリ・データをいずれかのリモートLDAPサーバーからfile1という名前のLDIFファイルに、export-ldifを使用してエクスポートします。
  3. split-ldifを実行して、指定したディレクトリにGICコンテンツを生成します。
  4. プロキシ・インスタンス1で、コマンドgicadm import --importDirectory directory-nameを実行します。
  5. プロキシ・インスタンス1で、gicadm initialize-replication --allコマンドを実行します。このコマンドによって、変更が、プロキシ1からトポロジ内のその他すべてのプロキシにプッシュされ、新規グローバル索引が追加されます。

図23-3 レプリケートされたグローバル索引カタログ・トポロジへのグローバル索引の追加

図23-3の説明が続きます
「図23-3 レプリケートされたグローバル索引カタログ・トポロジへのグローバル索引の追加」の説明
23.7.2.7.3 レプリケートされたグローバル索引カタログのコンテンツの上書き

この項では、レプリケートされたグローバル索引カタログのコンテンツを上書きする手順について説明します。

図23-4で示している例では、3つのプロキシ・インスタンスが、レプリケートされたグローバル索引カタログを指定して実行されています。プロキシ・インスタンス2および3のグローバル索引カタログのコンテンツをインスタンス1のグローバル索引カタログのコンテンツで上書きするには、次のステップに従います。

  1. プロキシ・インスタンス1で、gicadm initialize-replication --allコマンドを実行します。これによってプロキシ・インスタンス2および3のグローバル索引カタログのコンテンツが、プロキシ・インスタンス1のグローバル索引カタログのコンテンツに置き換わります。

図23-4 レプリケートされたグローバル索引カタログのコンテンツの上書き

図23-4の説明が続きます
「図23-4 レプリケートされたグローバル索引カタログのコンテンツの上書き」の説明
23.7.2.7.4 レプリケート・トポロジへのプロキシの追加

この項では、レプリケート・トポロジにプロキシを追加する手順について説明します。

図23-5で示している例では、3つのプロキシ・インスタンスが、レプリケートされたグローバル索引カタログを指定して実行されています。レプリケートされたグローバル索引カタログが指定された4つ目のプロキシ・インスタンスを追加するには、その新規プロキシ・インスタンスについて次のステップを実行します。

  1. 新規のプロキシ・インスタンス4で、gicadm create-catalogコマンドを実行します。
  2. コマンドgicadm add-index cngicadm add-index snおよびgicadm add-index mailを実行します。
  3. gicadm associateコマンドを実行します。
  4. 次のコマンドを実行します。
    gicadm enable-replication --localReplicationPort replication port of 
    instance 4 --remoteHost name or IP address of host running instance 1
    

    このコマンドによって、インスタンス1からインスタンス4までのレプリケーションが構成されます。

  5. initialize replication --from proxy 1コマンドを実行します。

図23-5 レプリケート・トポロジへのプロキシの追加

図23-5の説明が続きます
「図23-5 レプリケート・トポロジへのプロキシの追加」の説明

23.7.3 グローバル索引カタログに必要な制御のOracle Unified Directoryを使用した構成

Oracle Unified Directoryディレクトリ・サーバーをLDAPデータ・ソースとして指定してプロキシ・サーバーを使用する場合、プロキシ・サーバーとディレクトリ・サーバーとの間の接続をディレクトリ・サーバーの管理IDを使用してバインドする必要があります。そうしない場合は、グローバル索引カタログが正常に機能できるようにディレクトリ・サーバーに一定の構成が必要です。

制御のグローバルACIが変更されていない場合は、ldapmodifyコマンドを使用して、次の変更をディレクトリ・サーバーに適用します。

dn: cn=Access Control Handler,cn=config
changetype: modify
add: ds-cfg-global-aci
ds-cfg-global-aci: 
(targetcontrol="2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 |
| 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 |
| 2.16.840.1.113730.3.4.16 || 1.3.6.1.1.13.1 || 1.3.6.1.4.1.42.2.27.9.5.9")
(version 3.0; acl "Anonymous control access"; allow(read) userdn="ldap:///anyone";)
 ds-cfg-global-aci: (targetattr="createTimestamp||creatorsName||modifiersName|
|modifyTimestamp||entryDN||entryUUID||subschemaSubentry||aclRights||aclRightsInfo")
(version 3.0; acl "User-Visible Operational Attributes"; allow (read,search,compare)
 userdn="ldap:///anyone";)

Oracle Unified Directory 11g R1ディレクトリ・インスタンスから削除する場合、次のACIを削除する必要があります。

dn: cn=Access Control Handler,cn=config
changetype: modify
delete: ds-cfg-global-aci
ds-cfg-global-aci: (targetcontrol="2.16.840.1.113730.3.4.2 ||
 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 ||
 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 ||
 2.16.840.1.113730.3.4.16") (version 3.0; acl "Anonymous control access";
 allow(read) userdn="ldap:///anyone";)
ds-cfg-global-aci: (targetattr="createTimestamp||creatorsName||modifiersName||
modifyTimestamp||entryDN||entryUUID||subschemaSubentry")
(version 3.0; acl "User-Visible Operational Attributes"; allow
 (read,search,compare) userdn="ldap:///anyone";)

Oracle Unified Directory 11g R2ディレクトリ・インスタンスから削除する場合、次のACIを削除する必要があります。

dn: cn=Access Control Handler,cn=config
changetype: modify
delete: ds-cfg-global-aci
ds-cfg-global-aci: (targetcontrol="2.16.840.1.113730.3.4.2 ||
 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 ||
 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 ||
 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31") 
(version 3.0; acl "Anonymous control access"; allow(read)
 userdn="ldap:///anyone";)

ノート:

前述のOIDは、Oracle Unified Directoryの未変更の構成に適しています。デフォルトのOIDを変更する場合、適切なOIDを含めるようコマンドを変更します。

グローバル索引カタログには次の制御が必要です:

  • 読込み前制御、OID = 1.3.6.1.1.13.1

  • CSN制御、OID = 1.3.6.1.4.1.42.2.27.9.5.9

23.8 仮想ACIの構成

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

デフォルトでは、ローカル・バックエンドと呼ばれるアクセス制御グループが作成されます。このアクセス制御グループには、ユーザー・データから取得されたすべてのACIが含まれています。「名前」属性は削除できません。ワークフローの仮想ACIが無効化されている場合、そのワークフローのアクセス制御グループとしてローカル・バックエンドを指定する必要があります。仮想ACIが無効になるワークフローの場合、任意のアクセス制御グループを使用できます。

ノート:

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

次の各トピックでは、dsconfigコマンドおよびOUDSMを使用してワークフローの仮想ACIを構成する方法について説明します。

23.8.1 dsconfigを使用した仮想ACIの構成

dsconfigを使用して、ワークフローの仮想ACIを有効化および無効化し、仮想ACIのレプリケーションを構成できます。

次の各トピックでは、ワークフローの仮想ACIを有効化および無効化する方法について説明します。

23.8.1.1 ワークフローの仮想ACIの有効化

特定のワークフローの仮想ACIを有効にするには、次のコマンドを実行します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
set-workflow-prop --workflow-name workflow1 --set virtual-aci-mode:true \
--set access-control-group:group1

この例では、group1はアクセス制御グループを参照します。このアクセス制御グループは、デフォルトで作成されたローカル・バックエンドまはたそれ以外の作成済のアクセス制御グループのいずれかにすることができます。アクセス制御グループの作成の詳細は、「dsconfigによるアクセス制御グループの構成」を参照してください。

23.8.1.2 ワークフローの仮想ACIの無効化

特定のワークフローの仮想ACIを無効にするには、次のコマンドを実行します:

$ dsconfig -h localhost -p 4444 -D "cn=Directory Manager" -j pwd-file -X -n \
set-workflow-prop --workflow-name workflow1 --set virtual-aci-mode:false \
--set access-control-group:"Local Backends"

ノート:

ワークフローの仮想ACIを無効にする際は、次の点に注意してください。

  • 仮想ACIを無効化した場合、このワークフローのアクセス制御グループとしてローカル・バックエンドを指定する必要があります。

  • 特定のワークフローの仮想ACIを無効化しても、関連するアクセス制御グループからACIは削除されません。

23.8.1.3 仮想ACIのレプリケーションの構成

dsreplicationコマンドの--advancedモードによって、仮想ACIのレプリケーションを構成できます。

仮想ACIのレプリケーションを構成するには:

  1. 仮想ACIのレプリケーションを有効化します。
    $ dsreplication enable \
      --host1 host1 --port1 4444 --bindDN1 "cn=Directory Manager" \
      --bindPasswordFile1 pwd-file1 --replicationPort1 8989 \
      --host2 host2 --port2 4444 --bindDN2 "cn=Directory Manager" \
      --bindPasswordFile2 pwd-file2--replicationPort2 8989 \
      --adminUID admin --adminPasswordFile admin-pwd-file \
    --advanced --baseDN virtual-acis -X -n
    
  2. レプリケーションを初期化します。
    $ dsreplication initialize --advanced --baseDN virtual-acis \
      --adminUID admin --adminPasswordFile admin-pwd-file \
      --hostSource host1 --portSource 4444 \
      --hostDestination host2 --portDestination 4444 -X -n
    

23.8.2 OUDSMを使用したアクセス制御グループの構成

OUDSMを使用して、Oracle Unified Directoryプロキシ・サーバーのアクセス制御要素を作成できます。

アクセス制御要素を作成するには、次のステップを実行します。
  1. 「OUDSMを使用したサーバーへの接続」の説明に従って、OUDSMからディレクトリ・サーバーに接続します。
  2. 「構成」タブを選択します。
  3. 「コア構成」要素を選択します。

    プロパティが右側のペインに表示されます。

  4. 「アクセス制御グループ」を開きます。
  5. 「追加」をクリックして、プロキシ・インスタンスによって処理されるローカル・バックエンドを1つ以上指定します。

    いずれのワークフローにも関連付けられていないこれらのアクセス制御グループを削除する場合は、「削除」をクリックします。アクセス制御グループを削除すると、そのアクセス制御グループに含まれるすべてのACIが削除されます。