11 Oracle Directory Integration Platformにおけるディレクトリのブートストラップ

この章では、ディレクトリのブートストラップ(接続ディレクトリとOracleバックエンド・ディレクトリ間の初期のデータ移行)について説明します。同期プロセスでは接続ディレクトリとOracleバックエンド・ディレクトリ間のデータの移行も処理されるため、ディレクトリのブートストラップを実行する必要はありません。ただし、初期のデータ移行を同期プロセスに依存すると、特にデータの量が多い場合など、時間がかかる可能性があります。このため、初めてOracle Directory Integration Platformをデプロイする場合には、ディレクトリのブートストラップを実行します。

トピック:

関連項目:

バックエンド・ディレクトリとしてOracle Internet Directoryを使用する場合は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の他のディレクトリおよびデータ・リポジトリからのデータの移行に関する章を参照してください。

11.1 syncProfileBootstrapを使用したディレクトリのブートストラップの概要

syncProfileBootstrapユーティリティを使用して、接続ディレクトリとOracleバックエンド・ディレクトリの間でブートストラップします。

詳細は、「syncProfileBootstrapユーティリティ」を参照してください。

ノート:

接続されているOracle DatabaseとOracleバックエンド・ディレクトリの間でブートストラップを行うには、エクスポート・プロファイルdbexport.cfgを構成し、そのプロファイルを使用してブートストラップします。詳細は、「追加構成情報ファイルの構成」を参照してください。

トピック:

11.1.1 ブートストラップの推奨方法

データのロード元のソース・ディレクトリに多数のエントリが含まれる場合は、LDIFファイルを使用すると、最も迅速で簡単にターゲット・ディレクトリをブートストラップできます。

この場合、ソース・ディレクトリとターゲット・ディレクトリ間での読取りおよび書込み時に接続エラーが発生する可能性があるため、統合プロファイルを使用したブートストラップはお薦めしません。

11.1.2 パラメータ・ファイルを使用したブートストラップの方法について

パラメータ・ファイルを使用して、接続ディレクトリとOracleバックエンド・ディレクトリの間でブートストラップできます。

このファイルのパラメータは、次のものを指定します。

  • ソースおよび宛先のインタフェース・タイプ(LDIFおよびLDAP)

  • 接続詳細および資格証明(LDAPの場合のみ有効)

  • マッピング・ルール

ディレクトリ依存ツールを使用してソース・ディレクトリを読み取ることで、LDIFファイルによるブートストラップを行えます。

インストール時に、次のサンプル・パラメータ・ファイルが$ORACLE_HOME/ldap/odi/conf/ディレクトリにコピーされます。

  • Ldp2ldp.properties

  • Ldp2ldf.properties

  • Ldf2ldp.properties

  • Ldf2ldf.properties

これらのファイルには、ブートストラップにおける各パラメータの機能が記述されています。ブートストラップ用にツールを実行する場合は、ORACLE_HOMENLS_LANGが正しく設定されていることを確認してください。

ブートストラップは、中間ファイルの有無にかかわらず、サービス間で実行できます。ただし、大きいディレクトリの場合は、中間LDIFファイルが必要です。

11.1.3 LDAPファイルからLDIFファイルへのブートストラップ

この項では、LDAPファイルからLDIPファイルにブートストラップする方法について説明します。

この方法は、エントリが次の状態の小さいディレクトリに使用することをお薦めします。

  • 比較的少数

  • フラット構造

  • 非相互依存(グループ・エントリの作成はユーザー・メンバー・エントリの存在に依存する場合などとは異なり、この場合、エントリの作成は別のエントリの存在には依存しない)

この方法を使用するには:

  1. 適切なマッピング・ルールを持つマッピング・ファイルを作成します。マッピング・ファイルは、ブートストラップ・ファイル内のプロパティの1つです。同期用に定義されたマッピング・ルールと一致していることを確認してください。
  2. ソースをLDAP、宛先タイプをLDIFと指定した必須の詳細情報を持つパラメータ・ファイルを作成します。サンプル・パラメータ・ファイルldp2ldf.propertiesは、$ORACLE_HOME/ldap/odi/confにあります。バイナリ属性が、SrcAttrTypeフィールドでバイナリとして指定されていることを確認します。
  3. 次のように指定されている構成ファイルとともに、syncProfileBootstrapコマンドを実行します。
    • ソースがLDAPディレクトリと指定されている。

    • 宛先タイプがLDIFと指定されている。

  4. 次の場所にある診断ログ・ファイルでエラーがないか調べます:
    (UNIX) DOMAIN_HOME/servers/server_name/logs
    (Windows) DOMAIN_HOME\servers\server_name\logs

    ログ・ファイルのデフォルト名はserver-name-diagnostic.logです。

