この章では、Database Application Tablesコネクタの概要について説明します。
トピック:
Database Application Tablesコネクタ(DBATコネクタ)を使用すると、データベースとOracle Identity Manager間でユーザー・データの交換が可能になります。
Oracle Identity Manager (OIM)プラットフォームでは、アクセス権の管理、セキュリティおよびITリソースのプロビジョニングが自動化されています。Oracle Identity Managerはユーザーをリソースに接続し、機密性の高い企業情報を保護するために不正アクセスを失効および制限します。Oracle Identity Managerコネクタは、Oracle Identity Managerと外部のアイデンティティ認識アプリケーション(PeopleSoftやMySQLなど)の統合に使用されます。
エンタープライズ設定で、組織の多くのアプリケーションは、ユーザー・データのリポジトリとしてリレーショナル・データベース表を使用することがあります。このガイドでは、データベース表ユーザー・ストアの基礎となるスキーマに基づいて動的にコネクタを生成し、そのコネクタをインストールしてOracle Identity Managerからユーザー・ライフサイクルおよび権限を管理するために使用する手順について説明します。コネクタを使用して表をOracle Identity Managerと統合したら、管理対象(ターゲット)リソースとして使用することも、Oracle Identity Managerのユーザー・データの認可(信頼できる)ソースとして使用することもできます。
生成するコネクタは、Database Application Tablesコネクタ(DBATコネクタ)と呼ばれます。次に示すサンプル・シナリオで、DBATコネクタで対応できる要件を説明します。
Example社には、データベース駆動型のカスタム・アプリケーションがあります。これらのアプリケーションには、アイデンティティ管理用のAPIがありません。この会社は、OIMなどの一元化されたアイデンティティ管理システムを使用して、これらのカスタム・アプリケーションでユーザーのライフサイクルを管理したいと考えています。
DBATコネクタは、このような業務上の問題に対するソリューションの1つです。Example社は、このコネクタを使用して、データベースとOracle Identity Manager間でユーザー・データを交換できます。
ノート:
このガイドでは:
ユーザー・データを格納するデータベース表およびその関連表をまとめて、ターゲット・システムと呼びます。
データベースがインストールされているコンピュータは、ターゲット・システム・ホスト・コンピュータと呼びます。
RELEASE_NUMBERはコネクタの現在のリリース番号に対するプレースホルダとして使用されています。そのため、RELEASE_NUMBERが出現したらすべてコネクタのリリース番号に置き換えます。たとえば、11.1.1.6.0です。
ターゲット・システムは、Oracle Identity Managerコネクタで管理できるデータベース、Microsoft Active Directory、Siebelなどのアイデンティティ認識アプリケーションです。
一般的に、Oracle Identity Managerコネクタが存在するターゲット・システムには、次の2つの大きなカテゴリがあります。
事前定義されたターゲット・システム: これらは、静的スキーマを持つターゲット・システムで、コネクタはそのスキーマを認識しています。つまり、このようなターゲット・システム用のコネクタには、事前構成されたメタデータまたはコネクタ・アーティファクト(ITリソース定義、プロセス・フォーム、リソース・オブジェクトなど)が付属します。
検出されたターゲット・システム: これらは、スキーマが前もって認識されていないターゲット・システムです。たとえば、フラット・ファイルには固定のスキーマはありません。各ターゲット・システムは、まったく異なるスキーマを持つことができます。コネクタは、統合対象のスキーマと使用可能な属性について最初は認識していません。
DBATコネクタは、検出されたターゲット・システム用のコネクタです。
検出されたターゲット・システム用のコネクタは、どのアーティファクトにも付属していません。これらは、スキーマの検出とアーティファクトの生成に役立つデプロイメント・ユーティリティのセットにのみ付属します。
検出は、データベースの基礎となるスキーマを識別するプロセスです。groovyファイルを構成してDBATジェネレータを実行することで、データベースのスキーマを検出できます。これについては、このガイドで後述します。
DBATコネクタをインストールおよび使用するために必要なソフトウェア・コンポーネントおよびそのバージョンは次のとおりです。
表1-1に、このコネクタで動作保証されているコンポーネントを示します。
表1-1 動作保証されているコンポーネント
項目 | 要件 |
---|---|
Oracle Identity GovernanceまたはOracle Identity Manager |
次のいずれかのリリースのOracle Identity GovernanceまたはOracle Identity Managerを使用できます。
|
ターゲット・システム |
ターゲット・システムは、次のいずれかのRDBMSのデータベース表。
|
JDBCドライバ |
使用するターゲット・システムに応じて、ベンダーのWebサイトから、次に示す一連のJDBCドライバのいずれかをダウンロードします。 IBM DB2の場合:
Microsoft SQL Serverの場合
MySQLの場合: mysql-connector-java-5.1.12-bin Oracle DatabaseまたはOracle RACの場合:
Sybase Adaptive Server Enterpriseの場合: jconn3 |
コネクタ・サーバー |
11.1.2.1.0 |
コネクタ・サーバーJDK |
JDK 1.6以降 |
ユーザー・データがターゲット・システムに格納される形式 |
Database Application Tablesコネクタを使用できるのは、ユーザー・データが次のいずれかの形式でターゲット・システムに格納されている場合のみです。
|
ターゲット・システムのその他の要件 |
ターゲット・システムは、次の要件を満たしている必要があります。 親表と子表が外部キーで結合していない場合(ビューを使用している場合など)は、両方の表の外部キー列の名前を同じにする必要があります。 |
ここでは、Oracle Identity GovernanceまたはOracle Identity Managerの使用しているバージョンに応じて、デプロイおよび使用できるDBATコネクタ・バージョンに関する推奨事項について説明します。
次のコネクタのいずれかをデプロイして使用する必要があります。
Oracle Identity Manager 11gリリース2 BP10 (11.1.2.0.10)より前のOracle Identity Managerリリースを使用している場合、このコネクタの9.1.0.xバージョンを使用する必要があります。
表1-1に示されたOracle Identity Managerのいずれかのリリースを使用している場合、このコネクタの最新の11.1.1.xバージョンを使用する必要があります。
DBATコネクタは、Oracle Identity Managerによってサポートされる言語に対応しています。
リソース・バンドル・エントリは、使用されるターゲット・システムに応じて変化するため、リソース・バンドルはコネクタ・インストール・メディアに含まれません。
リコンシリエーションおよびプロビジョニングでサポートされるデータ型の詳細について説明します。
リコンシリエーションおよびプロビジョニング操作でサポートされるデータ型を以下の項で示します。
ノート:
RAW、バイナリ・ファイル、CLOB、BLOBなどの複合データ型はサポートされません。サポートされず、かつ複合データ型でもないデータ型は、文字列データ型として扱われます。
IBM DB2データベースの場合
SMALLINT
BIGINT
INTEGER
REAL
FLOAT
DOUBLE
DECIMAL
CHARACTER
VARCHAR
DATE
TIMESTAMP
Microsoft SQL Serverの場合
CHAR
VARCHAR
SMALLINT
INT
BIGINT
DECIMAL
NUMERIC
NVARCHAR
FLOAT
REAL
SMALLDATETIME
DATETIME
MySQLの場合:
BOOL
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT
DOUBLE
DECIMAL
CHAR
VARCHAR
TINYTEXT
DATE
DATETIME
TIMESTAMP
Oracle Databaseの場合:
VARCHAR2
CHAR
NUMBER
NUMERIC
INTEGER
INT
SMALLINT
DOUBLE
FLOAT
DECIMAL
DEC
REAL
DATE
TIMESTAMP
Sybaseデータベースの場合:
CHAR
DATE
VARCHAR
TINYINT
SMALLINT
INT
NUMERIC
DECIMAL
FLOAT
REAL
DATETIME
DBATコネクタは、Identity Connector Framework (ICF)を使用して実装されます。ICFは、すべてのOracle Identity Governanceコネクタに共通の基本的なリコンシリエーションおよびプロビジョニング操作を提供するコンポーネントです。ICFはOracle Identity Governanceに同梱されています。したがって、構成したり変更する必要はありません。
図1-1に、コネクタのアーキテクチャを示します。
Database Application Tablesコネクタは、アイデンティティ・コネクタ・フレームワーク(ICF)を使用して実装されます。ICFは、すべてのOracle Identity Managerコネクタに共通の基本的なリコンシリエーションおよびプロビジョニング操作を提供するコンポーネントです。さらに、ICFには接続プーリング、バッファリング、タイムアウト、フィルタリングなどの一般的な機能も用意されているため、開発者がこれらの機能を自分で実装する必要はありません。ICFは、Oracle Identity Managerに付属しています。
DBATコネクタは、検出されたターゲット用のコネクタのため、メタデータは何も付属していません。データベース・スキーマに応じて、コネクタのデプロイメント中にコネクタ・アーティファクトが生成されます。
次に、コネクタ・デプロイメントおよび使用手順が分類される各ステージの概要について説明します。
コネクタの生成
スキーマの検出は、コネクタを生成する際の重要な手順の1つです。DBATコネクタには、ターゲット・システムの情報を指定できるgroovyファイルが含まれます。この情報は、DBATジェネレータ(コネクタに付属するデプロイメント・ユーティリティの1つ)がスキーマを検出してコネクタを生成するために使用されます。
つまり、groovyファイルに対してDBATジェネレータを実行すると、コネクタ・パッケージが生成されます。このパッケージには、アダプタ、プロセス・タスク、スケジュール済タスク、参照定義、ITリソースなどのコネクタ・コンポーネントの定義を含むXMLファイルが含まれます。プロビジョニングやリコンシリエーションなどのコネクタ操作が、これらのコネクタ・コンポーネントを使用して実行されます。
コネクタのインストールおよび構成
このステージでは、コネクタ・インストーラを実行して生成済のコネクタをインストールし、ITリソースの構成やロギングの有効化などの構成タスクを実行します。
コネクタの使用
このステージでは、コネクタの使用を開始して、リコンシリエーションやプロビジョニングなどのコネクタ操作を実行します。
DBATコネクタは、次のモードのいずれかで実行されるように構成できます。
アイデンティティ・リコンシリエーション
アイデンティティ・リコンシリエーション・モードでは、ターゲット・システムは信頼できるソースとして使用され、Oracle Identity Managerの外部でユーザーが直接作成および変更されます。
リコンシリエーション時に、スケジュール済ジョブによってターゲット・システムとの接続が確立され、リコンシリエーション基準がAPIに送信されます。APIはリコンシリエーション基準に一致するユーザー・レコードを抽出し、レコードをスケジュール済タスクに渡し、スケジュール済タスクがOracle Identity Managerにレコードを渡します。次のステップはコネクタ構成のモードにより異なります。
ターゲット・システムからフェッチされた各レコードが、既存のOIMユーザーと比較されます。一致が見つかった場合、ターゲット・システムのレコードに対して行われた変更内容がOIMユーザー属性にコピーされます。一致が見つからない場合、ターゲット・システム・レコードを使用してOIMユーザーが作成されます。
ノート:
信頼できるリコンシリエーションでは、子表エントリなどの複数値属性はサポートされません。アカウント管理
アカウント管理モードでは、ターゲット・システムはターゲット・リソースとして使用されます。コネクタはターゲット・リソースのリコンシリエーション操作またはプロビジョニング操作を可能にします。Oracle Identity Managerで実行されるプロビジョニング操作を通じて、OIMユーザーのユーザー・アカウントがターゲット・システムで作成および更新されます。ターゲット・リソースからのリコンシリエーション時に、Database Application Tablesコネクタは、ターゲット・システムで作成または変更されたユーザー・アカウントに関するデータをOracle Identity Managerにフェッチします。このデータは、OIMユーザーに割り当てられたリソースの追加または変更に使用されます。
プロビジョニング操作時には、アダプタがプロセス・フォームを介して送信されたプロビジョニング・データをターゲット・システムに搬送します。ターゲット・システムでのAPIはアダプタからのプロビジョニング・データを受け入れ、ターゲット・システムで必要な操作を実行し、ターゲット・システムからのレスポンスをアダプタに返します。アダプタはOracle Identity Managerにレスポンスを返します。
リコンシリエーション時に、スケジュール済タスクは、ターゲットからデータを取得するコネクタ・バンドルを呼び出してから、それを処理してOIMに戻し、リコンシリエーション・ルールに基づいて関連付けます。
ノート:
認可(信頼できる)ソースおよび管理対象(ターゲット)リソースの両方でターゲット・システムを構成しないことをお薦めします。
コネクタのデプロイメント構成の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理のコネクタのインストールに関する項を参照してください。
このトピックでは、DBATコネクタのデプロイメント・プロセスのフローチャートを示します。このデプロイメント・プロセスの各ステップについては、後続の章で説明します。
DBATコネクタの機能には、完全リコンシリエーション、増分リコンシリエーション、制限付きリコンシリエーション、アカウント・データの検証などがあります。
コネクタの機能は次のとおりです。
コネクタを作成したら、完全リコンシリエーションを実行して、ターゲット・システムに存在するすべてのユーザー・データをOracle Identity Managerにインポートします。最初の完全リコンシリエーション実行後に、増分リコンシリエーション用にコネクタを構成できます。増分リコンシリエーションでは、前回のリコンシリエーションの実行後に追加または変更されたレコードのみがOracle Identity Managerにフェッチされます。
完全リコンシリエーションおよび増分リコンシリエーションの詳細は、「完全リコンシリエーションおよび増分リコンシリエーションの実行について」を参照してください。
リコンシリエーションの実行時にOracle Identity Managerにフェッチされるレコードを制限またはフィルタするには、スケジュール済ジョブのFilter属性またはITリソースのcustomizedQueryパラメータに条件を追加します。
詳細は、「制限付きリコンシリエーションの実行について」を参照してください。
コネクタを使用して、ターゲット・システムをOracle Identity Managerの信頼できるソースまたはターゲット・リソースとして構成できます。
詳細は、「リコンシリエーション・スケジュール済ジョブの理解」を参照してください。
ユーザー・レコードのリコンシリエーションのスケジュール済ジョブとは別に、削除されたユーザー・レコードのリコンシリエーションのスケジュール済ジョブがあります。ターゲット・リソース・モードで、レコードがターゲット・システムで削除された場合、対応するDatabase Application TablesリソースはOIMユーザーから取り消されます。信頼できるソース・モードでは、レコードがターゲット・システムで削除されると、対応するOIMユーザー・リソースが削除されます。
削除されたユーザー・レコードのリコンサイルに使用されるスケジュール済ジョブの詳細は、「削除されたユーザー・レコードのリコンシリエーションのスケジュール済ジョブ」を参照してください。
リコンシリエーションおよびプロビジョニング時にOracle Identity Managerとの間で移動または送信されるアカウント・データの検証を構成できます。さらに、リコンシリエーション時にOracle Identity Managerに移動されるアカウント・データの変換も構成できます。この項の内容は次のとおりです。
デフォルト・マッピングのリストに含まれないOIMユーザー・フィールドに対してマッピングを作成できます。これらのフィールドは、ターゲット・システムで提供されたOIMユーザー・フィールドの標準セットの一部か、またはOracle Identity Managerに追加するユーザー定義フィールドのいずれかです。
この項の内容は次のとおりです。
コネクタを使用してリコンシリエーションおよびプロビジョニング操作を実行するときに、コネクタはデフォルトのSQL問合せおよびSQL文を実行します。コネクタはコネクタ操作を実行するカスタム・ストアド・プロシージャの呼出しをサポートします。これらのデフォルトのSQL問合せとSQL文のかわりに、Groovyスクリプト言語で記述されたカスタム・ストアド・プロシージャを実行するスクリプトを呼び出すようにコネクタを構成できます。
詳細は、「ストアド・プロシージャおよびGroovyスクリプト用のコネクタの構成」を参照してください。