この章では、次のトピックでリモート・マネージャを構成する方法について説明します。
リコンシリエーションおよびプロビジョニング処理の実行中、Oracle Identity Managerはビジネス操作を実行するターゲットと通信する必要があります。そのために、Oracle Identity Managerはプロビジョニングおよびリコンシリエーションの際にターゲットのAPIを使用してターゲットと直接通信します。ただし、Oracle Identity Managerは次のようなインスタンスではターゲットと直接通信できません。
ターゲットがファイアウォールの背後にあり、ターゲットの通信ポートが公開されていない。
ターゲットにネットワークを介して呼び出せるAPIが存在しない。
ターゲットのAPIを安全な接続を介して呼び出せない。
これらのインスタンスでは、ターゲット・システムと直接通信せずに、プロキシのように動作するOracle Identity Managerコンポーネントを使用する必要があります。このコンポーネントは、リモート・マネージャと呼ばれます。
リモート・マネージャは、次の目的で使用します。
Oracle Identity Managerを通じた非リモート・ターゲットAPIの呼出し
安全なチャネルを介したSSLをサポートしていないターゲットAPIの呼出し
リモート・マネージャの構成は、次の手順で構成されます。
リモート・マネージャをインストールします。リモート・マネージャのインストールの詳細は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。
リモート・マネージャとOracle Identity Managerの信頼関係を確立します。詳細は、「信頼関係の追加」および「独自の証明書を使用したリモート・マネージャの構成」を参照してください。
リモート・マネージャをテストします。詳細は、「リモート・マネージャの接続のテスト」を参照してください。
この項の内容は次のとおりです。
リモート・マネージャとOracle Identity ManagerはSSLを使用して通信します。Oracle Identity Managerとリモート・マネージャの信頼関係を有効にする必要があります。
Oracle Identity Managerでは、リモート・マネージャの証明書を信頼する必要があります。このためには、リモート・マネージャの証明書をOracle Identity Managerキーストアにインポートし、信頼できる証明書として設定する必要があります。
必要であれば、クライアント側認証を有効にすることもできます(これにより、リモート・マネージャがサーバーの証明書を信頼します)。クライアント側認証では、Oracle Identity Managerの証明書をリモート・マネージャのキーストアにインポートして、信頼できる証明書として設定します。
場合によっては、Oracle Identity Managerおよびリモート・マネージャに関連付けられた構成ファイル(xlconfig.xml)を手動で編集する必要があります。
次の手順を実行して、アプリケーション・サーバーとリモート・マネージャの間の信頼関係が証明書を通じて確立されていることを確認します。keytoolユーティリティを使用して証明書をインポートおよびエクスポートします。
コマンド・プロンプトを使用してXLREMOTE_HOMEディレクトリに移動し、keytoolユーティリティを使用して証明書のフィンガープリントのリストを表示します。
次のコマンドを入力します。
$JAVA_HOME/jre/bin/keytool -list -keystore ./config/default-keystore.jks
注意: Oracle Identity Managerのキーストアはdefault-keystore.jksと呼ばれます。Oracle Identity Managerでは、キーストアは$DOMAIN_HOME/config/fmwconfig/ディレクトリにあります。 リモート・マネージャでは、キーストアは$XLREMOTE_HOME/config/ディレクトリにあります。キーストア名はdefault-keystore.jksです。 |
この手順で示すkeytoolコマンドの実行時に、キーストアのデフォルトのパスワードを入力するように要求されます。キーストアのパスワードを入力すると、次のように、キーストアのエントリが証明書のフィンガープリント(MD5ハッシュ)とともに表示されます。
Enter the default password for xellerate keystore: KEYSTORE_PASSWORD
Your keystore contains 1 entry
xell, Jan 7, 2005, keyEntry,
Certificate fingerprint (MD5):
B0:F2:33:C8:69:E4:25:A3:CB:59:E8:51:27:EE:5C:52
証明書のフィンガープリントは、太字で表示されています。これは、キーストアの証明書を一意に識別するために使用されます。
Oracle Identity Managerとリモート・マネージャの信頼関係を確立するには、次の手順を実行します。
リモート・マネージャの証明書をサーバー・コンピュータにコピーします。リモート・マネージャのコンピュータにあるXLREMOTE_HOME/xlremote/config/xlserver.certファイルを、サーバーのコンピュータにコピーします。
サーバー・コンピュータでコマンド・プロンプトを開きます。
keytoolユーティリティを使用して証明書をインポートするには、次のコマンドを使用します。
$JAVA_HOME\jre\bin\keytool -import -alias rm_trusted_cert -file RM_CERT_LOCATION\xlserver.cert -trustcacerts -keystore $DOMAIN_HOME\config\fmwconfig\default-keystore.jks -storepass KEYSTORE_PASSWORD
JAVA_HOMEはアプリケーション・サーバーのJavaディレクトリの場所、エイリアスの値はストアの証明書に対する名前、RM_CERT_LOCATIONは証明書をコピーする場所です。
プロンプトでYを入力して、証明書を信頼するようにします。
リモート・マネージャのコンピュータで、テキスト・エディタを使用して$XLREMOTE_HOME/xlremote/config/xlconfig.xmlファイルを開きます。
<RMIOverSSL>プロパティを探し、次のように値がtrueに設定されていることを確認します。
<RMIOverSSL>true</RMIOverSSL>
<KeyManagerFactory>プロパティを探します。IBM JREを使用する場合は値をIBMX509に設定します。次に例を示します。
<KeyManagerFactory>IBMX509</KeyManagerFactory>
その他のすべてのJREの場合は値をSUNX509に設定します。次に例を示します。
<KeyManagerFactory>SUNX509</KeyManagerFactory>
ファイルを保存します。
注意: OIM_HOMEにあるサーバー証明書も、名前がxlserver.certです。その証明書を上書きしないようにしてください。 |
Oracle Identity Managerを再起動します。
リモート・マネージャをインストールするときに、インストーラによってキーペアと証明書が、キー・パスワード、証明書の有効期間、CNなどのデフォルトのパラメータとともに生成されます。ただし、ビジネスのセキュリティ要件のため、一部のパラメータを変更することが必要になる場合があります。この場合は、インストールされているデフォルトの証明書のかわりに、キーペアと証明書を生成して使用する必要があります。
リモート・マネージャ・サーバーで独自の証明書を使用してリモート・マネージャを構成するには、次の手順を実行します。
注意: この項の手順は、デフォルトのOracle Identity Managerの証明書のかわりに独自の証明書を使用する場合のみ実行してください。その他の場合、この項は実行しません。 |
新しいカスタム・キーストアおよび証明書を生成します。生成するには、次の例のように、keytoolユーティリティを使用します。
keytool-genkeypair -keystore test.jks -alias rmcert -storepass welcome1 -keyalg DSA -keysize 1024 -dname "CN=TestUser, OU=fmw, O=Oracle, C=US" -keypass PASSWORD -validity 3650
新しいキーストアに使用するパスワードを忘れないようにしてください。
この新しいキーストアを$XLREMOTE_HOME/config/ディレクトリにコピーします。
テキスト・エディタで、$REMOTE_MANAGER/config/xlconfig.xmlファイルを開きます。
<RMSecurity>タグを探し、<Location>タグと<Password>タグの値を次のように変更します。
IBM JREを使用している場合は、値を次のように変更します。
<KeyStore> <Location>new_keystore_name</Location> <Password encrypted="false">new_keystore_pwd</Password> <Type>JKS</Type> <Provider>com.ibm.crypto.provider.IBMJCE</Provider> </KeyStore>
その他すべてのJREでは、値を次のように変更します。
<KeyStore> <Location>new_keystore_name</Location> <Password encrypted="false">new_keystore_pwd</Password> <Type>JKS</Type> <Provider>sun.security.provider.Sun</Provider> </KeyStore>
リモート・マネージャ・サーバーを再起動し、xlconfig.xmlファイルを再び開いて新しいキーストアのパスワードが暗号化されていることを確認します。
Oracle Identity Managerで独自の証明書を使用してリモート・マネージャを構成するには、次の手順を実行します。
次の例のように、リモート・マネージャ・コンピュータ上の新たに作成されたキーストアから証明書をエクスポートします。
keytool-export -keystore test.jks -storepass welcome1 -alias rmcert -file test.cer
この新しい証明書ファイルを$DOMAIN_HOME/config/fmwconfig/ディレクトリにコピーします。
次の例のように、証明書をdefault-keystore.jksにインポートします。
keytool-import -keystore test.jks -storepass welcome1 -alias test_alias -file test.cer -trustcacerts
「リモート・マネージャの接続のテスト」の説明に従って、リモート・マネージャとOracle Identity Manager間の接続が確立されていることを確認します。
リモート・マネージャとOracle Identity Manager間の接続が確立されていることをテストするには、次の手順を実行します。
Design Consoleにログインします。
「リモート・マネージャ」フォームを開きます。このフォームには、次のものが表示されます。
Oracle Identity Managerと通信するリモート・マネージャの名前とIPアドレス
リモート・マネージャが実行されているかどうか
リモート・マネージャが、Oracle Identity Managerで使用可能なITリソースであるかどうか
関連項目: 「リモート・マネージャ」フォームの詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドのリモート・マネージャ・フォームに関する説明を参照してください。 |
構成したリモート・マネージャ・サービスの「実行中」および「ITリソース」列のチェック・ボックスが選択されていることを確認します。これにより、リモート・マネージャが実行中であり、Oracle Identity Managerで使用可能なITリソースであることを確認できます。
リモート・マネージャの構成時には、リモート・マネージャのポート変更は必要ありません。これは、製品の使用中にポートの変更が必要になった場合に、必要になります。
xlconfig.xmlファイルを更新して、インストール時に設定されたものとは別の新しいポートでリモート・マネージャを起動するには、次の手順を実行します。
テキスト・エディタで、$XLREMOTE_HOME/xlremote/config/xlconfig.xmlファイルを開きます。
次のタグを編集し、ポート番号を変更します。
RMSecurityの下にあるListenPort(リモート・マネージャSSLリスニング・ポート用)
RMSecurityにあるRMIRegistryPort(RMIレジストリ用)
リモート・マネージャを再起動します。詳細は、「リモート・マネージャの停止と起動」を参照してください。
リモート・マネージャを停止するには、リモート・マネージャが起動されたコンソールに移動し、[Ctrl]キーを押しながら[C]キーを押します。リモート・マネージャは、このシグナルで停止するコマンドライン・アプリケーションです。
リモート・マネージャを起動するには、次のスクリプトを実行します。
UNIXの場合:
$XLREMOTE_HOME/xlremote/remotemanager.sh
Microsoft Windowsの場合:
$XLREMOTE_HOME\xlremote\remotemanager.bat
表21-1に、リモート・マネージャに問題が発生した場合に実行できるトラブルシューティングの手順を示します。
表21-1 リモート・マネージャのトラブルシューティング
問題 | 解決策 |
---|---|
証明書の信頼問題が発生します。 |
リモート・マネージャの証明書がOracle Identity Manager側で信頼されていることを確認します。 |
リモート・マネージャの証明書の有効期限が切れていないことを確認します。 |
|
Oracle Identity Managerのホスト上でリモート・マネージャ・ポートが正しく構成されていることを確認します。つまり、Oracle Identity Managerのホスト上で構成されているポートは、リモート・マネージャの構成と同じポートである必要があります。 |
|
xlconfig.xmlファイル内のリモート・マネージャの構成(キーストアの場所、エイリアス、パスワード、キー・パスワードなど)、およびoim-config.xmlファイル内のOracle Identity Managerホストの構成が正しいことを確認します。 |
|
クライアント認証が設定されている場合は、リモート・マネージャで正しいサーバー証明書が信頼されていることを確認します。 |
|
証明書の信頼問題を解決するすべての条件を確認した後、リモート・マネージャとOracle Identity Manager間の通信時に障害が発生します。 |
次のフラグを渡して、Oracle Identity Managerとリモート・マネージャを再起動します。 -Djavax.net.debug={all|ssl} このフラグをオンにすると、SSL/TLSハンドシェイクに関連するすべての情報がログに記録されます。ここで、allではすべてのデバッグがオンになり、sslではSSLのデバッグがオンになります。 注意: このフラグはデバッグの目的でのみ使用します。オンにした場合、大量の情報がログにダンプされます。 |
リモート・マネージャの接続が失敗します。 |
Oracle Identity Managerとリモート・マネージャ間に、特定のポートでTCPトラフィックをブロックしているファイアウォールがないことを確認します。そのためには、リモート・マネージャ・ポートでOracle Identity Managerホストからリモート・マネージャ・ホストにtelnetで接続します。 |
リモート・マネージャによるプロビジョニングが失敗します。 |
アダプタJARファイル(通常は、$OIM_HOME/JavaTasks/ディレクトリまたはデータベース内になります)が、JavaTasks/ディレクトリのリモート・マネージャ・ホストにコピーされていることを確認します。 |
ターゲットAPIを呼び出すために、通常のアダプタはJavaタスクを使用するのに対し、リモート・マネージャベースのアダプタはリモート・タスクを使用することを確認します。 |
|
リモート・マネージャベースのコネクタについて次のことを確認します。 - リモート・マネージャのITリソースを定義します。 - 通常のITリソース上のリモート・マネージャ・フィールドでリモート・マネージャITリソースを設定します(ターゲットの接続性情報を含む)。 |