この章では、次のトピックでRemote Managerを構成する方法について説明します。
リコンシリエーションおよびプロビジョニング処理の実行中、Oracle Identity Managerはビジネス操作を実行するターゲットと通信する必要があります。そのために、Oracle Identity Managerはプロビジョニングおよびリコンシリエーションの際にターゲットのAPIを使用してターゲットと直接通信します。ただし、Oracle Identity Managerは次のようなインスタンスではターゲットと直接通信できません。
ターゲットがファイアウォールの背後にあり、ターゲットの通信ポートが公開されていない。
ターゲットにネットワークを介して呼び出せるAPIが存在しない。
ターゲットのAPIを安全な接続を介して呼び出せない。
これらのインスタンスでは、ターゲット・システムと直接通信せずに、プロキシのように動作するOracle Identity Managerコンポーネントを使用する必要があります。このコンポーネントは、Remote Managerと呼ばれます。
Remote Managerは、次の目的で使用します。
Oracle Identity Managerを通じた非リモート・ターゲットAPIの呼出し
安全なチャネルを介したSSLをサポートしていないターゲットAPIの呼出し
Remote Managerの構成は、次の手順で構成されます。
Remote Managerをインストールします。Remote Managerのインストールの詳細は、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。
Remote ManagerとOracle Identity Managerの信頼関係を確立します。詳細は、「信頼関係の追加」および「独自の証明書を使用したRemote Managerの構成」を参照してください。
Remote Managerをテストします。詳細は、「Remote Managerの接続のテスト」を参照してください。
この項には次のトピックが含まれます:
Remote ManagerとOracle Identity ManagerはSSLを使用して通信します。Oracle Identity ManagerとRemote Managerの信頼関係を有効にする必要があります。
Oracle Identity Managerでは、Remote Managerの証明書を信頼する必要があります。このためには、Remote Managerの証明書をOracle Identity Managerキーストアにインポートし、信頼できる証明書として設定する必要があります。
必要であれば、クライアント側認証を有効にすることもできます(これにより、Remote Managerがサーバーの証明書を信頼します)。クライアント側認証では、Oracle Identity Managerの証明書をRemote Managerのキーストアにインポートして、信頼できる証明書として設定します。
場合によっては、Oracle Identity ManagerおよびRemote Managerに関連付けられた構成ファイル(xlconfig.xml)を手動で編集する必要があります。
次の手順を実行して、アプリケーション・サーバーとRemote Managerの間の信頼関係が証明書を通じて確立されていることを確認します。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/ディレクトリにあります。 Remote Managerでは、キーストアは$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とRemote Managerの信頼関係を確立するには、次の手順を実行します。
Remote Managerの証明書をサーバー・コンピュータにコピーします。XLREMOTE_HOME/remote_manager/config/default-keystore.jksからリモート・マネージャの証明書をエクスポートし、rmcert.cerファイルに格納して、サーバー・コンピュータにコピーします。
keytoolユーティリティを使用して証明書をエクスポートするには、次のコマンドを使用します。
$JAVA_HOME\jre\bin\keytool -export -alias xeltrusted -keystore XLREMOTE_HOME/remote_manager/config/default-keystore.jks -storepass KEYSTORE_PASSWORD
注意: デフォルトで、XLREMOTE_HOME/config/xlserver.cert証明書が使用可能です。新しい証明書を生成するかわりに、この証明書を使用できます。 |
出力結果は次のようになります。
証明書がファイル<rmcer.cer>に格納
サーバー・コンピュータでコマンド・プロンプトを開きます。
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を入力して、証明書を信頼するようにします。
Remote Managerのコンピュータで、テキスト・エディタを使用して$XLREMOTE_HOME/xlremote/config/xlconfig.xmlファイルを開きます。
<KeyManagerFactory>プロパティを探します。IBM JREを使用する場合は値をIBMX509に設定します。例:
<KeyManagerFactory>IBMX509</KeyManagerFactory>
その他のすべてのJREの場合は値をSUNX509に設定します。例:
<KeyManagerFactory>SUNX509</KeyManagerFactory>
ファイルを保存します。
注意: OIM_HOMEにあるサーバー証明書も、名前がxlserver.certです。その証明書を上書きしないようにしてください。 |
Oracle Identity Managerを再起動します。
Remote Managerをインストールするときに、インストーラによってキーペアと証明書が、キー・パスワード、証明書の有効期間、CNなどのデフォルトのパラメータとともに生成されます。ただし、ビジネスのセキュリティ要件のため、一部のパラメータを変更することが必要になる場合があります。この場合は、インストールされているデフォルトの証明書のかわりに、キーペアと証明書を生成して使用する必要があります。
Remote Managerサーバーで独自の証明書を使用してRemote Managerを構成するには、次の手順を実行します。
注意: この項の手順は、デフォルトの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>
Remote Managerサーバーを再起動し、xlconfig.xmlファイルを再び開いて新しいキーストアのパスワードが暗号化されていることを確認します。
Oracle Identity Managerで独自の証明書を使用してRemote Managerを構成するには、次の手順を実行します。
次の例のように、Remote 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
「Remote Managerの接続のテスト」の説明に従って、Remote ManagerとOracle Identity Manager間の接続が確立されていることを確認します。
Remote Managerの接続を確認するには、最初に接続を作成する必要があります。これを行うには、次のようにします。
Oracle Identity Administrationにシステム管理者としてログインします。
拡張管理に進みます。
「構成」をクリックします。
「リソース管理」で「ITリソースの作成」をクリックします。
ITリソース名を入力し、「ITリソース・タイプ」に「Remote Manager」と入力します。「続行」をクリックします。
サービス名としてRManager
と入力します。これは、Remote Managerのインストール時に使用されるリモート・マネージャのサービス名です。
rmi://REMOTE_MANAGER_HOST:PORTの形式でURLを入力します(例: rmi://rmhost.mycompany.com:1234)。
デフォルト値を使用してウィザードを続行し、「終了」をクリックします。
Remote ManagerとOracle Identity Manager間の接続が確立されていることをテストするには、次の手順を実行します。
Design Consoleにログインします。
「リモート・マネージャ」フォームを開きます。このフォームには、次のものが表示されます。
Oracle Identity Managerと通信するRemote Managerの名前とIPアドレス
Remote Managerが実行されているかどうか
Remote Managerが、Oracle Identity Managerで使用可能なITリソースであるかどうか
関連項目: 「リモート・マネージャ」フォームの詳細は、『Oracle Fusion Middleware Oracle Identity Manager開発者ガイド』のリモート・マネージャ・フォームに関する説明を参照してください。 |
構成したRemote Managerサービスの「実行中」および「ITリソース」列のチェック・ボックスが選択されていることを確認します。これにより、Remote Managerが実行中であり、Oracle Identity Managerで使用可能なITリソースであることを確認できます。
Remote Managerの構成時には、Remote Managerのポート変更は必要ありません。これは、製品の使用中にポートの変更が必要になった場合に、必要になります。
xlconfig.xmlファイルを更新して、インストール時に設定されたものとは別の新しいポートでRemote Managerを起動するには、次の手順を実行します。
テキスト・エディタで、$XLREMOTE_HOME/xlremote/config/xlconfig.xmlファイルを開きます。
次のタグを編集し、ポート番号を変更します。
RMSecurityの下にあるListenPort (リモート・マネージャSSLリスニング・ポート用)
RMSecurityにあるRMIRegistryPort (RMIレジストリ用)
Remote Managerを再起動します。詳細は、「Remote Managerの停止と起動」を参照してください。
Remote Managerを停止するには、Remote Managerが起動されたコンソールに移動し、[Ctrl]キーを押しながら[C]キーを押します。Remote Managerは、このシグナルで停止するコマンドライン・アプリケーションです。
Remote Managerを起動するには、次のスクリプトを実行します。
UNIXの場合:
$XLREMOTE_HOME/xlremote/remotemanager.sh
Microsoft Windowsの場合:
$XLREMOTE_HOME\xlremote\remotemanager.bat
表21-1に、リモート・マネージャに問題が発生した場合に実行できるトラブルシューティングの手順を示します。
表21-1 リモート・マネージャのトラブルシューティング
問題 | 解決策 |
---|---|
証明書の信頼問題が発生します。 |
Remote Managerの証明書がOracle Identity Manager側で信頼されていることを確認します。 |
Remote Managerの証明書の有効期限が切れていないことを確認します。 |
|
Oracle Identity Managerのホスト上でRemote Managerポートが正しく構成されていることを確認します。つまり、Oracle Identity Managerのホスト上で構成されているポートは、Remote Managerの構成と同じポートである必要があります。 |
|
xlconfig.xmlファイル内のRemote Managerの構成(キーストアの場所、エイリアス、パスワード、キー・パスワードなど)、およびoim-config.xmlファイル内のOracle Identity Managerホストの構成が正しいことを確認します。 |
|
クライアント認証が設定されている場合は、Remote Managerで正しいサーバー証明書が信頼されていることを確認します。 |
|
証明書の信頼問題を解決するすべての条件を確認した後、Remote ManagerとOracle Identity Manager間の通信時に障害が発生します。 |
次のフラグを渡して、Oracle Identity ManagerとRemote Managerを再起動します。 -Djavax.net.debug={all|ssl} このフラグをオンにすると、SSL/TLSハンドシェイクに関連するすべての情報がログに記録されます。ここで、allではすべてのデバッグがオンになり、sslではSSLのデバッグがオンになります。 注意: このフラグはデバッグの目的でのみ使用します。オンにした場合、大量の情報がログにダンプされます。 |
Remote Managerの接続が失敗します。 |
Oracle Identity ManagerとRemote Manager間に、特定のポートでTCPトラフィックをブロックしているファイアウォールがないことを確認します。そのためには、Remote ManagerポートでOracle Identity ManagerホストからRemote Managerホストにtelnetで接続します。 |
Remote Managerによるプロビジョニングが失敗します。 |
アダプタJARファイル(通常は、$OIM_HOME/JavaTasks/ディレクトリまたはデータベース内になります)が、JavaTasks/ディレクトリのRemote Managerホストにコピーされていることを確認します。 |
ターゲットAPIを呼び出すために、通常のアダプタはJavaタスクを使用するのに対し、Remote Managerベースのアダプタはリモート・タスクを使用することを確認します。 |
|
Remote Managerベースのコネクタについて次のことを確認します。 - Remote ManagerのITリソースを定義します。 - 通常のITリソース上のRemote ManagerフィールドでRemote Manager ITリソースを設定します(ターゲットの接続性情報を含む)。 |