この付録では、サンプル・シナリオを使用して、Database Application Tablesコネクタの作成手順を説明しています。
この付録は、次の項で構成されています。
Example社には、データベース駆動型のカスタム・アプリケーションがあります。これらのアプリケーションでは、Oracle Database 10gリリース2(10.2.0.3)のインストール環境に、ユーザー・データとトランザクション・データが格納されています。これらのアプリケーションをLDAP対応にすることはできず、アイデンティティ管理用のAPIもありません。Example社は、データベースとリンクしているアイデンティティ管理およびプロビジョニング・システムのデプロイを希望しています。
このような業務上の問題に対するソリューションがOracle Identity Managerです。Example社は、Database Application Tablesコネクタを作成し使用すれば、データベースとOracle Identity Manager間でユーザー・データの交換が可能になります。
次の各項では、サンプルのターゲット・システムについて説明します。
ACMEDBAPP表には親ユーザー・データが格納されます。この表の構造は次のとおりです。
| 列名 | データ型 | NULL値可能 |
|---|---|---|
| APP_USERID
注意: これは主キーです。 |
VARCHAR2 | X |
| APP_AUTH_MODE | VARCHAR2 | ○ |
| APP_DFLT_HOME | VARCHAR2 | ○ |
| APP_ACCT_STATUS | VARCHAR2 | ○ |
| APP_CREATED_BY | DATE | ○ |
| APP_CREATED_ON | DATE | ○ |
| APP_UPDATED_BY | TIMESTAMP | ○ |
| APP_UPDATED_ON | TIMESTAMP | ○ |
ACMEDBROLES表には子ユーザー・データが格納されます。この表の構造は次のとおりです。
| 列名 | データ型 | NULL値可能 |
|---|---|---|
| APP_USERID
注意: これは外部キーです。 |
VARCHAR2 | X |
| APP_ROLE_ID | VARCHAR2 | X |
ACMEHR表にはユーザー・データが格納されます。この表の構造は次のとおりです。
| 列名 | データ型 | NULL値可能 |
|---|---|---|
| EMPLOYEE_ID | VARCHAR2 | X |
| FIRST_NAME | VARCHAR2 | X |
| LAST_NAME | VARCHAR2 | X |
| VARCHAR2 | ○ | |
| PHONE_NUMBER | VARCHAR2 | ○ |
| HIRE_DATE | DATE | ○ |
| LAST_UPDATE | TIMESTAMP | ○ |
| SALARY | NUMBER | ○ |
| STATUS | VARCHAR2 | ○ |
|
注意: 特に記載がない場合、この項にリストされている手順は、ターゲット・リソースと信頼できるソースの構成のどちらにも共通です。 |
コネクタの作成を開始する前に、次の手順を実行します。
ターゲット・システムが、コネクタの作成および使用の要件を満たしていることを確認します。
詳細は、「認定されているデプロイ構成」を参照してください。
コネクタのロギングを有効化します。
詳細は、「ロギングの有効化」を参照してください。
JDBCドライバを指定されたアプリケーション・サーバー・ディレクトリにコピーします。
詳細は、「JDBCドライバのコピー」を参照してください。
アカウント・ステータスのリコンシリエーションを構成します。これを行うには、次のいずれかのフィールドに格納されているステータス値と、リコンシリエーション中にOracle Identity Managerで使用されるステータス値をマップする参照定義を作成します。
ターゲット・リソースのシナリオの場合は、ターゲット・システムのAPP_ACCT_STATUSフィールド
信頼できるソースのシナリオの場合は、ターゲット・システムのSTATUSフィールド
|
注意: Oracle Identity Managerで使用されるステータス値は、ターゲット・リソースと信頼できるソースのリコンシリエーションでは異なります。 |
詳細は、「アカウント・ステータスのリコンシリエーションの構成」を参照してください。
ターゲット・リソースのシナリオの場合は、アカウント・ステータスのプロビジョニングを構成します。これを行うには、ターゲット・システムのAPP_ACCT_STATUSフィールドに格納されているステータス値と、Oracle Identity Managerでプロビジョニング操作に使用されるステータス値をマップするLookup.ACME.Status参照定義を作成します。
詳細は、「アカウント・ステータスのプロビジョニングの構成」を参照してください。
信頼できるソースのシナリオの場合、PHONE_NUMBERフィールドがターゲット・システムの必須フィールドです。対応するOIMユーザー・フィールドはありません。そのため、信頼できるソースのリコンシリエーション中に、PHONE_NUMBERフィールドから値を受け取って格納できるUDFを作成する必要があります。この例では、Telephone UDFを作成済であると仮定しています。
UDFの作成の詳細は、『Oracle Identity Managerデザイン・コンソール・ガイド』を参照してください。
コネクタ・インストーラを実行して、Oracle Identity Managerの指定された宛先ディレクトリにプロバイダ・ファイルをコピーします。
詳細は、「プロバイダ・ファイルのコピー」を参照してください。
ターゲット・システムをOracle Identity Managerのターゲット・リソースとして構成します。この目的でコネクタを作成するには、次のようにします。
『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』の「汎用テクノロジ・コネクタの作成における前提条件への対応」の項で説明されているユーザーとして、管理およびユーザー・コンソールにログインします。
汎用テクノロジ・コネクタを作成するための管理およびユーザー・コンソールの最初のページに移動するには、「汎用テクノロジ・コネクタ」を開いて「作成」をクリックします。
「ステップ1: 基本情報の指定」ページで、表A-1にリストされている値を指定し、「続行」をクリックします。
表A-1 「ステップ1: 基本情報の指定」ページのサンプル・エントリ
| 「ステップ1: 基本情報の指定」ページのラベル | 値/アクション |
|---|---|
|
「名前」フィールド |
ACMEDBAPP |
|
「リコンシリエーション」チェック・ボックス |
このチェック・ボックスを選択します。 |
|
「トランスポート・プロバイダ」リスト |
|
|
「フォーマット・プロバイダ」リスト |
|
|
「信頼できるソース・リコンシリエーション」チェック・ボックス |
このチェック・ボックスは選択しないでください。 |
|
「プロビジョニング」チェック・ボックス |
このチェック・ボックスを選択します。 |
|
「トランスポート・プロバイダ」リスト |
|
|
「フォーマット・プロバイダ」リスト |
図A-1に、サンプル・エントリが表示されている「ステップ1: 基本情報の指定」ページを示します。
「ステップ2: パラメータ値の指定」ページで、表A-2にリストされている値を指定し、「続行」をクリックします。
表A-2 「ステップ2: パラメータ値の指定」ページのサンプル・エントリ
| 「ステップ2: パラメータ値の指定」ページのラベル | 値/アクション |
|---|---|
|
ランタイム・パラメータ |
|
|
oracle.jdbc.driver.OracleDriver |
|
|
このパラメータの詳細は、「データベースURLパラメータおよび接続プロパティ・パラメータの値の決定」を参照してください。 |
jdbc:oracle:thin:@ten.mydomain.com:1521:orcl |
|
dbapps |
|
|
dbappsPd |
|
|
このチェック・ボックスは選択しないでください。 |
|
|
このパラメータの詳細は、「データベースURLパラメータおよび接続プロパティ・パラメータの値の決定」を参照してください。 |
|
|
設計パラメータ |
|
|
ACMEDBAPP |
|
|
ACMEDBROLES |
|
|
APP_UPDATED_ON |
|
|
APP_ACCT_STATUS |
|
|
Lookup.ACME.Status これは、「コネクタの作成前に実行するタスク」の項の手順5を実行して作成する参照定義です。 |
|
|
すべて |
|
|
なし |
|
|
なし |
|
|
このチェック・ボックスを選択します。 |
|
|
増分 |
図A-2に、サンプル・エントリが表示されている「ステップ2: パラメータ値の指定」ページの最初のセクションを示します。
図A-3に、サンプル・エントリが表示されている「ステップ2: パラメータ値の指定」ページの2つ目のセクションを示します。
図A-4に、サンプルのターゲット・システムでメタデータの検出を実行した後の「ステップ3: コネクタ構成の変更」ページのスクリーンショットを示します。表3-2で説明されているように、APP_USERIDフィールド(外部キー)は、このページに表示されている子データセットには含まれていません。
このページでは、次のアクションを実行します。
「リコンシリエーション・ステージング」データセットおよび「OIM - アカウント」データセットの「APP_USERID」フィールドを、必須フィールドとして指定します。
フィールドを必須フィールドとして指定するには、フィールドの「編集」アイコンをクリックし、「ステップ1: フィールド情報の指定」ページで「必須」を選択します。
次のスクリーンショットでは、「APP_USERID」フィールドで強調されている「必須」チェック・ボックスを示します。