11.1.4 LDIFファイルを使用したブートストラップ

この項では、LDIFファイルを使用してディレクトリをブートストラップする次の2つの方法について説明します。

11.1.4.1 ディレクトリ依存ツールを使用してソース・ディレクトリを読み取ることによってLDIFファイルからブートストラップする方法

大きいディレクトリに対してはこの方法を使用することをお薦めします。この方法を使用するには:

  1. ディレクトリからLDIFファイルにデータをダウンロードします。使用するツールは、データのロード元のディレクトリによって異なります。Microsoft Active Directoryからブートストラップしている場合は、ldifdeコマンドを使用してデータをロードします。各エントリに必要なすべての属性をロードしてください。
  2. 適切なマッピング・ルールを持つマッピング・ファイルを作成します。さらに同期を行う場合は、マッピング・ファイルが同期に使用されるものと同じであることを確認してください。
  3. LDIFとしてのソースと宛先、およびその他の詳細情報を持つ宛先パラメータ・ファイルを作成します。サンプル・パスワード・ファイルは次の場所にあります。

    $ORACLE_HOME/ldap/odi/conf/ldf2ldf.properties

  4. ソースをLDIF、宛先タイプをLDIFと指定したパラメータ・ファイルとともに、syncProfileBootstrapコマンドを使用します。これによって、ソース・データが変換され、Oracle Internet Directoryで必要な新しいLDIFが作成されます。syncProfileBootstrapコマンドを次のように実行します:
    syncProfileBootstrap -h HOST -p PORT -D wlsuser -profile profile_name -loadParallelism threads -loadRetry retries
    

    詳細は、「syncProfileBootstrapユーティリティ」を参照してください。

  5. 同期を継続するには、次のようにmanageSyncProfilesコマンドのupdatechgnum操作を使用して最終変更番号を更新します。
    manageSyncProfiles updatechgnum -h HOST -p PORT -D wlsuser \
    -profile my_Import_Profile

    詳細は、「manageSyncProfilesユーティリティ」を参照してください。

11.1.4.2 syncProfileBootstrapコマンドを使用してバックエンド・ディレクトリにデータをロードすることによってLDIFファイルからブートストラップする方法

この方法を使用するには:

  1. ディレクトリからLDIFファイルにデータをダウンロードします。使用するツールは、データのロード元のディレクトリによって異なります。Microsoft Active Directoryからブートストラップしている場合は、ldifdeコマンドを使用してデータをロードします。各エントリに必要なすべての属性をロードしてください。
  2. 適切なマッピング・ルールを持つマッピング・ファイルを準備します。さらに同期を行う場合は、マッピング・ファイルが同期に使用されるものと同じであることを確認してください。
  3. ソースをLDIF、宛先をLDAPと指定して、プロパティ・ファイルを作成します。
  4. ソースをLDIF、宛先タイプをLDAP、宛先をOracle Internet Directoryと指定したパラメータ・ファイルとともに、syncProfileBootstrapコマンドを使用します。これによってソース・データが変換され、Oracle Internet Directory内に必要なエントリが作成されます。サンプル・プロパティ・ファイルldf2ldp.propertiesは、$ORACLE_HOME/ldap/odi/confにあります。
  5. 次の場所にある診断ログ・ファイルでエラーがないか調べます:
    (UNIX) DOMAIN_HOME/servers/server_name/logs
    (Windows) DOMAIN_HOME\servers\server_name\logs

    ログ・ファイルのデフォルト名はserver-name-diagnostic.logです。

  6. 同期を続行し、最終変更番号を更新するには、manageSyncProfiles updatechgnumコマンドを使用します。
    manageSyncProfiles updatechgnum -h HOST -p PORT -D wlsuser \
    -profile my_Import_Profile

11.1.5 デフォルト統合プロファイルを使用した直接ブートストラップ

ブートストラップは、同期用に構成された既存の統合プロファイルに依存します。この構成情報は、他のディレクトリに接続するために使用されます。

この方法を使用する場合は、ソース・ディレクトリを読取り専用モードに設定します。

プロファイルがインポート・プロファイルの場合は、接続ディレクトリ内の必須オブジェクトのフットプリントがOracleバックエンド・ディレクトリに作成されます。プロファイルがエクスポート・プロファイルの場合は、Oracleバックエンド・ディレクトリからの必須オブジェクトのフットプリントが接続ディレクトリ内に作成されます。

