プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド
11g リリース1 (11.1.1)
B56242-07
  目次へ移動
目次

前
 
次
 

1 Oracle Identity Managementアプリケーションの開発

この章では、Oracle Identity Managementのアプリケーションを開発するためのインタフェースと、Oracle Identity Management環境で推奨されるアプリケーション開発のベスト・プラクティスについて説明します。

11gリリース1(11.1.1)リリースの時点で、Fusion Middlewareアプリケーション開発者へ推奨されるセキュリティAPIはOracle Platform Security for Javaです。詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』を参照してください。現在のドキュメントに記載されているOracle Identity Managementインタフェースは、Oracle Platform Security for Javaに含まれるものではありません。

Oracle Identity Managementは、すべてのOracleアプリケーションに共有インフラストラクチャを提供します。また、サード・パーティのエンタープライズ・アプリケーションの開発を容易にするサービスやインタフェースも提供します。このインタフェースは、アプリケーションにアイデンティティ管理を組み込む必要のあるアプリケーション開発者にとって有益です。

この章の内容は次のとおりです。

1.1 アプリケーション統合に使用可能なOracle Identity Managementサービス

カスタム・アプリケーションでは、ドキュメントに記載され、サポートされている一連のサービスや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向けに開発されたアプリケーションが、アイデンティティ管理インフラストラクチャを使用して認証と認可を行えるようにします。


注意:

Oracle Fusion Middleware 11gリリース1(11.1.1)には、Oracle Single Sign-OnもOracle Delegated Administration Servicesも含まれていません。ただし、Oracle Internet Directory 11gリリース1(11.1.1)は、Oracle Single Sign-OnおよびOracle Delegated Administration Services 10g(10.1.4.3.0)以上と互換性があります。

1.2 既存のアプリケーションとOracle Identity Managementとの統合

新規のアプリケーションでは、Oracle Fusion Middlewareセキュリティ・ガイドに記載されているOracle Platform Security for Javaを使用します。

企業は重要な業務機能を実行するために特定のアプリケーションをすでにデプロイしている可能性があります。Oracle Identity Managementは、既存アプリケーションの変更のため、デプロイメントで活用できる次のサービスを提供します。

  • ユーザーの自動プロビジョニング: デプロイメントにより、カスタム・プロビジョニング・エージェントを開発し、Oracle Identity Managementインフラストラクチャでのプロビジョニング・イベントに対応する、既存のアプリケーションでのユーザーのプロビジョニングを自動化できます。このエージェントは、Oracle Provisioning Integration Serviceのインタフェースを使用して開発する必要があります。


    関連項目:

    ユーザーの自動プロビジョニングの開発の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

  • ユーザー認証サービス: 既存のアプリケーションのユーザー・インタフェースがHTTPに基づいている場合は、Oracle HTTP Serverと統合し、mod_ossoを使用してURLを保護することで、Oracle Single Sign-Onサービスを使用するすべての受信ユーザー・リクエストを認証できます。

  • ユーザー・プロファイルの一元管理: 既存のアプリケーションのユーザー・インタフェースがHTTPに基づいており、認証がOracle Single Sign-Onと統合されている場合、アプリケーションでOracle Delegated Administration Servicesのセルフ・サービス・コンソールを使用してユーザー・プロファイルを一元管理できます。セルフ・サービス・コンソールは、アプリケーションの特定の要件に対応できるようにデプロイメント内でカスタマイズできます。

1.3 Oracle Identity Managementのプログラミング: 概要

この項では、Oracle Identity Management Software Developer's Kitについて説明します。アプリケーションでキットを使用してディレクトリと統合する方法の概要を示します。ディレクトリ製品スイートのその他のコンポーネントも示します。

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

1.3.1 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 11gリリース1(11.1.1)は、次のもので構成されます。

  • LDAPバージョン3に準拠したC API

  • PL/SQL API(DBMS_LDAPというPL/SQLパッケージに同梱)

  • 『Oracle Identity Managementアプリケーション開発者ガイド』(このドキュメント)

  • コマンドライン・ツール

1.3.3 Oracle Identity Management環境でのアプリケーション開発

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

1.3.3.1 Oracle Identity Managementアプリケーションのアーキテクチャ

ほとんどのOracle Identity Managementアプリケーションは、複数のユーザーからの複数のリクエストを同時に処理するバックエンド・プログラムです。図1-1に、これらのアプリケーションによるディレクトリの使用方法を示します。

図1-1 ディレクトリ対応のアプリケーション

図1-1の説明が続きます
「図1-1 ディレクトリ対応のアプリケーション」の説明

