1 コネクタについて

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

この章では、次の項目について説明します。

1.1 Database Application Tablesコネクタの概要

Oracle Identity Governance (OIG)プラットフォームでは、アクセス権の管理、セキュリティおよびITリソースのプロビジョニングが自動化されています。Oracle Identity Governanceはユーザーをリソースに接続し、機密性の高い企業情報を保護するために不正アクセスを失効および制限します。Oracle Identity Governanceコネクタは、Oracle Identity Governanceと外部のアイデンティティ認識アプリケーション(PeopleSoftやMySQLなど)の統合に使用されます。

エンタープライズ設定で、組織の多くのアプリケーションは、ユーザー・データのリポジトリとしてリレーショナル・データベース表を使用することがあります。このガイドでは、データベース表ユーザー・ストアの基礎となるスキーマに基づいて動的にコネクタを生成し、そのコネクタをインストールしてOracle Identity Governanceからユーザー・ライフサイクルおよび権限を管理するために使用する手順について説明します。コネクタを使用して表をOracle Identity Governanceと統合したら、管理対象(ターゲット)リソースとして使用することも、Oracle Identity Governanceのユーザー・データの認可(信頼できる)ソースとして使用することもできます。

生成するコネクタは、Database Application Tablesコネクタ(DBATコネクタ)と呼ばれます。次に示すサンプル・シナリオで、DBATコネクタで対応できる要件を説明します。

Example社には、データベース駆動型のカスタム・アプリケーションがあります。これらのアプリケーションには、アイデンティティ管理用のAPIがありません。この会社は、OIMなどの一元化されたアイデンティティ管理システムを使用して、これらのカスタム・アプリケーションでユーザーのライフサイクルを管理したいと考えています。

DBATコネクタは、このような業務上の問題に対するソリューションの1つです。Example社は、このコネクタを使用して、データベースとOracle Identity Governance間でユーザー・データを交換できます。

Oracle Identity Governanceリリース12.2.1.3.0以降では、Oracle Identity Self Serviceのアプリケーション・オンボード機能を使用してコネクタのデプロイメントを処理することもできます。この機能により、ビジネス・ユーザーは最小限の詳細と作業でアプリケーションをオンボードできます。コネクタのインストール・パッケージには、指定したアプリケーションまたはターゲット・システムからデータをプロビジョニングおよびリコンサイルするために必要なすべての情報を含む事前定義済テンプレート(XMLファイル)のコレクションが含まれています。これらのテンプレートには、ターゲット・システムに固有の基本接続性と構成の詳細も含まれています。コネクタによってこれらの事前定義済テンプレートからの情報が使用されるため、ユーザーは単一の簡素化されたUIを使用して迅速かつ簡単にアプリケーションをオンボードできます。

アプリケーション・オンボードとは、Oracle Identity Governanceにアプリケーションを登録または関連付けして、ユーザー情報のプロビジョニングおよびリコンシリエーションにそのアプリケーションを使用できるようにするプロセスです。

ノート:

このリリースでは、アプリケーション・オンボードまたはコネクタ・インストーラを使用して、DBATコネクタをデプロイできます。このマニュアルでは、Identity Self Serviceの「管理」タブの「アプリケーション」オプションを使用してデプロイされるコネクタをAOBアプリケーションと呼びます。Oracle Identity System Administrationの「コネクタの管理」オプションを使用してデプロイされるコネクタをCIベース・コネクタ(コネクタ・インストーラ・ベース・コネクタ)と呼びます。

ノート:

このガイドでは:

  • ユーザー・データを格納するデータベース表およびその関連表をまとめて、ターゲット・システムと呼びます。

  • データベースがインストールされているコンピュータは、ターゲット・システム・ホスト・コンピュータと呼びます。

  • RELEASE_NUMBERはコネクタの現在のリリース番号に対するプレースホルダとして使用されています。そのため、RELEASE_NUMBERが出現したらすべてコネクタのリリース番号に置き換えます。たとえば、12.2.1.3.0。

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

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

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

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

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

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

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

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