「リコンシリエーション・ステージング」データセットの「APP_USERID」(主キー)フィールドと、「OIM - ユーザー」データセットの「ユーザーID」フィールド間に一致のみのマッピングを作成することで、リコンシリエーション・ルールを作成します。
リコンシリエーション・ルールに一致のみのマッピングを作成するには、次のようにします。
「OIM - ユーザー」データセットの「ユーザーID」フィールドの「編集」アイコンをクリックします。
「ステップ1: フィールド情報の指定」ページで、次の操作を実行します。
- 「アクションのマッピング」リストで、「変換なしでマッピングの作成」を選択します。
- 「一致のみ」を選択します。
- 「続行」をクリックします。
次のスクリーンショットには、「ユーザーID」フィールドの「ステップ1: フィールド情報の指定」ページが表示されています。

「ステップ3: マッピング情報の指定」ページで、「データセット」リストから「リコンシリエーション・ステージング」を選択し、「フィールド名」リストから「APP_USERID」を選択して「続行」をクリックします。次のスクリーンショットには、「ステップ3: マッピング情報の指定」ページを示します。

ウィザードを閉じます。
「リコンシリエーション・ステージング」データセットと「OIM - アカウント」データセットのフィールドに属性(データ型や長さなど)を設定します。
次のスクリーンショットに、「ステップ1: フィールド情報の指定」ページの「データ型」リストおよび「長さ」フィールドを示します。

