Database Application Tablesコネクタについて

この章では、Database Application Tablesコネクタの概要について説明します。

トピック:

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です。

DBATコネクタでのターゲット・システム検出の理解

ターゲット・システムは、Oracle Identity Managerコネクタで管理できるデータベース、Microsoft Active Directory、Siebelなどのアイデンティティ認識アプリケーションです。

一般的に、Oracle Identity Managerコネクタが存在するターゲット・システムには、次の2つの大きなカテゴリがあります。

  • 事前定義されたターゲット・システム: これらは、静的スキーマを持つターゲット・システムで、コネクタはそのスキーマを認識しています。つまり、このようなターゲット・システム用のコネクタには、事前構成されたメタデータまたはコネクタ・アーティファクト(ITリソース定義、プロセス・フォーム、リソース・オブジェクトなど)が付属します。

  • 検出されたターゲット・システム: これらは、スキーマが前もって認識されていないターゲット・システムです。たとえば、フラット・ファイルには固定のスキーマはありません。各ターゲット・システムは、まったく異なるスキーマを持つことができます。コネクタは、統合対象のスキーマと使用可能な属性について最初は認識していません。

DBATコネクタは、検出されたターゲット・システム用のコネクタです。

検出されたターゲット・システム用のコネクタは、どのアーティファクトにも付属していません。これらは、スキーマの検出とアーティファクトの生成に役立つデプロイメント・ユーティリティのセットにのみ付属します。

検出は、データベースの基礎となるスキーマを識別するプロセスです。groovyファイルを構成してDBATジェネレータを実行することで、データベースのスキーマを検出できます。これについては、このガイドで後述します。

DBATコネクタの動作保証されているコンポーネント

DBATコネクタをインストールおよび使用するために必要なソフトウェア・コンポーネントおよびそのバージョンは次のとおりです。

表1-1に、このコネクタで動作保証されているコンポーネントを示します。

表1-1 動作保証されているコンポーネント

項目 要件

Oracle Identity GovernanceまたはOracle Identity Manager

次のいずれかのリリースのOracle Identity GovernanceまたはOracle Identity Managerを使用できます。

  • Oracle Identity Governance 12c (12.2.1.4.0)

  • Oracle Identity Governance 12c (12.2.1.3.0)

  • Oracle Identity Manager 11gリリース2 PS3 (11.1.2.3.0)

  • Oracle Identity Manager 11gリリース2 PS2 (11.1.2.2.0)およびこのリリース・トラックでの以降のBP

  • Oracle Identity Manager 11gリリース2 PS1 (11.1.2.1.0)およびこのリリース・トラックでのそれ以降のBP

  • Oracle Identity Manager 11gリリース2 BP10 (11.1.2.0.10)およびこのリリース・トラックでのそれ以降のBP

ターゲット・システム

ターゲット・システムは、次のいずれかのRDBMSのデータベース表。

  • IBM DB2バージョン9.x、10.x、11.x

  • Microsoft SQL Server 2005、2008、2012、2014、2016、2017

  • MySQL 5.x

  • Oracle Database 10g および11g (単一データベースまたはOracle RAC実装のいずれかの場合)

  • Oracle Database 12c(単一データベース、プラガブル・データベース(PDB)、Oracle RAC実装の場合)

  • Oracle Database 19cまたは18cまたは12c (単一データベース、プラガブル・データベース(PDB)、Oracle RAC実装の場合)

    *Oracle Database 10gおよび11g (単一データベースまたはOracle RAC実装のいずれかの場合)

  • Sybase Adaptive Server Enterprise 15.x

  • IBM DB2バージョン12以降

JDBCドライバ

使用するターゲット・システムに応じて、ベンダーのWebサイトから、次に示す一連のJDBCドライバのいずれかをダウンロードします。

IBM DB2の場合:

  • すべてのプラットフォームの場合: db2jcc

  • 主キー列に自動増分オプションを設定したIBM DB2の場合: db2jcc4

Microsoft SQL Serverの場合

  • Microsoft SQL Server 2014の場合: sqljdbc4バージョン4.0

  • Microsoft SQL Server 2012の場合: sqljdbc4バージョン4.0

  • Microsoft SQL Server 2008の場合: sqljdbc4バージョン2.0

  • Microsoft SQL Server 2005の場合: sqljdbcバージョン1.2

MySQLの場合:

mysql-connector-java-5.1.12-bin

Oracle DatabaseまたはOracle RACの場合:

  • JDK 1.6を使用している場合: ojdbc6

  • JDK 1.5を使用している場合: ojdbc5

  • 他のすべてのプラットフォームの場合: ojdbc14

  • 自動増分列のあるOracle Databaseの場合: ojdbc5またはojdbc6

Sybase Adaptive Server Enterpriseの場合:

jconn3

コネクタ・サーバー

11.1.2.1.0

コネクタ・サーバーJDK

JDK 1.6以降

ユーザー・データがターゲット・システムに格納される形式

Database Application Tablesコネクタを使用できるのは、ユーザー・データが次のいずれかの形式でターゲット・システムに格納されている場合のみです。

  • すべてのユーザー・データが1つの表またはビューに格納されている場合。

  • ユーザー・データが、1つの親表全体および1つ以上の子表に分散している場合。このターゲット・システムは、ターゲット・リソースとしてのみ構成でき、信頼できるソースとしては構成できません。

  • すべてのユーザー・データが、(1つ以上の表に基づく)単一の更新可能なビューに格納されている場合。

  • ユーザー・データが、(1つ以上の表に基づく)単一の更新可能なビュー、および(1つ以上の表に基づく)1つ以上の子ビューに分散している場合。このタイプのターゲット・システムは、ターゲット・リソースとしてのみ構成可能で、このコネクタの信頼できるソースとして構成することはできません。つまり、信頼できるソースには子データを格納できません。

ターゲット・システムのその他の要件

ターゲット・システムは、次の要件を満たしている必要があります。

親表と子表が外部キーで結合していない場合(ビューを使用している場合など)は、両方の表の外部キー列の名前を同じにする必要があります。

DBATコネクタの使用上の推奨事項

ここでは、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コネクタの動作保証されている言語について

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コネクタのアーキテクチャ

DBATコネクタは、Identity Connector Framework (ICF)を使用して実装されます。ICFは、すべてのOracle Identity Governanceコネクタに共通の基本的なリコンシリエーションおよびプロビジョニング操作を提供するコンポーネントです。ICFはOracle Identity Governanceに同梱されています。したがって、構成したり変更する必要はありません。

図1-1に、コネクタのアーキテクチャを示します。

図1-1 コネクタのアーキテクチャ

図1-1の説明が続きます
「図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コネクタのデプロイメント・プロセスのフローチャートを示します。このデプロイメント・プロセスの各ステップについては、後続の章で説明します。

図1-2 コネクタ・デプロイメント・プロセスの全体的なフロー

図1-2の説明が続きます
「図1-2 コネクタ・デプロイメント・プロセスの全体的なフロー」の説明

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スクリプト用のコネクタの構成」を参照してください。