1.3 動作保証されているコンポーネント

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

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

コンポーネント AOBアプリケーションの要件 CIベースのコネクタの要件

Oracle Identity GovernanceまたはOracle Identity Manager

Oracle Identity Governanceの次のリリースのいずれかを使用できます:

  • Oracle Identity Governance 12c (12.2.1.4.0)
  • Oracle Identity Governance 12c (12.2.1.3.0)

次のいずれかのリリースの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)

ターゲット・システム

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

  • IBM DB2バージョン11.x

  • Microsoft SQL Server 2016、2017

  • MySQL 5.x

  • Oracle Database 12c Enterprise Editionリリース12.1.0.1.0

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

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

  • SAP HANA DBバージョン2.0 SP 01またはSP 04

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

  • IBM DB2バージョン11.x

  • Microsoft SQL Server 2016、2017

  • MySQL 5.x

  • Oracle Database 12c Enterprise Editionリリース12.1.0.1.0

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

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

  • SAP HANA DBバージョン2.0 SP 01またはSP 04

JDBCドライバ

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

IBM DB2の場合:

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

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

Microsoft SQL Serverの場合

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

MySQLの場合:

mysql-connector-java-5.1.12-bin

Oracle DatabaseまたはOracle RACの場合:

  • JDK 1.6の場合: ojdbc 6

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

IBM DB2の場合:

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

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

Microsoft SQL Serverの場合

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

MySQLの場合:

mysql-connector-java-5.1.12-bin

Oracle DatabaseまたはOracle RACの場合:

  • JDK 1.6の場合: ojdbc 6

ngdbc

SAP HANA DBの場合:

SAP HANAデータベースJDBCドライバjarをダウンロードします(たとえば、SAP HANAのSAP開発ツールからのngdbc-2.4.64.jar)

SAP HANA DBの場合:

SAP HANAデータベースJDBCドライバjarをダウンロードします(たとえば、SAP HANAのSAP開発ツールからのngdbc-2.4.64.jar)

コネクタ・サーバー

11.1.2.1.0以降

11.1.2.1.0以降

コネクタ・サーバーJDK

JDK 1.6以上

JDK 1.6以上

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.4 使用上の推奨事項

これらは、使用しているOracle Identity GovernanceまたはOracle Identity Managerのバージョンに応じてデプロイおよび使用できるDatabase Application Tablesコネクタのバージョンに関する推奨事項です。

  • Oracle Identity Governanceリリース12c (12.2.1.4.0)または12c (12.2.1.3.0)以降、SAP HANA DBバージョン2.0 SP 01、SP 02またはSP 03を使用している場合は、このコネクタの12.2.1.3.A (p30197332_122130_Generic.zip)バージョンを使用します。
  • Oracle Identity Governanceリリース12c (12.2.1.4.0)または12c (12.2.1.3.0)以降、SAP HANA DBバージョン2.0 SP 04使用している場合は、このコネクタの12.2.1.3.0バージョンを使用します。
  • Oracle Identity Governanceリリース12c (12.2.1.3.0)以降を使用している場合は、このコネクタの最新バージョン12.2.1.xを使用します。Identity Self Serviceの「管理」 タブの「アプリケーション」 オプションを使用してコネクタをデプロイします。
  • 表1-1の「CIベースのコネクタの要件」列に示されたOracle Identity Managerのいずれかのリリースを使用している場合、このコネクタの最新の11.1.xバージョンを使用します。
  • このコネクタの12.1.xバージョンを使用する場合、CIベースのモードでのみコネクタをインストールおよび使用できます。AOBアプリケーションを使用する場合、Oracle Identity Governanceリリース12c (12.2.1.3.0)以降にアップグレードする必要があります。

1.5 動作保証されている言語

コネクタは、Oracle Identity Managerによってサポートされる言語に対応しています。リソース・バンドル・エントリは、使用されるターゲット・システムに応じて変化するため、リソース・バンドルはコネクタ・インストール・メディアに含まれません。

1.6 サポートされるデータ型

