この章は、次の項が含まれます。
Oracle Identity Managerでは、アクセス権の管理、セキュリティおよびITリソースのプロビジョニングが自動化されています。Oracle Identity Managerコネクタは、Oracle Identity Managerとサード・パーティ製アプリケーションの統合に使用されます。このガイドでは、次のターゲット・システムでOracle Identity ManagerをDatabase User Management表と統合するためのコネクタをデプロイする手順について説明します。
Oracle Database
Oracle Databaseでは、ログインおよびユーザー・エンティティは単一エンティティとして扱われます。このドキュメントでは、そのようなエンティティをログイン・エンティティと呼びます。
Microsoft SQL Server
MySQL
DB2
Sybase
Microsoft SQL ServerおよびSybaseでは、アクセス・エンティティは次のタイプに分けられます。
ユーザー・ログイン: ログイン・エンティティは認証目的で使用されます。
ユーザー: ユーザー・エンティティは認可またはアクセス制御の目的で使用されます。
Microsoft SQL ServerおよびSybaseでは、これらのエンティティは親(ログイン)要素および子(ユーザー)要素として扱われます。Oracle Identity Managerでは、これらのエンティティは個別の独立したエンティティとして扱われます。つまり、Microsoft SQL ServerおよびSybaseの場合、コネクタにはユーザー・プロビジョニング機能とログイン・プロビジョニング機能の両方が備わっています。
ノート:
このガイドでは、Oracle、MSSQL、MySQL、DB2、Sybaseなどのデータベース・リソースをターゲット・システムと表記している箇所があります。
connector.htm#GUID-C2D995F1-879C-4568-A002-394B33262D5B__BABEJCJFに、コネクタの動作保証済コンポーネントを示します。
表1-1 動作保証されているコンポーネント
コンポーネント | 要件 |
---|---|
Oracle Identity Manager |
Oracle Identity Managerの次のリリースのいずれかを使用できます。
|
ターゲット・システム |
ターゲット・システムは次のいずれか。
|
コネクタ・サーバー |
11.1.2.1.0 |
コネクタ・サーバーのJDK |
JDK 1.6以上またはJRockit JDK 1.6以上。 |
ターゲット・システムのユーザー・アカウント |
Oracle Identity Managerでは、ターゲット・システムでリコンシリエーションおよびプロビジョニング操作を実行するために、ターゲット・システムに応じて次のいずれかのユーザー・アカウントが使用されます。
|
使用しているOracle Identity Managerバージョンに応じて、次のコネクタのいずれかをデプロイして使用する必要があります。
リリース9.1.0.2より後で、かつOracle Identity Manager 11g リリース1 (11.1.1.5.3)より前のOracle Identity Managerリリースを使用している場合、このコネクタの9.1.xバージョンを使用する必要があります。
Oracle Identity Manager 11g リリース1 (11.1.1.5.3)およびこのリリース・トラックの以降のBP、Oracle Identity Manager 11g リリース2 (11.1.2.0.4)およびこのリリース・トラックの以降のBP、またはOracle Identity Manager 11g リリース2 PS3 (11.1.2.3.0)およびこのリリース・トラックの以降のBPを使用している場合、このコネクタの最新の11.1.1.xバージョンを使用する必要があります。
ターゲット・システムとしてMicrosoft SQL Server 2000を使用している場合、使用しているOracle Identity Managerリリースに関係なく、このコネクタの9.1.xバージョンを使用する必要があります。
このコネクタでは次の言語がサポートされます。
アラビア語
中国語(簡体字)
中国語(繁体字)
チェコ語
デンマーク語
オランダ語
英語(イギリス)
英語(アメリカ合衆国)
フィンランド語
フランス語
ドイツ語
ギリシャ語
ヘブライ語
ハンガリー語
イタリア語
日本語
韓国語
ノルウェー語
ポーランド語
ポルトガル語
ポルトガル語(ブラジル)
ルーマニア語
ロシア語
スロバキア語
スペイン語
スウェーデン語
タイ語
トルコ語
ノート:
ただし、一部のフィールドではマルチバイト・キャラクタのエントリがサポートされません。
コネクタを使用すると、Oracle Identity Managerを介してデータベース・アカウントを管理できます。connector.htm#GUID-9DFE5B66-B8D9-4D3C-9A99-53254C1EB4A0__BABHIECGに、コネクタのアーキテクチャを示します。
Database User Management (DBUM)コネクタは、アイデンティティ・コネクタ・フレームワーク(ICF)を使用して実装されます。ICFは、すべてのOracle Identity Managerコネクタに共通の基本的なリコンシリエーションおよびプロビジョニング操作を提供するコンポーネントです。さらに、ICFには接続プーリング、バッファリング、タイムアウト、フィルタリングなどの一般的な機能も用意されているため、開発者がこれらの機能を自分で実装する必要はありません。ICFは、Oracle Identity Managerに付属しています。したがって、ICFを構成したり変更する必要はありません。
関連項目:
ICFの詳細は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズのIdentity Connector Frameworkの理解を参照してください
即時利用可能な(OOB)コネクタには、Oracle、MSSQL、MySQL、DB2、Sybaseなどの動作保証済ターゲットでの動作が保証されているスクリプトが提供されています。動作保証済のデータベース以外のデータベースに対してコネクタをカスタマイズする場合は、新しいデータベースに対するスクリプトを手動で追加する必要があります。
すべてのDBUM操作は、SQLスクリプトを実行するか、ストアド・プロシージャをコールすることによって実行します。これらのスクリプトおよびストアド・プロシージャは、コネクタ・バンドルの各種ファイル内に外部化されており、カスタマイズも可能です。構成参照パラメータを含むITリソースには、バンドル・キーが含まれます。このバンドル・キーは、バンドル名、バンドル・バージョンおよびコネクタ名で構成され、バンドルのロードに使用されます。
コネクタ・バンドルに格納されているスクリプトの3つのカテゴリを次に示します。
スクリプト | 説明 |
---|---|
Provisioning.queries |
このスクリプトは、作成、更新または削除の操作に使用されます。 |
LoVSearch.queries |
このスクリプトは、参照リコンシリエーションに使用されます。これには、プロファイル、権限、ロール、表領域などの特定のフィールドに使用可能な値セットが含まれています。 |
Search.queries |
このスクリプトは、完全リコンシリエーション、増分リコンシリエーションまたは削除リコンシリエーションに使用されます。また、このスクリプトを使用すると、様々な条件でアカウントおよびグループの検索を実行できます。 |
起動された問合せに応じて、ExecutionHandlerによって問合せが実行されます。ExecutionHandlerの拡張ハンドラとして、2種類のハンドラ(SQLExecutionHandlerおよびStoredProcExecutionHandler)があります。
問合せのタイプに対応するExecutionHandlerが起動されます。StoredProcExecutionHandlerは、MSSQLでの操作に使用されます。ユーザー検索での使用例を次に示します。
USER_DATA_QUERY {
Query="CALL sp_helpuser({__UID__})"
QueryType="StoredProc"
Parameters=["__UID__":"Type:String,Direction:IN",
"defaultDatabase":"Type:String,Direction:OUT,ColName:DefDBName",
"loginName":"Type:String,Direction:OUT,ColName:LoginName",
"roles~DBRole~__NAME__":"Type:String,Direction:OUT,ColName:RoleName"]
QueryExtensions=[]
}
SQL問合せは、データ操作言語(DML)問合せとデータ定義言語(DDL)問合せに分類されます。DDL問合せはCREATE、REVOKE、GRANT、ALTERなどに使用され、DML問合せはUPDATE、INSERTなどに使用されます。
DDL問合せは標準の文として実行されます。作成操作に使用されるDDL文の例を次に示します。
Statement stmt = null; try { stmt = _dbConnection.getConnection().createStatement(); stmt.execute(sqlScript); }
DML問合せは、プリコンパイルされた文として実行されます。更新操作に使用されるDML文の例を次に示します。
PreparedStatement st = null; try { st = conn.prepareStatement(sqlScript); setParams(st, Arrays.asList(params)); return st.executeUpdate(); }
コネクタ・バンドルに関する情報は、マニフェスト・ファイルに格納されます。このファイルには、コネクタ・バンドル・フレームワーク・バージョン、コネクタ・バンドル名およびコネクタ・バンドル・バージョンに関する情報を提供するコネクタ定義が含まれています。コネクタ定義の例を次に示します。
org.identityconnectors.dbum.1.0.1116.jar
この例の各要素の意味は次のとおりです:
org.identityconnectors: コネクタ・バンドル・フレームワークを示します。
dbum: コネクタ・バンドル名を示します。
1.0.1116.jar: コネクタ・バンドル・バージョンを示します。
コネクタ定義は、コネクタ・バンドルを識別するために必要です。複数のバージョンのターゲットをデプロイする場合は、コネクタ・バージョンを変更して再デプロイする必要があります。これを行うには、マニフェスト・ファイルに含まれるコネクタ・バンドル内のコネクタ・バージョンを変更します。
関連項目:
各データベースの参照定義の詳細は、次の各項を参照してください:
コネクタの機能は次のとおりです。
デフォルト属性マッピングのリストに含まれない単一値および複数値のターゲット・システム属性に対してマッピングを作成できます。これらの属性は、ターゲット・システムで提供されている標準属性セットの一部であっても、ユーザーがターゲット・システムに追加したカスタム属性であってもかまいません。
詳細については、次の各項を参照してください。
リコンシリエーションでは、必要なユーザー・アカウント・レコードをOracle Identity Managerにフェッチするために、ターゲット・システム・データベースでSQL問合せまたはストアド・プロシージャが実行されます。
コネクタで提供される事前定義済のSQL問合せおよびストアド・プロシージャを使用すると、ターゲット・システムからユーザー・データをリコンサイルできます。これらの事前定義済SQL問合せおよびストアド・プロシージャは、コネクタ・バンドル内のSearch.queriesファイルに格納されています。
これらのSQL問合せまたはストアド・プロシージャは変更できます。さらに、リコンシリエーションに使用する独自のSQL問合せまたはストアド・プロシージャを追加することもできます。
詳細については、次の各項を参照してください。
プロビジョニングでは、Oracle Identity Managerを介してターゲット・システムで「ユーザーの作成」操作や「ユーザーの更新」操作を実行するために、CREATE USER、ALTER USER、DROP USERなどのSQL問合せまたはストアド・プロシージャを実行します。
コネクタで提供される事前定義済問合せを使用すると、ターゲット・システム・アカウントの作成、有効化、更新などのプロビジョニング操作を実行できます。これらの事前定義済SQL問合せおよびストアド・プロシージャは、コネクタ・バンドル内のProvisioning.queriesファイルに格納されています。
いずれの事前定義済問合せも、変更および使用できます。さらに、独自のプロビジョニング問合せを作成することもできます。詳細については、次の各項を参照してください。
ローカル・データベース・ユーザーとは、データベースに格納されているパスワードを使用して認証可能なユーザーのことです。ローカル・データベース・ユーザーのサポートの他に、コネクタはOracle Databaseの次のユーザー・タイプに対しても使用できます。
グローバル・ユーザー: Oracle Internet Directoryなどのエンタープライズ・ディレクトリ・サービスによって認可する必要のあるデータベース・ユーザーです。
外部ユーザー: オペレーティング・システムやサード・パーティ・サービス(Kerberosなど)のような外部サービスによって認証する必要のあるデータベース・ユーザーです。
ローカル・ユーザー認証タイプ、グローバル・ユーザー認証タイプおよび外部ユーザー認証タイプの詳細は、次の各項を参照してください。
コネクタをデプロイしたら、完全リコンシリエーションを実行して、既存のユーザー・データをすべてターゲット・システムからOracle Identity Managerに移動できます。最初の完全リコンシリエーション実行後に、増分リコンシリエーション用にコネクタを構成できます。増分リコンシリエーションでは、前回のリコンシリエーションの実行後に追加または変更されたレコードのみがOracle Identity Managerにフェッチされます。
詳細については、次の各項を参照してください。
ICFフィルタによって制限付きリコンシリエーションが実行され、リコンシリエーション実行時にレコードがOracle Identity Managerにフェッチされます。ICFフィルタはWHERE句に変換され、検索問合せに適用されます。
詳細については、次の各項を参照してください。
リコンシリエーションの実行をバッチ単位に分割するには、各バッチに含める必要があるレコード数と、バッチ・リコンシリエーションを実行するために使用する必要がある問合せを指定します。
ノート:
Microsoft SQL Serverでは、ストアド・プロシージャを使用してリコンシリエーションが実行されます。このため、コネクタではバッチ・リコンシリエーションはサポートされていません。
詳細については、次の各項を参照してください。
すべてのリコンシリエーションおよびプロビジョニング操作から除外する必要のあるターゲット・システム・アカウントのリストを指定できます。除外リストで指定したユーザー属性を持つアカウントは、リコンシリエーションおよびプロビジョニング操作による影響を受けません。
詳細については、次の各項を参照してください。
接続プールは、ターゲットへの物理的な接続を表すオブジェクトのキャッシュです。Oracle Identity Managerコネクタは、これらの接続を使用してターゲット・システムと通信できます。実行時に、アプリケーションはプールに接続をリクエストします。接続が使用可能であれば、コネクタがその接続を使用してからプールに戻します。プールに戻された接続は、コネクタが別の操作のために再びリクエストして使用することができます。接続プールは、接続の再利用を可能にし、ネットワーク待機時間、メモリー割当ておよび認証といった接続作成のオーバーヘッドを減らすことに役立っています。
ITリソースごとに1つの接続プールが作成されます。たとえば、ターゲット・システムの3つのインストールに3つのITリソースがある場合は、ターゲット・システム・インストールごとに1つずつ、3つの接続プールが作成されます。
接続プールの構成プロパティは、参照構成に含まれています。接続プールの設定の詳細は、「接続プーリング用の参照定義の設定」を参照してください。
コネクタ・サーバーは、ICFによって提供されるコンポーネントです。コネクタ・アーキテクチャでは、1つ以上のコネクタ・サーバーを使用することで、アプリケーションと外部にデプロイされたバンドルとの通信が可能になります。つまり、コネクタ・サーバーを使用すると、Oracle Identity Managerコネクタのリモート実行が可能になります。
アプリケーションと同じVMでJavaコネクタ・バンドルを実行しない場合は、Javaコネクタ・サーバーを使用すると便利です。パフォーマンス向上のためにJavaコネクタを別のホストで実行すると、効果を発揮できます。
詳細は、「コネクタ・サーバーのインストールおよび構成」を参照してください。
このコネクタをターゲット・システムの複数のインストールに対して構成するには、参照定義、リソース・オブジェクト、プロセス・フォームなどのコネクタ・オブジェクトのコピーを作成します。
詳細については、次の各項を参照してください。
リコンシリエーションおよびプロビジョニング時に、Oracle Identity Managerに送信された、またはOracle Identity Managerから送信されたアカウント・データの検証を構成できます。また、リコンシリエーション時にOracle Identity Managerに送信されたアカウント・データの変換も構成できます。詳細は、次の項を参照してください。
Oracle Databaseの場合:
MSSQLの場合:
MySQLの場合:
DB2の場合:
Sybaseの場合:
信頼できるソースまたはターゲット・リソースとして構成されているターゲット・システムで削除されたログイン・エンティティに関するデータをリコンサイルできます。
レコードがOracle Identity Managerにフェッチされた後、ターゲット・システムをターゲット・リソースとして構成したか信頼できるソースとして構成したかに応じて、レコードは、既存のOIMユーザーと比較されるか、既存のOIMユーザーにプロビジョニングされたデータベース・リソースと比較されます。一致しないアカウントは、Oracle Identity Managerで失効するか、削除されます。
信頼できるソースまたはターゲット・リソースとして構成されているターゲット・システムのユーザー・エンティティ、ログイン・エンティティまたは削除済ログイン・エンティティに関するデータをリコンサイルできます。使用しているターゲット・システム、ターゲット・システムが構成されているモード、およびリコンサイルするデータのタイプに応じて、個別のスケジュール済ジョブが作成されています。
詳細については、次の各項を参照してください。
Oracle Identity Managerとターゲット・システムの間の通信を保護するためにSSLを構成できます。詳細については、次の各項を参照してください。
Oracle Database Vaultは、管理アクセス権を持つユーザーを含め、あらゆるユーザーからのOracle Databaseの特定領域へのアクセスを制限します。たとえば、従業員の給与、顧客の医療記録、またはその他の機密情報に対する管理アクセス権を制限できます。これにより、様々な方法で機密情報へのファイングレインアクセス制御を適用できます。これにより、Oracle Databaseインスタンスのセキュリティが強化され、管理アクセス権を持つユーザーからの職務分離に関して業界標準の対応が可能です。最も重要なのは、管理権限ユーザーからデータを保護しながら、管理権限ユーザーによるOracle Databaseの管理が可能だということです。
Oracle Database Vaultでは、内部関係者の脅威からの保護、規制コンプライアンス要件への準拠、職務の分離の実施などのビジネス要件に対応できます。
Oracle Database Vaultは、個々のOracle Databaseインスタンスのセキュリティを管理するために構成します。Oracle Database Vaultは、Oracle Databaseのスタンドアロン・インストール、複数のOracleホーム、およびOracle Real Application Clusters(Oracle RAC)環境にインストールできます。
Oracle Database VaultがインストールされているOracle Databaseインストールでは、コネクタを使用して、Oracle Database Vaultレルムに対する認可を付与および管理できます。コネクタでは、Oracle Database Vaultレルムへのアクセスは権限として扱われます。コネクタを使用して、複数のレルムへのアクセス権を異なるアクセス・レベルでデータベース・ユーザーにプロビジョニングできます。
Oracle Identity Managerはユーザー・アカウントの管理および権限へのアクセスの管理を行うエンタープライズ・アプリケーションであるため、コネクタでは次の要素の管理はサポートされていません。
レルム
コマンド・ルールおよびルール・セット
ファクタ
セキュア・アプリケーション・ロール
詳細は、「Oracle Database Vaultでの管理者アカウントの作成」を参照してください。
Oracle Enterprise User Securityでは、LDAP準拠のディレクトリ・サービスである、Oracle Internet Directoryで提供されるアイデンティティ管理サービスを使用して、ユーザー、管理およびセキュリティに関する問題に対処します。LDAP準拠ディレクトリ内にユーザーを作成するには、Oracle Identity Manager LDAPコネクタまたはその他の手段を使用する必要があります。エンタープライズ・ユーザーは、データベース・アクセスについて、Oracle Internet DirectoryなどのLDAP準拠のディレクトリで一元的にプロビジョニングおよび管理されます。エンタープライズ・ユーザーは、ディレクトリ内に識別名(DN)と呼ばれる一意の識別子を持っています。エンタープライズ・ユーザーがデータベースにログオンすると、データベースはDNを使用してこれらのユーザーを認証します。
Oracle Enterprise User Securityが構成されているOracle Databaseインストールの場合、コネクタでは、ターゲット・システム・アカウント(ログインまたはユーザー)に対して、パスワードで認証されるユーザー、グローバルに認証されるユーザー、および外部で認証されるユーザーの作成がサポートされています。認証タイプに応じて、プロセス・フォームで変更を行う必要があります。認証タイプがパスワードまたは外部の場合は、プロセス・フォームから他の認証フィールドを削除する必要があります。認証タイプがグローバルの場合は、プロセス・フォームで次の変更を行う必要があります。
パスワード・フィールドはグローバル認証には必要ないため、削除してください。
認証タイプをデフォルトから「グローバル」に設定して、読取り専用にします。これにより、ユーザーは他の認証タイプを選択できなくなります。
「グローバルDN」で、一意のIDを指定します。
コネクタを使用して、ターゲット・データベースでこれらのエンタープライズ・ユーザーのアカウントを作成して管理できます。
次に、このマニュアルの次の章以降の構成を示します。
「コネクタのデプロイ」では、コネクタのデプロイの各ステージにおいて、Oracle Identity Managerおよびターゲット・システムで実行する必要のある手順を説明します。
「Oracle Databaseでのコネクタの使用および拡張」では、Oracleデータベースでのコネクタの使用に関するガイドラインと、リコンシリエーション実行の構成手順およびプロビジョニング操作の実行手順について説明します。
「MSSQLでのコネクタの使用および拡張」では、MSSQLデータベースでのコネクタの使用に関するガイドラインと、リコンシリエーション実行の構成手順およびプロビジョニング操作の実行手順について説明します。
「MySQLでのコネクタの使用および拡張」では、MySQLデータベースでのコネクタの使用に関するガイドラインと、リコンシリエーション実行の構成手順およびプロビジョニング操作の実行手順について説明します。
「DB2でのコネクタの使用および拡張」では、DB2データベースでのコネクタの使用に関するガイドラインと、リコンシリエーション実行の構成手順およびプロビジョニング操作の実行手順について説明します。
「Sybaseでのコネクタの使用および拡張」では、Sybaseデータベースでのコネクタの使用に関するガイドラインと、リコンシリエーション実行の構成手順およびプロビジョニング操作の実行手順について説明します。
「JDBCベースのデータベースに対するコネクタの構成」では、JDBCベースのデータベースに対するコネクタの作成手順について説明します。
「コネクタのテスト」では、コネクタをテストする手順について説明します。
「既知の問題と回避策」では、このリリースのコネクタに関連する既知の問題を示します。