ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Integration Platform管理者ガイド
11g リリース1(11.1.1)
B65032-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

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

この章は、次の項目を含みます。


関連項目:

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

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

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


注意:

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

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

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

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

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


このトピックには、次の項があります。

8.1.1 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]

8.1.2 syncProfileBootstrapの引数

-h | -host

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

-p | -port

Oracle Directory Integration PlatformがデプロイされているOracle WebLogic Managed Serverのリスニング・ポート。

-D | wlsuser

Oracle WebLogic ServerのログインID。


注意:

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

-f | -file

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

-pf | -profile

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

-ssl

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


注意:

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

-keystorePath

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

-keystoreType

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

-lp | -loadParallelism

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

-lr | -loadRetry

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

-help

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

8.1.3 syncProfileBootstrapのタスクと使用例

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

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

データのロード元のソース・ディレクトリに多数のエントリが含まれる場合は、LDIFファイルを使用すると、最も迅速で簡単にターゲット・ディレクトリをブートストラップできます。この場合、ソース・ディレクトリとターゲット・ディレクトリ間での読取りおよび書込み時に接続エラーが発生する可能性があるため、統合プロファイルを使用したブートストラップはお薦めしません。特殊文字は、統合プロファイルを使用したブートストラップでは適切にエスケープされないことがあるため、識別名に特殊文字が含まれる場合にもLDIFファイルの使用をお薦めします。

8.1.5 パラメータ・ファイルを使用したブートストラップ

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

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

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

  • マッピング・ルール

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

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

  • Ldp2ldp.properties

  • Ldp2ldf.properties

  • Ldf2ldp.properties

  • Ldf2ldf.properties

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

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

8.1.5.1 LDIFファイルを使用しないブートストラップ

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

  • 比較的少数

  • フラット構造

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

この方法を使用する手順は、次のとおりです。

  1. 適切なマッピング・ルールを持つマッピング・ファイルを作成します。マッピング・ファイルは、ブートストラップ・ファイル内のプロパティの1つです。同期用に定義されたマッピング・ルールと一致していることを確認してください。

  2. ソースをLDAP、宛先タイプをLDIFと指定した必須の詳細情報を持つパラメータ・ファイルを作成します。サンプル・パラメータ・ファイルldp2ldf.propertiesは、$ORACLE_HOME/ldap/odi/samplesにあります。バイナリ属性が、SrcAttrTypeフィールドでバイナリとして指定されていることを確認します。

  3. 次のように指定されている構成ファイルとともに、syncProfileBootstrapコマンドを実行します。

    • ソースがLDAPディレクトリと指定されている。

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

  4. NAME_OF_MANAGED_SERVER-diagnostic.logファイルでエラーがないかどうかを確認します。このファイルは、次の場所にあります。

    MW_HOME/user_projects/domains/DOMAIN_NAME/servers/NAME_OF_MANAGED_SERVER/logs/NAME_OF_MANAGED_SERVER-diagnostic.log

  5. bulkload.shコマンドまたはldapaddコマンドを使用して、Oracleバックエンド・ディレクトリにデータをアップロードします。

  6. 同期を継続するには、次のようにmanageSyncProfilesコマンドのupdatechgnum操作を使用して最終変更番号を更新します。

    manageSyncProfiles updatechgnum -h HOST -p PORT -D wlsuser \
    -profile my_Import_Profile
    

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

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

ディレクトリ依存ツールを使用してソース・ディレクトリを読み取ることによって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 -profile profile_name -loadParallelism threads -loadRetry retries
    
  5. NAME_OF_MANAGED_SERVER-diagnostic.logファイルでエラーがないかどうかを確認します。このファイルは、次の場所にあります。

    MW_HOME/user_projects/domains/DOMAIN_NAME/servers/NAME_OF_MANAGED_SERVER/logs/NAME_OF_MANAGED_SERVER-diagnostic.log

  6. bulkload.shコマンドまたはldapaddコマンドを使用して、Oracleバックエンド・ディレクトリにデータをアップロードします。

  7. 同期を継続するには、次のようにmanageSyncProfilesコマンドのupdatechgnum操作を使用して最終変更番号を更新します。

    manageSyncProfiles updatechgnum -h HOST -p PORT -D wlsuser \
    -profile my_Import_Profile
    

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/samplesにあります。

  5. NAME_OF_MANAGED_SERVER-diagnostic.logファイルでエラーがないかどうかを確認します。このファイルは、次の場所にあります。

    MW_HOME/user_projects/domains/DOMAIN_NAME/servers/NAME_OF_MANAGED_SERVER/logs/NAME_OF_MANAGED_SERVER-diagnostic.log

  6. 同期を継続するには、次のようにmanageSyncProfilesコマンドのupdatechgnum操作を使用して最終変更番号を更新します。

    manageSyncProfiles updatechgnum -h HOST -p PORT -D wlsuser \
    -profile my_Import_Profile
    

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

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

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

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

これらのエントリの作成中、統合プロファイルに指定されているとおり、識別名およびオブジェクト・レベルのマッピングが使用されます。エントリのアップロードに失敗した場合、この情報は、MW_HOME/user_projects/domains/DOMAIN_NAME/servers/NAME_OF_MANAGED_SERVER/logsディレクトリにあるNAME_OF_MANAGED_SERVER-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. NAME_OF_MANAGED_SERVER-diagnostic.logファイルでエラーがないかどうかを確認します。このファイルは、次の場所にあります。

    MW_HOME/user_projects/domains/DOMAIN_NAME/servers/NAME_OF_MANAGED_SERVER/logs/NAME_OF_MANAGED_SERVER-diagnostic.log

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

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

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

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

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

8.2.1 DIPキーストアへの信頼できる証明書の追加

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

8.2.1.1 DIPキーストアへの信頼できる証明書の追加方法

ブートストラップを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. 次のコマンドを実行します。

      $MW_HOME/oracle_common/common/bin/wlst.sh

    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")