これらのエントリの作成中、統合プロファイルに指定されているとおり、識別名およびオブジェクト・レベルのマッピングが使用されます。エントリのアップロードに失敗した場合、DOMAIN_HOME/servers/server_name/logsディレクトリにあるserver-name-diagnostic.logファイルに情報が記録されます。

たとえば、Oracle Directory Server Enterprise Edition(以前のSun Java System Directory Server)からOracle Internet Directoryにブートストラップする場合は、次のステップを実行します:

  1. 「Oracle Directory Server Enterprise Editionとの拡張統合の構成」の方法に従うとインストールの一部として作成される、デフォルトの統合プロファイルiPlanetImportをカスタマイズします。
  2. 次のコマンドを入力します。
    syncProfileBootstrap -h HOST -p PORT -D wlsuser -profile iPlanetImport -loadParallelism 5 -loadRetry 3
    
  3. 次の場所にある診断ログ・ファイルでエラーがないか調べます:
    (UNIX) DOMAIN_HOME/servers/server_name/logs
    (Windows) DOMAIN_HOME\servers\server_name\logs

    ログ・ファイルのデフォルト名はserver-name-diagnostic.logです。

syncProfileBootstrapコマンドを使用している場合は、ブートストラップ処理の後に、以降の同期化のためにlastchangenumber属性が初期化されます。

11.2 SSLモードでのブートストラップ

パラメータ・ファイルまたは統合プロファイルを使用すると、SSLモードでブートストラップできます。SSLモードでブートストラップする場合、Oracleバックエンド・ディレクトリ、接続ディレクトリまたはOracleバックエンド・ディレクトリと接続ディレクトリの両方のいずれかをSSLモードで実行できます。

パラメータ・ファイルからSSLモードでブートストラップするには、パラメータ・ファイルでodip.bootstrap.srcsslmode引数とodip.bootstrap.destsslmode引数にtrueまたはfalseの値を割り当てる必要があります。

統合プロファイルからブートストラップすると、デフォルトの統合プロファイルのodip.profile.condirurlに割り当てられた値を使用して、接続ディレクトリへのSSL接続が確立されます。

SSLモードでブートストラップする場合、Directory Integration Platformのキーストアにサード・パーティのディレクトリの信頼できる証明書が格納されている必要があります。DIPは、SSLサーバー認証モードを使用してサード・パーティのディレクトリに接続します。

ノート:

Oracle Directory Integration Platform 12cでは、接続ディレクトリとOracleバックエンド・ディレクトリ間の通信でTransport Layer Security (TLS) v1.2プロトコルがサポートされます。「Transport Layer Securityプロトコルと暗号スイート」を参照してください。

ブートストラップをSSLモードで開始する前に次の手順を実行します。

  1. keytoolコマンドを使用して物理的な場所に新しいJavaキーストアを作成し、このキーストアにサード・パーティのディレクトリの信頼できる証明書を追加します。

    keytool -importcert -noprompt -trustcacerts -alias <ALIAS_NAME> -file <PATH_TO_CERTIFICATE_FILE> -keystore <PHYSICAL_LOCATION_OF_KEYSTORE> -storepass <KEYSTORE_PASSWORD>

  2. Directory Integration PlatformアプリケーションでJavaキーストア(JKS)の場所(前のステップで作成)を構成します。

    次のコマンドで、WLSはWebLogic Serverを表します。

    $OH/bin/manageDIPServerConfig set -attr keystorelocation -val <FULL_PATH_TO_KEYSTORE> -h <WLS_HOST> -p <WLS_MANAGED_SERVER_PORT> -wlsuser <WLS_USER>

  3. DIPが証明書を検証するのにCSFからパスワードを読み取ってキーストアを開くことができるように、CSF(資格証明ストア・フレームワーク)のパスワード資格証明を作成します。

    1. WLSTコマンドを起動します。

      (UNIX) ORACLE_HOME/oracle_common/common/bin/wlst.sh
      (Windows) ORACLE_HOME\oracle_common\common\bin\wlst.cmd
    2. 次のコマンドを実行します。

      connect('%WLSUSER%','%WLSPWD%', 't3://%HOST%:%ADMINSERVER_PORT%')

    3. 次のWLSTコマンドを実行して資格証明を作成します。

      createCred(map="dip", key="jksKey", user="cn=odisrv,cn=Registered Instances,cn=Directory Integration Platform,cn=products,cn=oraclecontext", password="<JKS_PASSWORD>", desc="DIP SSL JKS")

      ノート:

      Oracle Directory Integration Platformでは、即時利用可能ではない接続ディレクトリによって使用される暗号スイートを追加するオプションも提供されます。「暗号スイートのOracle Directory Integration Platformへの追加」を参照してください