ターゲット・システムとOracle Identity Manager間のアカウント・ステータス・データの交換を構成します。
詳細は、「ターゲット・システムとのアカウント・ステータス・データの交換」を参照してください。
リコンシリエーションまたはプロビジョニング中は、「APP_CREATED_ON」、「APP_UPDATED_BY」、および「APP_UPDATED_ON」フィールドは使用しないでください。これらのフィールドを削除するには、各フィールドの「削除」アイコンをクリックし、フィールドの削除を続行することを確認します。表示されているすべてのデータセットからこれらのフィールドを削除する必要があります。
次のスクリーンショットでは、「APP_UPDATED_ON」フィールドで強調されている「削除」アイコンを示します。
リコンシリエーション一致のキー・フィールドを指定します。
次のスクリーンショットには、「リコンシリエーション・ステージング」データセットおよび「OIM - アカウント」データセットの「APP_USERID」フィールド間のデフォルトのマッピングを示します。

このマッピングを一致のみのマッピングに変更する必要があります。これを実行するには、「OIM - アカウント」データセットの「APP_USERID」フィールドの「編集」アイコンをクリックして、「ステップ1: フィールド情報の指定」ページで「一致のみ」を選択し、ウィザードの最後のページに進みます。次のスクリーンショットには、強調されている「一致のみ」チェック・ボックスを示します。

