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_HOME
とNLS_LANG
が正しく設定されていることを確認してください。
ブートストラップは、中間ファイルの有無にかかわらず、サービス間で実行できます。ただし、大きいディレクトリの場合は、中間LDIFファイルが必要です。
11.1.3 LDAPファイルからLDIFファイルへのブートストラップ
この項では、LDAPファイルからLDIPファイルにブートストラップする方法について説明します。
この方法は、エントリが次の状態の小さいディレクトリに使用することをお薦めします。
-
比較的少数
-
フラット構造
-
非相互依存(グループ・エントリの作成はユーザー・メンバー・エントリの存在に依存する場合などとは異なり、この場合、エントリの作成は別のエントリの存在には依存しない)
この方法を使用するには:
11.1.4 LDIFファイルを使用したブートストラップ
この項では、LDIFファイルを使用してディレクトリをブートストラップする次の2つの方法について説明します。
11.1.4.1 ディレクトリ依存ツールを使用してソース・ディレクトリを読み取ることによってLDIFファイルからブートストラップする方法
大きいディレクトリに対してはこの方法を使用することをお薦めします。この方法を使用するには:
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にブートストラップする場合は、次のステップを実行します:
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モードで開始する前に次の手順を実行します。
-
keytool
コマンドを使用して物理的な場所に新しいJavaキーストアを作成し、このキーストアにサード・パーティのディレクトリの信頼できる証明書を追加します。keytool -importcert -noprompt -trustcacerts -alias
<ALIAS_NAME>-file
<PATH_TO_CERTIFICATE_FILE>-keystore
<PHYSICAL_LOCATION_OF_KEYSTORE>-storepass
<KEYSTORE_PASSWORD> -
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> -
DIPが証明書を検証するのにCSFからパスワードを読み取ってキーストアを開くことができるように、CSF(資格証明ストア・フレームワーク)のパスワード資格証明を作成します。
-
WLSTコマンドを起動します。
(UNIX) ORACLE_HOME/oracle_common/common/bin/wlst.sh (Windows) ORACLE_HOME\oracle_common\common\bin\wlst.cmd
-
次のコマンドを実行します。
connect('%
WLSUSER%','%
WLSPWD%', 't3://%
HOST%:%
ADMINSERVER_PORT%')
-
次の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のログイン・パスワードを要求されます。パスワードをコマンド行引数として指定することはできません。最良のセキュリティ・プラクティスは、コマンドからの要求への応答としてのみ、パスワードを入力することです。スクリプトから |
-f | -file |
ブートストラップ・プロパティ・ファイル。 |
-pf | -profile |
操作の実行時に使用する同期プロファイルの名前。 |
-ssl |
SSLモードでコマンドを実行します。 ノート: Oracle Directory Integration PlatformがデプロイされているOracle WebLogic管理対象サーバーは、SSLモードでこのコマンドを実行するようにSSLに対して構成されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』の「SSLの構成」を参照してください。 |
-pwd | -pwdOverNonSSL |
非SSLモードで |
-keystorePath |
キーストアへのフルパス。 |
-keystoreType |
|
-lp | -loadParallelism |
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