11.3 syncProfileBootstrapユーティリティ

接続ディレクトリとOracleバックエンド・ディレクトリの間でブートストラップするには、ORACLE_HOME/binディレクトリにあるsyncProfileBootstrapユーティリティを使用します。

ノート:

  • syncProfileBootstrapコマンドを使用することで、パラメータ・ファイルまたは完全に構成された統合プロファイルのいずれかを使用してブートストラップできます。このトピックでは、両方の方法について説明します。

  • 接続されているOracle DatabaseとOracleバックエンド・ディレクトリの間でブートストラップを行うには、エクスポート・プロファイルdbexport.cfgを構成し、そのプロファイルを使用してブートストラップします。詳細は、「追加構成情報ファイルの構成」を参照してください。

  • 最良のセキュリティ・プラクティスは、コマンドからの要求への応答としてのみ、パスワードを入力することです。

  • Oracle Directory Integration Platformコマンドのいずれかを実行するには、あらかじめWLS_HOME環境変数とORACLE_HOME環境変数を設定しておく必要があります

  • Oracle Directory Integration PlatformがデプロイされているOracle WebLogic管理対象サーバーは、SSLモードでこのコマンドを実行するようにSSLに対して構成されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』「SSLの構成」を参照してください。

syncProfileBootstrapの構文

syncProfileBootstrap

syncProfileBootstrap -h HOST -p PORT -D wlsuser {-file FILENAME |-profile
-PROFILE_NAME} [-ssl -keystorePath PATH_TO_KEYSTORE -keystoreType TYPE]
[-loadParallelism INTEGER] [-loadRetry INTEGER][-help]

syncProfileBootstrapの引数

次の表では、syncProfileBootstrapユーティリティの引数について説明します。

表11-1 syncProfileBootstrapユーティリティの引数

引数 説明

-h | -host

Oracle Directory Integration PlatformがデプロイされているOracle WebLogic Server。

-p | -port

Oracle Directory Integration PlatformがデプロイされているOracle WebLogic管理対象サーバーのリスニング・ポート。

-D | -wlsuser

Oracle WebLogic ServerのログインID。

ノート: Oracle WebLogic Serverのログイン・パスワードを要求されます。パスワードをコマンド行引数として指定することはできません。最良のセキュリティ・プラクティスは、コマンドからの要求への応答としてのみ、パスワードを入力することです。スクリプトからdipStatusを実行する必要がある場合、Oracle WebLogic Serverパスワードを含むファイルから、入力をリダイレクトできます。ファイル権限を使用してファイルを保護し、不要になったら権限を削除します。

-f | -file

ブートストラップ・プロパティ・ファイル。

-pf | -profile

操作の実行時に使用する同期プロファイルの名前。

-ssl

SSLモードでコマンドを実行します。

ノート: Oracle Directory Integration PlatformがデプロイされているOracle WebLogic管理対象サーバーは、SSLモードでこのコマンドを実行するようにSSLに対して構成されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』「SSLの構成」を参照してください。

-pwd | -pwdOverNonSSL

非SSLモードでuserPassword属性の同期を強制します。

-keystorePath

キーストアへのフルパス。

-keystoreType

-keystorePathで識別されるキーストアのタイプ。たとえば、-keystorePath jksまたは-keystorePath PKCS12などです。

-lp | -loadParallelism

Oracleバックエンド・ディレクトリへのロードが、複数のスレッドを使用してパラレルで実行されることを示します。たとえば、-loadparallelism 5は、5つのスレッドが作成され、各スレッドでOracleバックエンド・ディレクトリへのエントリのロードがパラレルで実行されることを意味します。

-lr | -loadRetry

宛先へのロードに失敗した場合に、そのエントリを不正なエントリとしてマークするまでに実行する再試行の回数。

-help

コマンドの使用方法のヘルプを提供します。

syncProfileBootstrapのタスクおよび例

syncProfileBootstrap -h myhost.mycompany.com -p 7005 -D login_ID \
  -pf myProfile -lp 5
syncProfileBootstrap -h myhost.mycompany.com -p 7005 -D login_ID \
  -f /opt/ldap/odip/bootstrap.properties -lr 3  

syncProfileBootstrap -h myhost.mycompany.com -p 7005 -D weblogic -fp ImportProfile -pwd