図A-5に、この項で説明されているアクションを実行した後の「ステップ3: コネクタ構成の変更」ページのスクリーンショットを示します。
この項で前述されているアクションを実行した後の、「ステップ3: コネクタ構成の変更」ページの変更内容は、次のとおりです。
|
注意: 「リコンシリエーション・ステージング」データセットのフィールドの属性設定など、特定アクションの結果はこのページには表示されません。 |
「ソース」データセットから始まり、すべてのデータセットから「APP_CREATED_ON」、「APP_UPDATED_BY」および「APP_UPDATED_ON」フィールドを削除しました。
アカウント・ステータスのリコンシリエーションを、次のようにして構成しました。
「OIM - アカウント」データセットの「ID」フィールドと、「リコンシリエーション・ステージング」データセットの任意のフィールド間にマッピングがないことを確認しました。
「リコンシリエーション・ステージング」データセットの「APP_USERID」フィールドと、「OIM - ユーザー」データセットの「ユーザーID」フィールド間に一致のみのマッピングを作成することで、リコンシリエーション・ルールを作成しました。
アカウント・ステータスのプロビジョニングの構成手順の一部として、「プロビジョニング・ステージング」データセットから「APP_ACCT_STATUS」フィールドを削除しました。
「ステップ4: コネクタ・フォーム名の検証」ページで、「続行」をクリックします。
図A-6に、「ステップ4: コネクタ・フォーム名の検証」ページを示します。
デフォルトのルール・アクションを変更します。
詳細は、「デフォルトのアクション・ルールの変更」を参照してください。
リコンシリエーションを構成します。
詳細は、『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』の「汎用テクノロジ・コネクタの作成」の「リコンシリエーションの構成」を参照してください。
プロビジョニングを構成します。
詳細は、『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』の「汎用テクノロジ・コネクタの作成」の「プロビジョニングの構成」を参照してください。
ターゲット・システムをOracle Identity Managerの信頼できるソースとして構成します。この目的でコネクタを作成するには、次のようにします。
『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』の「汎用テクノロジ・コネクタの作成における前提条件への対応」で説明されているユーザーとして、管理およびユーザー・コンソールにログインします。
汎用テクノロジ・コネクタを作成するための管理およびユーザー・コンソールの最初のページに移動するには、「汎用テクノロジ・コネクタ」を開いて「作成」をクリックします。
「ステップ1: 基本情報の指定」ページで、表A-3にリストされている値を指定し、「続行」をクリックします。
表A-3 「ステップ1: 基本情報の指定」ページのサンプル・エントリ
| 「ステップ1: 基本情報の指定」ページのラベル | 値/アクション |
|---|---|
|
「名前」フィールド |
ACMEHR |
|
「リコンシリエーション」チェック・ボックス |
このチェック・ボックスを選択します。 |
|
「トランスポート・プロバイダ」リスト |
|
|
「フォーマット・プロバイダ」リスト |
|
|
「信頼できるソース・リコンシリエーション」チェック・ボックス |
このチェック・ボックスを選択します。 |
|
「プロビジョニング」チェック・ボックス |
このチェック・ボックスは選択しないでください。 |
|
「トランスポート・プロバイダ」リスト |
プロバイダを選択しないでください。 |
|
「フォーマット・プロバイダ」リスト |
プロバイダを選択しないでください。 |
図A-7に、サンプル・エントリが表示されている「ステップ1: 基本情報の指定」ページを示します。
「ステップ2: パラメータ値の指定」ページで、表A-4に説明されているアクションを実行し、「続行」をクリックします。
表A-4 「ステップ2: パラメータ値の指定」ページのサンプル・エントリ
| 「ステップ2: パラメータ値の指定」ページのラベル | 入力する値/実行するアクション |
|---|---|
|
ランタイム・パラメータ |
|
|
oracle.jdbc.driver.OracleDriver |
|
|
このパラメータの詳細は、「データベースURLパラメータおよび接続プロパティ・パラメータの値の決定」を参照してください。 |
jdbc:oracle:thin:@ilao-pc:1521:orcl10u |
|
ACMEHR |
|
|
AcmeHr |
|
|
このチェック・ボックスは選択しないでください。 |
|
|
このパラメータの詳細は、「データベースURLパラメータおよび接続プロパティ・パラメータの値の決定」を参照してください。 |
|
|
設計パラメータ |
|
|
ACMEHR |
|
|
すべて |
|
|
なし |
|
|
なし |
|
|
このチェック・ボックスを選択します。 |
|
|
すべて |
図A-8に、サンプル・エントリが表示されている「ステップ2: パラメータ値の指定」ページの最初のセクションを示します。
図A-9に、サンプル・エントリが表示されている「ステップ2: パラメータ値の指定」ページの2つ目のセクションを示します。
図A-10に、サンプルのターゲット・システムでメタデータの検出を実行した後の「ステップ3: コネクタ構成の変更」ページのスクリーンショットを示します。「OIM - ユーザー」データセットに表示されている「電話」フィールドは、「コネクタの作成前に実行するタスク」で説明されている手順6を実行して追加したUDFを表しています。
「ステップ3: コネクタ構成の変更」ページでは、次のアクションを実行します。
「リコンシリエーション・ステージング」データセットの「EMPLOYEE_ID」、「FIRST_NAME」、および「LAST_NAME」フィールドを、必須フィールドとして指定します。
フィールドを必須フィールドとして指定するには、フィールドの「編集」アイコンをクリックし、「ステップ1: フィールド情報の指定」ページで「必須」を選択します。
次のスクリーンショットでは、「EMPLOYEE_ID」フィールドで強調されている「必須」チェック・ボックスを示します。

「リコンシリエーション・ステージング」データセットの「EMPLOYEE_ID」(主キー)フィールドと、「OIM - ユーザー」データセットの「ユーザーID」フィールド間に一致のみのマッピングを作成することで、リコンシリエーション・ルールを作成します。
リコンシリエーション・ルールに一致のみのマッピングを作成するには、次のようにします。
「OIM - ユーザー」データセットの「ユーザーID」フィールドの「編集」アイコンをクリックします。
「ステップ1: フィールド情報の指定」ページで、次の操作を実行します。
- 「アクションのマッピング」リストで、「変換なしでマッピングの作成」を選択します。
- 「一致のみ」を選択します。
- 「続行」をクリックします。
次のスクリーンショットには、「ユーザーID」フィールドの「ステップ1: フィールド情報の指定」ページが表示されています。

