1 Oracle Identity Managementアプリケーションの開発
11gリリース1 (11.1.1)リリースの時点で、Fusion Middlewareアプリケーション開発者へ推奨されるセキュリティAPIはOracle Platform Security for Javaです。詳細は、Fusion Middlewareセキュリティ・ガイドを参照してください。現在のドキュメントに記載されているOracle Identity Managementインタフェースは、Oracle Platform Security for Javaに含まれるものではありません。
次の各トピックでは、Oracle Identity Managementのアプリケーションを開発するためのインタフェースと、Oracle Identity Management環境で推奨されるアプリケーション開発のベスト・プラクティスについて説明します。
1.1 アプリケーション統合に使用可能なOracle Identity Managementサービスの概要
Oracle Internet Directory、Oracle Delegated Administration Services、Oracle Provisioning Integration Servicesなどのカスタム・アプリケーションでは、ドキュメントに記載され、サポートされている一連のサービスやAPIを通じてOracle Identity Managementを使用できます。
たとえば:
-
Oracle Internet Directoryでは、C、JavaおよびPL/SQLのLDAP APIを提供します。他のLDAP SDKと互換性があります。
-
Oracle Delegated Administration Servicesは、サード・パーティのアプリケーションをサポートするようにカスタマイズできるコア・セルフサービス・コンソールを提供します。また、ディレクトリ・データを操作するカスタマイズされた管理インタフェース構築用のいくつかのサービスも提供します。
-
Oracle Directory Integration Servicesでは、Oracle Internet Directoryをサード・パーティ・ディレクトリやその他のユーザー・リポジトリと同期化するためのカスタム・ソリューションの開発およびデプロイメントが容易になります。
-
Oracle Provisioning Integration Servicesでは、サード・パーティ・アプリケーションをプロビジョニングするメカニズムを提供します。また、Oracle環境をその他のプロビジョニング・システムと統合する手段にもなります。
-
Oracle Single Sign-Onは、他のOracle Webアプリケーションとシングル・サインオン・セッションを共有するパートナ・アプリケーションを開発およびデプロイするためのAPIを提供します。
-
JAZNは、Java Authentication and Authorization Service(JAAS)Support標準のOracle実装です。Oracle J2EE環境を使用してWeb向けに開発されたアプリケーションが、アイデンティティ管理インフラストラクチャを使用して認証と認可を行えるようにします。
1.2 Oracle Identity Managementとの既存のアプリケーションの統合の理解
企業は重要な業務機能を実行するために特定のアプリケーションをデプロイします。Oracle Identity Managementは、既存アプリケーションの変更のため、デプロイメントで活用できるサービスを提供します。
新規のアプリケーションでは、Fusion Middlewareセキュリティ・ガイドに記載されているOracle Platform Security for Javaを使用します。
Oracle Identity Managementは、既存アプリケーションの変更のため、デプロイメントで活用できる次のサービスを提供します。
Oracle Identity Managementで活用できるサービスは、次のとおりです。
-
ユーザーの自動プロビジョニング: デプロイメントにより、カスタム・プロビジョニング・エージェントを開発し、Oracle Identity Managementインフラストラクチャでのプロビジョニング・イベントに対応する、既存のアプリケーションでのユーザーのプロビジョニングを自動化できます。このエージェントは、Oracle Provisioning Integration Serviceのインタフェースを使用して開発する必要があります。
関連項目:
ユーザーの自動プロビジョニングの開発の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のディレクトリ・エントリの管理の概要に関する項 を参照してください。
-
ユーザー認証サービス: 既存のアプリケーションのユーザー・インタフェースがHTTPに基づいている場合は、Oracle HTTP Serverと統合し、
mod_osso
を使用してURLを保護することで、サービスを使用するすべての受信ユーザー・リクエストを認証できます。 -
ユーザー・プロファイルの一元管理: 既存のアプリケーションのユーザー・インタフェースがHTTPに基づいており、認証がOracle Single Sign-Onと統合されている場合、アプリケーションでOracle Delegated Administration Servicesのセルフ・サービス・コンソールを使用してユーザー・プロファイルを一元管理できます。セルフ・サービス・コンソールは、アプリケーションの特定の要件に対応できるようにデプロイメント内でカスタマイズできます。
1.3 Oracle Identity Managementのプログラミングの概要
Oracle Identity Management Software Developer's Kitでは、アプリケーションでキットを使用してディレクトリと統合する方法の概要が示されます。ディレクトリ製品スイートのその他のコンポーネントも示します。
次の各トピックでは、Oracle Identity Managementのプログラミングについて説明します。
1.3.1 Oracle Internet Directory SDKでサポートされているプログラミング言語について
Oracle Internet Directory SDKではプログラミング言語をサポートしています。
SDKは、C、C++およびPL/SQLを使用するアプリケーション開発者を対象としています。Java開発者がディレクトリとの統合を行う場合は、JNDIプロバイダを使用する必要があります。
1.3.2 Oracle Identity Management SDKコンポーネントについて
Oracle Identity Management Software Developer's Kitは、ディレクトリと統合するコンポーネントで構成されます。
-
LDAPバージョン3に準拠したC API
-
PL/SQL API(
DBMS_LDAP
というPL/SQLパッケージに同梱) -
『Oracle Identity Managementアプリケーション開発者ガイド』(このドキュメント)
-
コマンドライン・ツール
1.3.3 Oracle Identity Management環境でのアプリケーションの開発
Oracle Identity Managementアプリケーションは、複数のユーザーからの複数のリクエストを処理するバックエンド・プログラムです。アプリケーションを開発するには、ディレクトリにアプリケーションのアイデンティティを作成する必要があります。
1.3.3.1 Oracle Identity Managementアプリケーションのアーキテクチャ
1.3.3.2 アプリケーション・ライフサイクルでのOracle Identity Managementの相互作用
表1-1に、アプリケーションがライフサイクルで行う通常のディレクトリ操作を順に示します。
表1-1 アプリケーション・ライフサイクルでの相互作用
アプリケーションのライフサイクルでのポイント | ロジック |
---|---|
アプリケーションのインストール |
次を実行します。
|
アプリケーションの起動とブートストラップ |
アプリケーションは、自身をディレクトリに対して認証するための資格証明を取得する必要があります。 Oracle Internet Directoryに構成メタデータを格納しているアプリケーションは、そのメタデータを取得して、アプリケーションの他の部分を初期化できます。 次に、アプリケーションは、接続のプールを確立してユーザー・リクエストを処理できます。 |
アプリケーションの実行 |
LDAP操作が必要なすべてのエンド・ユーザー・リクエストについて、アプリケーションは次の処理を行うことができます。
|
アプリケーションの停止 |
未処理のLDAP操作を中止して、すべてのLDAP接続をクローズします。 |
アプリケーションの削除 |
アプリケーションのアイデンティティとそのアプリケーションのアイデンティティに指定されているLDAP認可を削除します。 |
1.3.3.3 アプリケーションをOracle Identity Managementと統合するためのサービスおよびAPI
アプリケーション開発者は、表1-2で説明するサービスおよびAPIを使用してOracle Identity Managementを統合することができます。
表1-2 Oracle Internet Directoryとの統合用のサービスとAPI
サービス/API | 説明 | 詳細 |
---|---|---|
C、PL/SQLおよびJavaでの標準的なLDAP API |
これらによって、基本的なLDAP操作が可能になります。Javaで使用する標準的なLDAP APIは、LDAPサービス・プロバイダで使用可能なJNDI APIです。 |
|
標準的なC、PL/SQLおよびJava APIに対するOracleの拡張機能 |
これらのAPIは、アイデンティティ管理関連の様々な概念をモデル化するプログラム・インタフェースを提供します。 |
|
Oracle Delegated Administration Service |
Oracle Delegated Administration Servicesは、セルフ・サービス・コンソールと管理インタフェースで構成されています。管理インタフェースは、サード・パーティ・アプリケーションをサポートするように変更できます。 |
10g (10.1.4.0.1)ライブラリ。 |
Oracle Directory Provisioning Integration Service |
Oracle Provisioning Integration Systemを使用して、サード・パーティ・アプリケーションのプロビジョニング、およびその他のプロビジョニング・システムの統合を行うことができます。 |
|
1.3.3.4 Oracle Internet Directoryとのアプリケーション統合用のAPIとサービスの使用例
図1-2に、表1-2のサービスの一部を利用するアプリケーションを示します。
図1-2に示すとおり、アプリケーションは次のようにOracle Internet Directoryと統合されます。
-
PL/SQL、CまたはJavaのAPIを使用して、ディレクトリに対してLDAP操作を直接実行します。
-
ユーザーをOracle Delegated Administration Servicesのセルフ・サービス機能に転送する場合もあります。
-
Oracle Internet Directory内のユーザーまたはグループのエントリに対する変更について通知を受けます。Oracle Directory Provisioning Integration Serviceでこの通知を行います。
1.3.3.5 既存のアプリケーションとOracle Identity Managementを統合するサービス
Oracleのアイデンティティ管理インフラストラクチャとの統合の対象となるアプリケーションが企業内にすでにデプロイされている場合があります。表1-3に示すサービスを使用して、これらのアプリケーションを統合できます。
表1-3 既存のアプリケーションを変更するためのサービス
サービス | 説明 | 詳細 |
---|---|---|
ユーザーの自動プロビジョニング |
Oracleのアイデンティティ管理インフラストラクチャでプロビジョニング・イベントが発生したときに、ユーザーのプロビジョニングを自動的に行うエージェントを開発できます。このエージェントの開発には、Oracle Directory Provisioning Integration Serviceのインタフェースを使用します。 |
|
ユーザー認証サービス |
ユーザー・インタフェースがHTTPに基づいている場合、ユーザー・インタフェースをOracle HTTP Serverと統合できます。これにより、mod_ossoとOracleAS Single Sign-Onを使用してアプリケーションのURLを保護できるようになります。 |
Oracle Application Server Single Sign-On管理者ガイド |
ユーザー・プロファイルの一元管理 |
ユーザー・インタフェースがHTTPに基づいていて、OracleAS Single Sign-Onと統合されている場合、Oracle Enterprise Single Sign-On管理コンソールを使用してユーザー・プロファイルを一元管理できます。コンソールは、アプリケーションの要件に応じてカスタマイズできます。 |
|