リコンシリエーションおよびプロビジョニング操作でサポートされるデータ型を以下の項で示します。

ノート:

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

1.7 コネクタのアーキテクチャ

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

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

図1-1の説明が続きます
「図1-1 コネクタのアーキテクチャ」の説明

Database Application Tablesコネクタは、アイデンティティ・コネクタ・フレームワーク(ICF)を使用して実装されます。ICFは、すべてのOracle Identity Governanceコネクタに共通の基本的なリコンシリエーションおよびプロビジョニング操作を提供するコンポーネントです。さらに、ICFには接続プーリング、バッファリング、タイムアウト、フィルタリングなどの一般的な機能も用意されているため、開発者がこれらの機能を自分で実装する必要はありません。ICFはOracle Identity Governanceに同梱されています。

DBATコネクタは、次のモードのいずれかで実行されるように構成できます。

  • アイデンティティ・リコンシリエーション

    アイデンティティ・リコンシリエーション・モードでは、ターゲット・システムは信頼できるソースとして使用され、Oracle Identity Governanceの外部でユーザーが直接作成および変更されます。

    リコンシリエーション時に、スケジュール済ジョブによってターゲット・システムとの接続が確立され、リコンシリエーション基準がAPIに送信されます。APIはリコンシリエーション基準に一致するユーザー・レコードを抽出し、レコードをスケジュール済タスクに戻し、スケジュール済タスクがOracle Identity Governanceにレコードを渡します。次のステップはコネクタ構成のモードにより異なります。

    ターゲット・システムからフェッチされた各レコードが、既存のOIMユーザーと比較されます。一致が見つかった場合、ターゲット・システムのレコードに対して行われた変更内容がOIMユーザー属性にコピーされます。一致が見つからない場合、ターゲット・システム・レコードを使用してOIMユーザーが作成されます。

    ノート:

    信頼できるリコンシリエーションでは、子表エントリなどの複数値属性はサポートされません。

  • アカウント管理

    アカウント管理モードでは、ターゲット・システムはターゲット・リソースとして使用されます。コネクタはターゲット・リソースのリコンシリエーション操作またはプロビジョニング操作を可能にします。Oracle Identity Governanceで実行されるプロビジョニング操作を通じて、OIMユーザーのユーザー・アカウントがターゲット・システムで作成および更新されます。ターゲット・リソースからのリコンシリエーション時に、Database Application Tablesコネクタは、ターゲット・システムで作成または変更されたユーザー・アカウントに関するデータをOracle Identity Governanceにフェッチします。このデータは、OIMユーザーに割り当てられたリソースの追加または変更に使用されます。

    プロビジョニング操作時には、アダプタがプロセス・フォームを介して送信されたプロビジョニング・データをターゲット・システムに搬送します。ターゲット・システムでのAPIはアダプタからのプロビジョニング・データを受け入れ、ターゲット・システムで必要な操作を実行し、ターゲット・システムからのレスポンスをアダプタに返します。アダプタはOracle Identity Governanceにレスポンスを返します。

    リコンシリエーション時に、スケジュール済タスクは、ターゲットからデータを取得するコネクタ・バンドルを呼び出してから、それを処理してOIMに戻し、リコンシリエーション・ルールに基づいて関連付けます。

ノート:

  • 認可(信頼できる)ソースおよび管理対象(ターゲット)リソースの両方でターゲット・システムを構成しないことをお薦めします。

  • コネクタのデプロイメント構成の詳細は、『Oracle Fusion Middleware Oracle Identity Governanceの管理』コネクタのインストールに関する項を参照してください。

1.8 サポートされるコネクタの機能マトリックス

AOBアプリケーションとCIベース・コネクタでサポートされている機能のリストを示します。

表1-2 サポートされるコネクタの機能マトリックス

