この章では、Oracle Identity Managerの構成とリモート・マネージャのインストールについて説明します。内容は次のとおりです。
アダプタ・タスクを構成するには、Oracle Identity ManagerがターゲットAPIのJARファイルおよび接続するサード・パーティ・アプリケーションにアクセスできることを確認してください。
アダプタでJavaタスクを使用する場合、適切なJava APIを検索するようにOracle Identity Managerを構成する必要があります。このためには、これらのAPIを含む.jarファイルを、OIM_HOMEフォルダ・パスのJavaTasksサブディレクトリ(たとえば、C:¥oracle¥Xellerate¥JavaTasks)に配置する必要があります。これにより、これらのJava APIに関連付けられたJavaクラスにアクセスして、作成したJavaタスクで使用できるようになります。
サード・パーティ・システムと直接通信せずに、プロキシのように動作するOracle Identity Managerコンポーネントを使用する必要がある場合があります。このコンポーネントは、リモート・マネージャと呼ばれます。
リモート・マネージャは、次の目的で使用します。
Oracle Identity Managerを通じた非リモートAPIの呼出し
セキュアな接続でのSecure Sockets Layer (SSL)をサポートしないAPIの呼出し
次の項では、以下について説明します。
Oracle Identity ManagerをJARおよびクラス・ファイルを参照するように構成する手順(Javaタスク用)
リモート・マネージャを構成する手順
関連項目: Javaタスクの詳細は、Oracle Fusion Middleware Oracle Identity Manager開発者ガイドのJava Taskの作成に関する項を参照してください。 |
Oracle Identity ManagerをJARおよびクラス・ファイルを参照するように構成する手順は、次のとおりです。
OIM_HOMEフォルダ・パスにあるJavaTasksサブディレクトリを開きます(例: C:\oracle\Xellerate\JavaTasks)。
JARファイルをこのサブディレクトリに置きます。このファイルを使用して、サーバーを再起動せずに、アダプタ内にJavaタスクを作成できます。
リモート・マネージャを構成するには、使用しているアプリケーション・サーバー用のOracle Identity Managerのインストレーション・ガイドに記載されている手順に従います。
この章では、リモート・マネージャITリソースの作成とテストのタスクについて説明します。内容は次のとおりです。
リモート・マネージャはOracle Identity Managerのコンポーネントで、プロキシのように動作してサード・パーティ・システムと直接通信します。リモート・マネージャは、Oracle Identity Managerを通じて、セキュアな接続でのSecure Sockets Layer (SSL)をサポートする非リモートAPIの呼出しに使用されます。
リモート・マネージャをインストールし、Oracle Identity Managerサーバーとリモート・マネージャの間に信頼関係を確立(証明書を信頼)すると、リモート・マネージャ用のITリソースを作成し、それをテストできます。
リモート・マネージャをインストールすると、アプリケーション・サーバーとリモート・マネージャの間で証明書が信頼されていることを確認できます。これを行うには、まず、Oracle Identity Manager Design Consoleの管理フォルダでリモート・マネージャ・フォームを開きます。リモート・マネージャ・フォームに、接続されているが信頼されているとはかぎらないすべてのリモート・マネージャが表示されます。
次の手順を実行して、アプリケーション・サーバーとリモート・マネージャの間の信頼関係が証明書を通じて確立されていることを確認します。この手順では、JBoss Application Serverを例として使用します。キーツール・ユーティリティを使用して証明書をインポートおよびエクスポートします。
コマンド・プロンプトを使用してXLREMOTE_HOMEディレクトリを開き、キーツール・ユーティリティを使用して証明書のフィンガープリントのリストを表示します。
次のコマンドを入力します。
$JAVA_HOME/jre/bin/keytool -list -keystore ./config/default-keystore.jks
注意: Oracle Identity Managerキーストアは.xlkeystoreです。これはdefault-keystore.jksという名前で、$DOMAIN_HOME/config/fmwconfig/に格納されています。リモート・マネージャでは、キーストアは$XLREMOTE_HOME/config/ディレクトリに格納されています。キーストア名はdefault-keystore.jksです。 |
xellerateキーストアのデフォルト・パスワード(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
証明書のフィンガープリントは、太字で表示されています。これを、キーストアの証明書のリストと比較します。
使用しているアプリケーション・サーバー用のインストール・ガイドのリモート・マネージャ証明書の信頼に関する項に記載されている手順を実行します。
ヒント: SSLを使用するためのITリソース・セットを使用してOracle Identity Administrationからユーザーを作成できなかった場合は、証明書をjrocket cacertsおよびDemotrust.jksにインポートしてからユーザーを作成します。これを行うには、次のコマンドを使用してSSLを構成します。
|
リモート・マネージャITリソースを作成およびテストする手順は、次のとおりです。
注意: リモート・マネージャは非SSL通信をサポートしていません。デフォルトでは、一方向SSL通信がサポートされます。双方向SSL通信を有効にするには、次のファイルの<RMSecurity><ClientAuth>プロパティの値をTrue に変更します。
$REMOTE_MANAGER/config/xlconfig.xml
|
Oracle Identity Manager Design Consoleで、リソース・オブジェクト・フォームを開きます。
リソース・オブジェクトを作成します。この例では、次のパラメータが設定されています。
名前: MyObj
ユーザーの順番: 有効
タイプ: アプリケーション
次のチェック・ボックスを使用できます。
複数を許可
自動保存
セルフ・リクエストを許可
すべて許可
自動起動
リソース・オブジェクトのITリソース・タイプを作成します。ITリソース・タイプの定義フォームを開きます。この例では、次のパラメータが設定されています。
サーバー・タイプ: MyObjServer
注意: Oracle Identity Manager Design ConsoleでTリソース・タイプパラメータを定義するときに、暗号化するフィールドを指定できます。 |
リモート・マネージャのITリソースを作成します。この例では、次のパラメータが設定されています。
ITリソース名: remote
タイプ名: リモート・マネージャ
ITリソースに適切なURLとサーバー名があり、URLが示す場所にリモート・マネージャがインストールされていることを確認してください。
注意: URLに名前そのものが存在していないことを確認してください。たとえば、リモート・マネージャは次のようなサービス名とURLで構成されます。サービス名: RManager URL: rmi://w2kevandanwkstn:12346 |
前に作成したITリソース・タイプMyObjServerのインスタンスを作成します。ITリソース情報フォームを開きます。ステップ4で作成したリモート・マネージャ (remote)がリモート・マネージャ・フィールドで選択されていることを確認します。
ITリソース情報フォームに情報を保存すると、該当するITリソースに必要な詳細を追加できます。この例では、ユーザー名とパスワードを入力します。
次のコードのJARファイルを作成します。
package testme; import java.io.PrintStream; public class test { public test () { } public static int addme(int i, int j) { /*6*/System.out.println(i + "+" + j + "=" + (i + j)); /*7*/return i + j; } public static void main(String args[]) { /* 11*/addme(5, 10); } }
このコードがリモート・マネージャで実行されます。
JARファイルをXLREMOTE_HOME/JavaTasksおよびOIM_HOME/JavaTasksディレクトリにコピーします。
リモート・マネージャで実行するアダプタを作成します。「アダプタ・ファクトリ」フォームを開きます。この例では、次のパラメータが設定されています。
アダプタ名: remotetest
アダプタ・タイプ: プロセス・タスク
この例では、(.jarファイル内のコード例に基づいて)このアダプタに3つの変数を作成できます。追加をクリックします。Javaコードは2つの整数を引数とし、ITリソースを3番目の変数とします。
最初の変数では、次のパラメータが設定されています。
変数名: var1
変数型: 整数
マップ先: ランタイムで解決
最初と同様の方法で、2番目の変数を作成します。次のパラメータが設定されています。
変数名: var2
変数型: 整数
マップ先: ランタイムで解決
3番目の変数をITリソース用に作成します。次のようにパラメータが設定されています。
変数名: ITRes
変数型: ITResource
マップ先: ランタイムで解決
リソース・タイプ: MyObjServer
新しいリモートJavaタスクを追加します。アダプタ・ファクトリ・フォームで、追加をクリックします。機能タスクオプションがアクティブであることを確認します。リモート・オプションを選択します。続行をクリックします。
オブジェクト・インスタンスの選択ダイアログ・ボックスが表示されます。新しいオブジェクト・インスタンスを作成します。新規オブジェクト・インスタンスオプションがアクティブであることを確認します。続行をクリックします。
「リモート」ウィンドウが表示されます。この例では、次のパラメータが設定されています。
タスク名: remote
APIソース: JavaTaskフォルダ内の.jarファイルを参照
アプリケーションAPI: Testme.test.
コンストラクタ: 0 public testme.test ()
メソッド: testme.test.addme (int, int)
保存をクリックすると、ITリソースが引数として自動的に追加されます。アプリケーション・メソッド・パラメータをマッピングできます。
パラメータ・データ・マッピング・リストの最初の項目を選択して、パラメータのマッピングを開始します。この出力パラメータは、整数です。次のマッピングが設定されています。
マップ先: アダプタ変数
名前: Return variable
設定をクリックします。
2番目のパラメータを強調表示してマップします。この入力パラメータは、整数です。次のマッピングが設定されています。
マップ: アダプタ変数
名前: var1
設定をクリックします。
3番目のパラメータを選択してマップします。この入力パラメータは、整数です。次のマッピングが設定されています。
マップ先: アダプタ変数
名前: var2
設定をクリックします。
最後のパラメータを選択してマップします。アダプタに入力として渡した変数に、このITリソースをマップします。次のマッピングが設定されています。
マップ先: アダプタ変数
名前: ITRes
設定をクリックします。
設定をクリックします。次に、保存をクリックします。アダプタ・ファクトリ・フォームが表示されます。
ビルドをクリックして、アダプタをコンパイルします。
アダプタを起動するには、このアダプタを1つのタスクとして呼び出すプロビジョニング・プロセスを作成します。これを行うには:
「プロセス定義」フォームを開きます。この例では、次のパラメータが設定されています。
名前: MyObjProv
タイプ: プロビジョニング
オブジェクト名: MyObj
次のチェック・ボックスを使用できます。
デフォルト・プロセス
自動事前移入
自動保存フォーム
「保存」アイコンをクリックします。プロビジョニング・タスクが、自動的に「タスク」タブに表示されます。
「追加」をクリックして、新しいタスクを作成します。この例では、次のパラメータが設定されています。
タスク名: Call Remote Adapter
タスクの説明: タスクの機能の説明
「保存」アイコンをクリックします。統合タブをクリックします。次に、「追加」をクリックし、アダプタをこのタスクに追加します。「ハンドラ・タイプ」ウィンドウが表示されます。
「アダプタ」オプションを有効にし、実行するアダプタを選択します。
「保存」アイコンをクリックします。「統合」タブの「名前」フィールドに、アダプタ名が表示されます。「ステータス」フィールドには、マッピングが完了していないことが表示されます。「アダプタ変数」ペインには、変数がマップされていないことが表示されます。
最初の変数、アダプタ戻り値を選択し、マップをクリックします。変数のデータ・マッピングの編集ウィンドウが表示されます。パラメータは次のように設定されています。
データ型: オブジェクト
マップ先: レスポンス・コード
2番目の変数、var1 を選択し、マップをクリックします。変数のデータ・マッピングの編集ウィンドウが表示されます。パラメータは次のように設定されています。
データ型: 整数
マップ先: リテラル
修飾子: 整数
リテラル値: 10
3番目の変数、var2を選択し、マップをクリックします。変数のデータ・マッピングの編集ウィンドウが表示されます。パラメータは次のように設定されています。
データ型: 整数
マップ先: リテラル
修飾子: 整数
リテラル値: 20
4番目の変数、ITResを選択し、マップをクリックします。変数のデータ・マッピングの編集ウィンドウが表示されます。パラメータは次のように設定されています。
データ型: ITリソース(MyObjServer)
マップ先: ITリソース
修飾子: MyObjServerInstance
タスクの編集中ウィンドウの「レスポンス」タブをクリックします。「追加」をクリックし、アダプタから可能なレスポンスを追加します。この例では、可能なレスポンスは30のみです。「説明」を「完了」に設定し、「ステータス」をCに設定します。
タスクのオブジェクト・ステータス・マッピング・タブをクリックします。「完了」カテゴリで、「オブジェクト・ステータス」を「プロビジョニング済」に設定します。
この時点で、ユーザーを新規に作成したリソースに直接プロビジョニングし、リモート・タスクの実行をテストできます。ただし、最初にリモート・マネージャが実行中であることを確認してください。「Remote Manager」フォームを開き、サーバーが使用可能であることを検証します。
Oracle Identity Manager管理およびユーザー・コンソールを起動し、管理者としてログインします。「ユーザー」、「管理」 と移動し、このリソース(MyObj)をプロビジョニングするユーザーを選択します。選択したユーザーの「ユーザーの詳細」ページが表示されます。このユーザーに関する追加詳細の表示プルダウン・オプションで、「リソース・プロファイル」を選択します。
「ユーザーの詳細」、「リソース・プロファイル」ページが表示されます。「新しいリソースのプロビジョニング」をクリックし、新規作成したリソース(MyObj)を選択します。
「ユーザーへのリソースのプロビジョニング」ウィザードが表示されます。「続行」をクリックし、プロビジョニング・プロセスを完了します。
リソースは正常にプロビジョニングされましたページが表示されるまで、プロビジョニング・プロセスを続行します。
リモート・マネージャ・ログ・ファイルで、コードが実行されたことを確認します。リモート・マネージャ・ログ・ファイルは、OIM_HOME/xlremote/logディレクトリにあります。ログ・ファイルの最後の行は次のようになります。
DONE5+10=15
前述の行は、2つの入力された整数の合計が15であることを示しています。これは、コードが正しく実行され、リソース・オブジェクトがプロビジョニングされたことを示します。
xlconfig.xmlファイルを更新して、インストール時に設定されたものとは別の新しいポートでリモート・マネージャを起動するには、次のようにします。
次のパスからxlconfig.xmlにアクセスします。
ORACLE_HOME/remote_manager/config/xlconfig.xml
次のタグを編集します。
RMSecurityの下にあるListenPort (リモート・マネージャSSLリスニング・ポート用)
RMSecurityにあるRMIRegistryPort (RMIレジストリ用)
ポート番号を変更します。
リモート・マネージャを再起動します。
注意:
|
リモート・マネージャ・サ-バーで独自の証明書を使用してリモート・マネージャを構成するには、次のようにします。
注意: この項の手順は、デフォルトのOracle Identity Manager証明書のかわりに独自の証明書を使用する場合のみ実行してください。 |
新しいカスタム・キーストアおよび証明書を生成します。新しいキーストアに使用するパスワード(new_keystore_pwd)を忘れないようにしてください。
この新しいキーストアをOIM_RM_HOME/config/ディレクトリにコピーします。
テキスト・エディタで、OIM_RM_HOME/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で独自の証明書を使用してリモート・マネージャを構成するには、次のようにします。
リモート・マネージャ・サーバーで新規作成されたキーストアから証明書をエクスポートします。
この新しい証明書ファイルをOIM_DOMAIN_HOME/config/fmwconfig/ディレクトリにコピーします。
証明書をdefault-keystore.jksにインポートします。
リモート・マネージャとOracle Identity Manager間の接続が確立されていることを確認します。