「ステップ3: マッピング情報の指定」ページで、「データセット」リストから「リコンシリエーション・ステージング」を選択し、「フィールド名」リストから「EMPLOYEE_ID」を選択して「続行」をクリックします。

ウィザードを閉じます。
「リコンシリエーション・ステージング」データセットの残りのフィールドと、「OIM - ユーザー」データセットの対応するフィールド間にマッピングを作成します。
「リコンシリエーション・ステージング」データセットに表示されているフィールドの属性(データ型や長さなど)を設定します。
次のスクリーンショットに、「ステップ1: フィールド情報の指定」ページの「データ型」リストおよび「長さ」フィールドを示します。

ターゲット・システムとOracle Identity Manager間のアカウント・ステータス・データのリコンシリエーションを構成します。
詳細は、「アカウント・ステータスのリコンシリエーションの構成」を参照してください。
OIMユーザーの作成に必要な必須フィールドが存在していることを確認します。
「組織」、「従業員タイプ」および「ユーザー・タイプ」フィールドは、必須OIMユーザー・フィールドです。OIMユーザーが信頼できるソースのリコンシリエーションによって作成された場合は、これらのフィールドに値を指定する必要があります。ただし、これらのフィールドはターゲット・システムには存在しません。「リコンシリエーション・ステージング」データセットにこれらのフィールドを追加し、これらのフィールドの入力としてリテラル値を設定するには、次の手順を各フィールドに対して実行します。
「リコンシリエーション・ステージング」データセットの「追加」アイコンをクリックします。
次のスクリーンショットに、「ACMEHR」データセットの強調されている「追加」アイコンを示します。
「ステップ1: フィールド情報の指定」ページで、次の操作を実行します。
「フィールド名」フィールドで、次のフィールドの名前を入力します。
- 「組織」フィールドには、「組織」と入力します。
- 「従業員タイプ」フィールドには、「従業員タイプ」と入力します。
- 「ユーザー・タイプ」フィールドには、「ユーザー・タイプ」と入力します。
「アクションのマッピング」リストから、「変換なしでマッピングの作成」を選択します。
「データ型」リストで、「文字列」を選択します。
「続行」をクリックします。
「ステップ3: マッピング情報の指定」ページで、「リテラル」を選択し、次のいずれかの値を入力します。
「組織」フィールドには、Oracle Identity Managerの既存の組織名を入力します。
「従業員タイプ」フィールドには、「フルタイム」、「パートタイム」、「一時」、「インターン」または「コンサルタント」を入力します。これらは、「従業員タイプ」フィールドのコード・キー値です。
「ユーザー・タイプ」フィールドには、「エンドユーザー」または「エンドユーザー管理者」を入力します。これらは、「ユーザー・タイプ」フィールドのコード・キー値です。
手順を完了してウィザードを閉じます。
図A-11に、この項で説明されているアクションを実行した後の「ステップ3: コネクタ構成の変更」ページのスクリーンショットを示します。
この項で前述されているアクションを実行した後の、「ステップ3: コネクタ構成の変更」ページの変更内容は、次のとおりです。
|
注意: 「リコンシリエーション・ステージング」データセットのフィールドの属性設定など、特定アクションの結果はこのページには表示されません。 |
「リコンシリエーション・ステージング」データセットに「組織」、「従業員タイプ」、および「ユーザー・タイプ」フィールドを追加し、これらのフィールドの入力ソースとしてリテラル値を設定しました。
アカウント・ステータスのリコンシリエーションを、次のようにして構成しました。
「リコンシリエーション・ステージング」データセットの「EMPLOYEE_ID」フィールドと、「OIM - ユーザー」データセットの「ユーザーID」フィールド間に一致のみのマッピングを作成することで、リコンシリエーション・ルールを作成しました。
「リコンシリエーション・ステージング」データセットのフィールドと、「OIM - ユーザー」データセットの対応するフィールドをマップしました。
ターゲット・システムの「PHONE_NUMBER」フィールドをマップするために「電話」UDFを作成しました。
デフォルトのルール・アクションを変更します。
詳細は、「デフォルトのアクション・ルールの変更」を参照してください。
リコンシリエーションを構成します。
詳細は、『Oracle Identity Manager管理およびユーザー・コンソール・ガイド』の「汎用テクノロジ・コネクタの作成」の「リコンシリエーションの構成」を参照してください。