機能 AOBアプリケーション CIベース・コネクタ サポートされているターゲット・システム
完全リコンシリエーション はい はい すべて
増分リコンシリエーション はい はい すべて
制限付き(フィルタ)リコンシリエーション はい はい すべて
ターゲット・リソースのリコンシリエーションと信頼できるソースのリコンシリエーションの両方 はい はい すべて
削除されたユーザー・レコードのリコンシリエーション はい はい すべて
アカウント・データの変換および検証 はい はい すべて
リコンシリエーションおよびプロビジョニング用のユーザー定義フィールドの追加 はい はい すべて
ストアド・プロシージャに対するコネクタの構成 はい はい すべて

1.9 コネクタの機能

コネクタの機能は次のとおりです。

1.9.1 完全リコンシリエーションおよび増分リコンシリエーション

コネクタを作成したら、完全リコンシリエーションを実行して、ターゲット・システムに存在するすべてのユーザー・データをOracle Identity Governanceに移動できます。最初の完全リコンシリエーション実行後に、増分リコンシリエーション用にコネクタを構成できます。増分リコンシリエーションでは、前回のリコンシリエーションの実行後に追加または変更されたレコードのみがOracle Identity Governanceにフェッチされます。

完全リコンシリエーションおよび増分リコンシリエーションの詳細は、「完全リコンシリエーションおよび増分リコンシリエーションの実行」を参照してください。

1.9.2 制限付き(フィルタ)リコンシリエーション

リコンシリエーションの実行時にOracle Identity Governanceにフェッチされるレコードを制限またはフィルタするには、スケジュール済ジョブのFilter属性またはITリソースのcustomizedQueryパラメータに条件を追加します。

詳細は、「制限付きリコンシリエーションの実行」を参照してください。

1.9.3 ターゲット・リソースのリコンシリエーションおよび信頼できるソースのリコンシリエーション両方のサポート

コネクタを使用して、ターゲット・システムをOracle Identity Governanceの信頼できるソースまたはターゲット・リソースとして構成できます。

詳細は、リコンシリエーション・スケジュール済ジョブを参照してください。

1.9.4 削除されたユーザー・レコードのリコンシリエーションのサポート

ユーザー・レコードのリコンシリエーションのスケジュール済ジョブとは別に、削除されたユーザー・レコードのリコンシリエーションのスケジュール済ジョブがあります。ターゲット・リソース・モードで、レコードがターゲット・システムで削除された場合、対応するDatabase Application TablesリソースはOIMユーザーから取り消されます。信頼できるソース・モードでは、レコードがターゲット・システムで削除されると、対応するOIMユーザー・リソースが削除されます。

削除されたユーザー・レコードのリコンサイルに使用されるスケジュール済ジョブの詳細は、「削除されたユーザー・レコードのリコンシリエーションのスケジュール済ジョブ」を参照してください。

1.9.5 アカウント・データの変換および検証

リコンシリエーションおよびプロビジョニング時にOracle Identity Governanceとの間で移動または送信されるアカウント・データの検証を構成できます。さらに、リコンシリエーション時にOracle Identity Governanceに移動されるアカウント・データの変換も構成できます。詳細は、「データの変換および検証の構成」を参照してください。

1.9.6 リコンシリエーションとプロビジョニング用のユーザー定義フィールドの追加のサポート

デフォルト・マッピングのリストに含まれないOIMユーザー・フィールドに対してマッピングを作成できます。これらのフィールドは、ターゲット・システムで提供されたOIMユーザー・フィールドの標準セットの一部か、またはOracle Identity Governanceに追加するユーザー定義フィールドのいずれかです。

1.9.7 ストアド・プロシージャに対するコネクタ構成のサポート

コネクタを使用してリコンシリエーションおよびプロビジョニング操作を実行するときに、コネクタはデフォルトのSQL問合せおよびSQL文を実行します。コネクタはコネクタ操作を実行するカスタム・ストアド・プロシージャの呼出しをサポートします。これらのデフォルトのSQL問合せとSQL文のかわりに、Groovyスクリプト言語で記述されたカスタム・ストアド・プロシージャを実行するスクリプトを呼び出すようにコネクタを構成できます。

詳細は、「ストアド・プロシージャおよびGroovyスクリプト用のコネクタの構成」を参照してください。