図1-1に示すように、ユーザー・リクエストがLDAP対応の操作を必要とする場合、アプリケーションはあらかじめ確立されたディレクトリ接続の一部を使用してリクエストを処理します。

1.3.3.2 アプリケーション・ライフサイクルでのOracle Identity Managementの相互作用

表1-1に、アプリケーションがライフサイクルで行う通常のディレクトリ操作を順に示します。

表1-1 アプリケーション・ライフサイクルでの相互作用

アプリケーションのライフサイクルでのポイント ロジック

アプリケーションのインストール

  1. ディレクトリにアプリケーションのアイデンティティを作成します。アプリケーションはこのアイデンティティを使用して、ほとんどのLDAP操作を実行します。

  2. LDAP認可を指定するために、アプリケーションのアイデンティティを正しいLDAPグループに含めます。この認可により、アプリケーションはユーザー資格証明を受け入れて、ディレクトリに対して認証することができます。また、ディレクトリは、そのユーザーにかわってLDAP操作を実行する必要があるときに、アプリケーション認可を使用してユーザーの代理を務めることができます。

アプリケーションの起動とブートストラップ

アプリケーションは、自身をディレクトリに対して認証するための資格証明を取得する必要があります。

Oracle Internet Directoryに構成メタデータを格納しているアプリケーションは、そのメタデータを取得して、アプリケーションの他の部分を初期化できます。

次に、アプリケーションは、接続のプールを確立してユーザー・リクエストを処理できます。

アプリケーションの実行

LDAP操作が必要なすべてのエンド・ユーザー・リクエストについて、アプリケーションは次の処理を行うことができます。

  • LDAP接続のプールから接続を選択します。

  • エンド・ユーザーの有効な権利を使用してLDAP操作を実行する必要がある場合は、ユーザーをエンド・ユーザー・アイデンティティに切り替えます。

  • この章で説明する標準APIまたはAPI拡張機能を使用して、LDAP操作を実行します。

  • LDAP操作の完了時、有効なユーザーがアプリケーションのアイデンティティになっていることを確認します。

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

第2章「標準的なLDAP APIを使用したアプリケーションの開発」


標準的なC、PL/SQLおよびJava APIに対するOracleの拡張機能

これらのAPIは、アイデンティティ管理関連の様々な概念をモデル化するプログラム・インタフェースを提供します。

第4章「標準的なAPIに対するOracleの拡張機能を使用したアプリケーションの開発」


Oracle Delegated Administration Service


Oracle Delegated Administration Servicesは、セルフ・サービス・コンソールと管理インタフェースで構成されています。管理インタフェースは、サード・パーティ・アプリケーションをサポートするように変更できます。

10g (10.1.4.0.1)ライブラリ。

Oracle Directory Provisioning Integration Service


Oracle Provisioning Integration Systemを使用して、サード・パーティ・アプリケーションのプロビジョニング、およびその他のプロビジョニング・システムの統合を行うことができます。


図1-2に、表1-2のサービスの一部を利用するアプリケーションを示します。

図1-2 APIとサービスを利用するアプリケーション

この図は本文で説明されています。

図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.4 既存のアプリケーションとOracle Identity Managementとの統合

Oracleのアイデンティティ管理インフラストラクチャとの統合の対象となるアプリケーションが企業内にすでにデプロイされている場合があります。表1-3に示すサービスを使用して、これらのアプリケーションを統合できます。

表1-3 既存のアプリケーションを変更するためのサービス

サービス 説明 詳細

ユーザーの自動プロビジョニング

Oracleのアイデンティティ管理インフラストラクチャでプロビジョニング・イベントが発生したときに、ユーザーのプロビジョニングを自動的に行うエージェントを開発できます。このエージェントの開発には、Oracle Directory Provisioning Integration Serviceのインタフェースを使用します。

第7章「プロビジョニング統合アプリケーションの開発」


ユーザー認証サービス

ユーザー・インタフェースがHTTPに基づいている場合、ユーザー・インタフェースをOracle HTTP Serverと統合できます。これにより、mod_ossoとOracleAS Single Sign-Onを使用してアプリケーションのURLを保護できるようになります。

『Oracle Application Server Single Sign-On管理者ガイド』

ユーザー・プロファイルの一元管理

ユーザー・インタフェースがHTTPに基づいていて、OracleAS Single Sign-Onと統合されている場合、Oracle Internet Directoryセルフ・サービス・コンソールを使用してユーザー・プロファイルを一元管理できます。コンソールは、アプリケーションの要件に応じてカスタマイズできます。

  • 10g (10.1.4.0.1)ライブラリ。

  • 『Oracle Identity Management委任管理ガイド』の委任管理サービス・フレームワークに関する章。