ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11gリリース2 (11.1.2.2) for All Platforms
B69533-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

23 レガシーOpenSSOエージェントの登録および管理

既存のOracleデプロイメントにOpenSSOがエンタープライズ・ソリューションとしてすでにデプロイされている場合、Oracle Fusion Middlewareは、これをソリューションとして引き続きサポートします。また、Access Managerで使用するために、既存のOpenSSOエージェントを登録することもできます。

この章では、Access Manager 11.1.2で使用するためにレガシーOpenSSOエージェントを登録または管理する方法について説明します。この章の内容は、次のとおりです。

23.1 OpenSSO、エージェント、移行および共存の概要

OpenSSOは、Sun Access Management、Federation Management、Web Services Security製品のオープン・ソース・バージョンです。各OpenSSOエージェントは、アプリケーションをホストするコンテナ(Oracle WebLogic Server、JBoss、Apacheなど)にプラグインされるフィルタです。

OpenSSOエージェントは、Webゲート、アクセス・クライアントまたはOSSOエージェントと共存できます。Oracleは、既存のOpenSSOエージェント、プロファイルおよびポリシーをAccess Managerに移行するために使用できるOpenSSO評価ツールおよびOpenSSO移行ツールを提供しています。


関連項目:

OpenSSOエージェント、プロファイルおよびポリシーを評価し、Access Managerに移行するためのOracle提供のツールおよびプロセスの詳細は、Oracle Fusion Middleware Oracle Identity and Access Managementアップグレード・ガイドを参照してください。

各OpenSSOエージェントは、アプリケーションに対するリクエストを捕捉することで、これらのアプリケーションへのアクセスを制限します。プロビジョニング後、OpenSSOエージェントはOpenSSOサーバーのかわりにOAMサーバーを使用するようになります。


注意:

OpenSSOエージェントを、OpenSSOサーバーではなく、OAMサーバーで使用するには、Access Managerに登録する必要があります。

プロビジョニング後、OpenSSOエージェントはOpenSSOサーバーのかわりにOAMサーバーを使用するようになります。アプリケーションへの制限付きアクセスは、それらのアプリケーションへのリクエストを捕捉することで実現します。OAMサーバーは、エージェントとOAMサーバー間の通信を可能にするOpenSSOプロキシを提供し、エージェント保護のアプリケーションに対するSSOを円滑化します。

OAMサーバーは、エージェントとOAMサーバー間の通信を可能にするOpenSSOプロキシを提供し、エージェント保護のアプリケーションに対するSSOを円滑化します。登録済のOpenSSOエージェントを使用すると、Access Managerは、表23-1に示した機能(認証機能および認可機能のサブセット)を提供します。

表23-1 機能: Access Managerを使用するOpenSSOエージェント

エージェント認証

ユーザー認証

ユーザー・シングル・サインオン

ユーザー・シングル・ログアウト

エージェントが混在する場合のSSO (OpenSSOエージェントとWebGateエージェント)

ユーザー認可

自己およびサブツリー・モードの検索

ポリシー条件(アイデンティティ、LDAPフィルタ、セッション属性、IP範囲、一時的)

ユーザー・プロファイル属性の取得

RESTリクエストまたはレスポンスによる一元化されたエージェント構成

エージェント・プロファイル、ポリシー、ユーザー・ストア、認証ストアの移行

移行評価ツール


詳細な情報は、次を参照してください:

23.1.1 OpenSSOとAccess Managerの間の移行と共存について

Access Managerは、OpenSSOからAccess Managerへのアップグレード・ツールを使用して移行した、既存のOpenSSOサーバー・デプロイメントとの共存をサポートしています。

OpenSSOからAccess Managerへのアップグレードでは、次のトピックに示す要件を満たすOpenSSO検出エージェントとポリシー・マッピング・ロジックが使用されます。

Access ManagerおよびOpenSSOのシステム要件とサポートされたプラットフォームについては、次のサイトにあるOracle IdentityとAccess Managementのマトリックスを参照してください。

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

関連項目:

Oracle Fusion Middleware Oracle Identity and Access Managementアップグレード・ガイド

OpenSSOポリシー移行

OpenSSOポリシーは、OpenSSOデプロイメントで使用可能なアーティファクトに基づいて、Access Managerの認証および認可ポリシーにマップされます。表23-2は、ポリシー移行時にOpenSSOとAccess Managerとの間で実行されるマッピングの概要を示しています。

表23-2 OpenSSOポリシー移行

番号 OpenSSO Access Manager

1

ポリシー・レルム

ポリシー・ドメイン

2

ポリシー

認証および認可ポリシー

3

リソース

リソースとホスト識別子

4

アクション

指定なし(デフォルトでは「GET」のみ)

5

サブジェクト

認可ポリシーのアイデンティティ条件

6

条件

認証スキームと認可条件

7

レスポンス・プロバイダ

ポリシー・レスポンス


OpenSSO移行時のアプリケーション・ドメインの作成

既存のAccess Managerアプリケーション・ドメインおよびポリシーがOpenSSOポリシー・ドメインと一致しない場合、Access Managerに新しいアプリケーション・ドメインが作成されます。作成されたアプリケーション・ドメインはOpenSSOレルムに対応します。各レルム(OpenSSOの最上位レルムとサブレベル・レルム)について、アプリケーション・ドメインがAccess Managerに作成されます。

既存のすべてのアプリケーション・ドメインがOpenSSOポリシー・ドメインと比較されます。既存のすべてのポリシーに対してポリシー名がチェックされます。同じ名前のポリシーが存在する場合、エラーが発生します。それ以外の場合は、Access Managerに新しいポリシーが作成されます。


注意:

OpenSSOポリシーの参照ポリシーは移行されません。

OpenSSO認証ポリシー移行

有効なルールと条件を含むOpenSSOポリシーは、Access Manager認証ポリシーに移行されます。これは、新規ポリシーが作成されるか既存のポリシーが更新されるかのどちらかです。ポリシーの作成時には、OpenSSOポリシー・ルールのhost:port情報を使用して、ホスト識別子とアプリケーション・ドメインへの正確なリソースURL (またはURI)が作成されます。


注意:

ルールのないアーティファクトを含むOpenSSOポリシーは有効なポリシーではありません。

条件付きのポリシーは、OpenSSOに対して有効です。ただし、これらはAccess Managerのデフォルトの認証ポリシーに基づいて移行されます。IPまたは一時条件のあるポリシーは、Access Manager認可ポリシー条件に移行することができます。

OpenSSOポリシーが非参照ポリシーの場合、作成されるAccess Manager認証ポリシーには、対応するOpenSSOからの認証モジュール、ホスト識別子、OpenSSOポリシーからのリソースによる認証スキームが含まれます。Access Manager認可ポリシーでは、対応するOpenSSOの制約とサブジェクトが設定されます。

制限: (同じアプリケーション・ドメインまたはレルム内のいずれかのポリシーに)リソースがすでに存在している場合、認証ポリシーの作成には例外が発生します。リソースが別のポリシーによってすでに保護されている(ホスト識別子の下にすでに存在している)場合、同じリソースに対して新しいポリシーを作成すると、例外が発生します。この新しいポリシーは作成されません。エラーはログ・ファイルに記録され、Oracle Access Managementコンソールにも表示されます。

Access Managerでのホスト識別子の作成

Access Manager内では、OpenSSOによる一意のhost:portの組合せ1つに対して1つのホスト識別子が作成されます。各レルムの各ポリシー・ルールからすべてのhost:portを取得する必要があります。これにより、一意のhost:portの組合せと同じ数だけhostIdentifierが作成されます。

最上位レルム: デフォルトでは、OpenSSOには最上位レルム(/)は1つしかありません。その他のレルムはすべて、この最上位レルムの下に作成できます。理論的には、Access Managerでホスト識別子を作成するhost:portの組合せはすべて最上位レルムに含まれることになります。

サブ・レルム: サブ・レルム内のポリシー・ルールにあるhost:portの組合せは、最上位レルムの下に作成される参照ポリシー内のhost:portに依存します。参照ポリシー内のhost:portは、最上位レルムの他の非参照ポリシー内のhost:portによるものとはかぎりません(さらに、参照ポリシーは移行に適していません)。したがって、サブ・レルムのポリシーにあるhost:portは、移行に適している最上位レルムのポリシーにあるhost:portとは異なる場合があるため、各レルムのポリシーのhost:portが確認されます。

制限: OpenSSOでは、同じリソースを保護するためにルールは同じであるものの認証スキームが異なる2つ(以上)のポリシーが存在する場合、1つだけ(最初に出現したもの)をAccess Managerに移行できます。それ以外は無視され、Access Managerには作成されません。ただし、このようなことが発生するのは非常に稀です。

23.1.2 OpenSSOエージェントのAccess Managerへの依存について

Access Managerは、表23-3に示すOpenSSOエージェントと処理をサポートしています。

表23-3 OpenSSOのAccess Managerへの依存

コンポーネント 説明

OpenSSOエージェント

自己認証によって信頼性を確立するには、OpenSSOエージェントがAccess Managerに登録されていなければなりません。OAMサーバーは次の処理を行います。

  • 提供された資格証明によってエージェントを認証します。

  • エージェントのセッションを作成します。

  • この情報をキャッシュに保存して、グループ/クラスタ内の任意のサーバーがエージェントからの次のリクエストを処理できるようにします。

  • セッション識別子をエージェントに渡し、その後の相互作用中にこれをOAMサーバーに提示できるようにします。

このエージェント・セッションには有効期限がないので、エージェントはOAMサーバーとの信頼性を継続して維持することができます。

エージェント登録は有効または無効にすることができます。無効にすると、エージェントは応答しなくなります。

複数のOpenSSOエージェントが一元化された同じ構成を共有できます(必要時、集中型構成モードで登録されている場合)。その場合でも、各エージェントには独自の一意のセッションおよびセッションIDがあります。エージェント登録では、登録ごとの「許容されるエージェント・セッションの最大数」を構成できます。

エージェントのセッションが期限切れになるかどうかを定義する、セッション・タイムアウト・プロパティが存在する場合もあります。

関連項目:

「コンソールを使用したOpenSSOエージェントの登録および管理」

「Access Manager資格証明コレクションおよびログインの概要」

OpenSSOプロキシ

このOracle提供のプロキシは、Access Manager 11.1.2にバンドルされ、ともにインストールされます。OpenSSOプロキシは、OpenSSOエージェントとOAMサーバーとの間の通信を可能にします。OpenSSOプロキシは、認証、認可、SSOに関するすべてのOpenSSOエージェントのリクエストとレスポンスを処理します。OpenSSOプロキシは、プロトコル・バインディングとメッセージ(リクエストまたはレスポンス)変換機能を提供します。

関連項目: 「OpenSSOエージェントとAccess Manager間の実行時の処理」

プロトコル・バインディング・レイヤー

このOracle提供のフレームワークは、エージェント固有のプロトコル処理と認証プロトコル・メッセージのマッピングを実行します。また、このフレームワークは、受信したプロトコル固有のリクエストをプロトコルに依存しないリクエストにアンマーシャリングしたり、プロトコルに依存しないレスポンスをプロトコル固有のレスポンスにマーシャリングします。

パートナおよびトラスト・ストア

OpenSSOエージェントの一元化された構成を格納します。Access Managerのパートナおよびトラスト・ストアは、エージェントIDとエージェント・パスワードに関するGET APIを提供することで、エージェント認証もサポートします。

OpenSSOアプリケーション・ドメイン

OpenSSOエージェントの登録時に「ポリシーの自動作成」オプションを使用することで、自動的に生成できます。

Cookie

エンド・ユーザーの持つ有効なCookieは次のとおりです。

  • OAM_ID cookie (エージェント認証後のエンド・セッションを表します)。次を参照してください。

  • OpenSSO Cookie (OpenSSOプロキシがセッションの検証をトリガーした後に、エージェントがこのCookieを検出します)。OpenSSO cookieのデフォルト名は次のとおりです。

    iPlanetDirectoryPro

保護されたリソースの認可ポリシー

認可ポリシーは次の条件を使用して設定します。

  • 「IP範囲」条件: 指定した範囲のIPアドレスのみにアクセスできるようにします。

  • 「一時的」条件: 指定した期間のみアクセスできるようにします。

  • 「アイデンティティ」条件: 構成済のアイデンティティ(ユーザーまたはグループ)のみが保護されたリソースにアクセスできるようにします。

  • 「LDAPフィルタ」条件: フィルタ条件を満たす場合のみアクセスできるようにします。

  • セッション属性条件: セッションのセッション属性が必要な値で構成されている場合のみ、アクセスできるようにします。

  • ネームスペースのリクエスト、ユーザー、セッションの属性条件: 属性が必要な値で構成されている場合のみアクセスできるようにします。

SSOコントローラ

機能コンポーネント(SSOエンジンや認証エンジンなど)を呼び出すことでプロトコル・リクエストを実行します。

SSOエンジン

オンライン・セッション時に、エンタープライズおよび同レベルのドメイン・サインオンとシングル・ログアウト(SLO)を提供します。

セッション・ライフサイクルを管理します。有効なセッション内のすべてのリライイング・パーティ間のログアウトを編成することで、グローバル・ログアウトを実行します。トークン処理エンジンと通信して、有効なエンジンを作成し、ユーザーを永続化します。

セッション管理エンジン

ユーザーおよび管理者が開始するタイムアウト・ベースのイベントのサポートによって、セッションおよびトークン・コンテキストの情報を管理します。SSOエンジンは、セッション管理エンジン機能を使用してセッションを管理します。

  • セッション作成

  • セッションの読取り

  • セッションの更新

  • セッションの削除

  • セッションの検証

  • セッションIDの取得

  • 作成時間の設定/取得

  • 有効期限時間の設定/取得

  • 最終アクセス時間の設定/取得

  • セッション状態の設定/取得

  • セッションのパージ

注意: Oracle Access Managementコンソールを使用してOpenSSOエージェント・セッションを表示または管理することはできません。必要に応じて、OpenSSOエンジン・コントローラ・レイヤーが適切なセッション管理インタフェースを呼び出します。セッション・マネージャはエージェント・セッション・キャッシュ・マネージャを内部的に呼び出し、エージェント・セッション用の分散キャッシュを管理します。

登録されたOpenSSOエージェントごとに一意のセッションが作成され、これがエージェントとOAMサーバー間の信頼メカニズムとなります。一意のセッションIDには、ユーザー・リクエストを処理する前にOAMサーバーによって検証する必要のあるエージェント・トークンとして、セッション検証やユーザー認可などに関するすべてのXML/HTTPリクエストが付随しています。

デフォルトでは、エージェント・セッションには有効期限がありません。エージェント・セッションはメモリー内のセッション・キャッシュに格納されます。OAMサーバーを再起動する場合、エージェント・セッションを保持する必要はありません。

エージェント・セッションはOAMサーバーに存在しており、一意のエージェント・セッションIDが使用可能な形式でエージェントに戻されます。エージェント・セッションは、「無効」(未認証)と「有効」(認証済)の2つの状態をサポートしています。OAMサーバーが正常に通信できるのは、「有効」なセッション状態のエージェントに対してのみです。

トークン処理エンジン

トークン発行および検証プロトコル・リクエストに応じて、トークン生成とトークン検証を実行します。デフォルト機能では、ユーザー名、SAML、およびX509トークンを管理(発行、検証、更新、キャンセル)します。デフォルトでサポートされているすぐ使用可能なセキュリティ・トークン・タイプの範囲を超えて、カスタム・トークンを処理できるように機能を拡張することもできます。

Oracle Access Managementコンソール


管理者はコンソールを使用して次の処理を行います。

  • OpenSSOエージェントのプロビジョニング/登録。

  • 保護されているリソースに対するアプリケーション・ドメイン、認証および認可ポリシーの管理。

リモート登録ユーティリティ

管理者はリモート登録ユーティリティを使用して、エージェントをプロビジョニングし、集中型モードでエージェントが使用する構成ファイルを生成することができます。エージェントは必要なすべての構成情報のコピーを持っているので、このためにOAMサーバーにアクセスすることはありません。

注意: OpenSSOエージェント・プロファイルをAccess Managerに移行する場合、ローカライズ・モードと集中モードの両方がサポートされます。

WLSTコマンド

管理者はWLSTコマンドを使用して次の処理を行うことができます。

  • OpenSSOエージェントのOAMサーバーへの移行。

関連項目: 「移行されるアーティファクト: OpenSSO」


23.2 OpenSSOエージェントとAccess Manager間の実行時の処理

OAMサーバーには、OpenSSOエージェントとの通信を処理するOpenSSOプロキシが組み込まれているため、OpenSSOサーバーとの相互運用性が簡単になります。たとえば、OpenSSOポリシー・エージェントとOAMサーバーとの間でのシングル・サインオン(SSO)とシングル・サインアウト(SLO)があげられます。相互運用性は、エンドユーザー認証でHTML/HTTP認証リクエストを(HTTPリダイレクトとして)参照し、エンドユーザー・セッションの検証でXML/HTTP SSOリクエストを参照することによって、実現されます。

図23-1は、OpenSSOとAccess Managerが含まれるデプロイメントを示しています。OpenSSOエージェントは、Web/Java EEコンテナおよび保護されているリソースとともに存在します。OpenSSOサーバーは、別のホストに存在します。

図23-1 OpenSSOとAccess Managerが含まれる一般的なデプロイメント

図23-1の説明が続きます
「図23-1 OpenSSOとAccess Managerが含まれる一般的なデプロイメント」の説明

表23-4は、Access ManagerとOpenSSOエージェント間のSSO処理についての説明です。

表23-4 Access ManagerによるOpenSSOの処理

機能 説明

OpenSSOエージェント認証

ユーザー認証の前に、OpenSSOエージェントが認証されて有効なエージェント・セッションが確立されます。

OpenSSOエージェントは、OAMサーバーに対してOpenSSOプロキシ経由で自身を認証します。

OpenSSOエージェント認証(エージェントがOpenSSOプロキシに対して自身を認証)は、エージェント・タイプに基づいて次のように行われます。


J2EEエージェント: エージェント・コンテナ起動時。
Webエージェント: Webサーバーに対する最初のユーザー認証リクエストによる。
  1. エンド・ユーザーは、OpenSSOエージェントにより保護されているアプリケーションまたはリソースにアクセスするリクエストを送信します。

  2. OpenSSOエージェントは、この非認証ユーザーを認証を受けるために次のようにOAMサーバーにリダイレクトします。


    J2EEエージェント: エージェント・コンテナ起動時。
    Webエージェント: Webサーバーに対する最初のユーザー認証リクエストによる。
  3. エージェントは、ネーミング・リクエストをプロキシに送信し、他のすべてのサービスURL (認証サービス、セッション・サービスなど)をフェッチします。

  4. エージェントは、xml認証リクエストを認証サービス・エンドポイントでの資格証明(手順3でネーミング・リクエストにより取得)とともにプロキシに送信します。

  5. プロキシは、エージェント認証モジュールに対してエージェントを認証し、プロキシ・レイヤー自体に無期限セッションを作成します。

  6. プロキシは、httpを介して、認証xmlレスポンスをエージェント・セッション詳細とともにエージェントに送信します。

エージェントが認証されると、有効なエージェント・セッションが作成されます。エージェント認証の後に生成されるキーは、パートナおよびトラスト・ストアに格納されます。



SSOユーザー・ログインおよび認証

エージェントがOAMサーバーにより認証された後、ユーザー・リクエストがOAMサーバーにより認証されます。SSOはその後、エージェントにより保護されているリソースにアクセスする認証済ユーザーに提供されます。

OpenSSOエージェントは、認証されてログインした後、ユーザーがOpenSSO Cookieを持っているかどうかを確認します。持っていない場合、OpenSSOエージェントがユーザー認証リクエストを開始します。

ユーザー・ログイン

  1. OpenSSOエージェントは、保護されたアプリケーションへのリクエストを捕捉します。OpenSSOエージェントは、ユーザーがOpenSSO Cookieを持っているかどうかをチェックします。持っていない場合、OpenSSOエージェントは、ユーザーを認証サービスを得るためにOpenSSOプロキシにリダイレクトします。OpenSSOプロキシは、リクエストされたリソースURLおよびエージェントIDを捕捉します。

  2. OpenSSOプロキシのOpenSSOログイン・イベントは、コア・ログイン・イベントで処理できるように、このリクエストをラップします。OpenSSOログイン・イベントは、リソースURLおよびエージェントIDをコア・ログイン・イベントに渡します。

  3. コア・ログイン・イベントが実行され、リクエスト・オブジェクトにOAM_ID Cookieが含まれるかどうかをチェックします。そうである場合、OAMサーバーは、OAM_ID Cookieで表されるセッションが有効なセッションかどうかをチェックします。

  4. OAM_ID Cookieで表されるセッションが有効な場合、コア・ログ・イベントからログイン・レスポンス・イベントが返されます。これはOpenSSOログイン・イベントでラップされ、OpenSSOログイン・レスポンス・ハンドラに渡されます。コア・ログイン・イベントは、検証されたセッションの識別子を返します。

  5. OpenSSOログイン・レスポンス・ハンドラ(OpenSSOプロキシに含まれます)は、OpenSSOエージェントが理解できる形式でOpenSSOセッション識別子を作成し、OAMセッション識別子を使用して拡張します。OpenSSO Cookieが作成され、ユーザーのブラウザに設定されます。このCookieにはOpenSSOセッション識別子が含まれます。

エンド・ユーザー・セッションの検証

OpenSSOエージェントは、保護されたアプリケーションへのリクエストを捕捉します。

エンド・ユーザー・セッションの検証

  1. OpenSSOエージェントは、保護されたアプリケーションへのリクエストを捕捉し、OpenSSO Cookieを検出します。

  2. OpenSSOエージェントは、このOpenSSO Cookieを検証するためのXML/HTTPリクエストを作成します。このXMLリクエストには、アプリケーション/エージェント・トークンIDおよびセッションIDが含まれます。このリクエストは、OpenSSOプロキシ・レイヤーに届きます。

  3. OpenSSOプロキシはリクエストに関連付けられたアプリケーション・トークンを取得し、アプリケーション・トークンをOAMサーバーを使用して検証します。

  4. OAMサーバーは、トークンを検証し、レスポンスをOpenSSOプロキシに送信します。

  5. アプリケーション・トークンが無効な場合、OpenSSOプロキシはそのことをOpenSSOエージェントに通知し、OpenSSOエージェントは有効なアプリケーション・トークンを取得するためにエージェント認証フローを開始します。

  6. アプリケーション・トークンが有効な場合、OpenSSOプロキシはOpenSSO Cookieを復号化して、OpenSSOセッションIDをフェッチし、OpenSSOセッションIDに拡張として格納されているOAMセッションIDを取得します。

  7. OpenSSOプロキシは、セッション検証フローをトリガーします。

  8. OAMセッションIDで表されるセッションが有効な場合、OpenSSOプロキシはそのことをエージェントに通知し、保護されているアプリケーションがユーザーに表示されます。このセッション検証では、セッション・データを、セッション検証イベント・レスポンスの出力としてプロキシ・レイヤーに返します。

  9. セッションが無効な場合、OAMサーバーが認証フローを開始し、ユーザー資格証明を収集してユーザーを検証します。

Webエージェント・タイプのユーザー・プロファイル属性の取得

ユーザーがログインに成功して、有効なセッションが作成されると、OpenSSOエージェントは、セッションIDを渡すことによって、ユーザー・プロファイル属性をリクエストできます。OpenSSOプロキシ・レイヤーは、このリクエストを受信し、OpenSSOセッションID拡張からOAMセッションIDをフェッチする必要があります。OpenSSO Webエージェントは、これらのリクエストにポリシー・サービスURLを使用します。

OpenSSOプロキシは、これらの属性をフェッチしてセッションIDをOAMサーバーに渡します(OAMサーバーはレスポンス・フレームワークを使用してユーザー・プロファイル属性をフェッチし、データをOpenSSOプロキシに返します)。

J2EEエージェント・タイプのユーザー・プロファイル属性の取得

OpenSSO J2EEエージェントは、jax-rpcコールを使用して、ユーザー・プロファイル属性を取得します。フローは、Webエージェント・タイプの場合のこれらのプロパティを取得するフローと同様です。

ユーザー・シングル・ログアウト

  1. OpenSSOプロキシは、ユーザー・ログアウト・リクエストを受信すると、ユーザーをOAMログアウトURLに転送します。

  2. OpenSSOプロキシはOpenSSO Cookieを復号化して、OpenSSOセッション識別子をフェッチし、そこからOAMセッションIDをフェッチします。OpenSSOプロキシは、ログアウト・リクエストをOAMセッションIDとともに、OpenSSOログアウト・イベントを介して、コントローラに送信します。

  3. コア・ログアウト・イベントが実行され、コントローラ・コールによりセッションが存在することをSSOエンジンに確認します。セッションが存在する場合、OAM_ID Cookieが削除され、グローバル・ログアウトが実行されます。

  4. SSOエンジンは、セッションが消去されたことを示すレスポンスをコントローラに返します。

  5. コントローラは、プロキシにトークン消去リクエストを送信します。

  6. プロキシは、トークン消去リクエストを、OpenSSOログアウト・レスポンス・ハンドラを介して、エージェントに送信します。

SSOエージェント・ログアウト

Access Managerは、OpenSSOエージェントから送信されたシングル・ログアウト・リクエストを処理します。

注意: ユーザーは、他のエージェント(たとえば、WebゲートやMOD_OSSO)によって保護されているリソースからログアウトする必要があります。マルチドメイン環境以外では、エージェント・ログアウトは必要ありません。

  1. OpenSSOエージェントは、OpenSSOプロキシにログアウトをリクエストします。

  2. プロキシは、リクエストからアプリケーション・トークンをフェッチし、リクエストが認証済エージェントから送信されていることを検証します。

  3. Openssoエージェント・ログアウトは、独立したエージェント・セッション管理モジュールでセッションが作成されるため、プロキシ内部で処理されます。

  4. 復号化されたトークンがOpenSSOプロキシに返されます。OpenSSOトークンが存在しない場合、手順2と3は行われません。

  5. OpenSSOプロキシのOpenSSOログイン・イベントは、コア・ログイン・イベントで処理できるように、このリクエストをラップします。

  6. コア・ログイン・イベントが実行され、リクエストをコントローラを介してSSOエンジンに転送し、ユーザーを認証します。認証されたユーザーのための新しいセッションが作成されます。

  7. コア・ログ・イベントからログイン・レスポンス・イベントが返されます。これはOpenSSOログイン・イベントでラップされ、OpenSSOログイン・レスポンス・ハンドラに渡されます。

  8. OpenSSOログイン・レスポンス・ハンドラは、レスポンスをOpenSSOエージェントに送信します。

OpenSSOエージェントのトークン生成

Access Managerは、OpenSSOエージェント用に生成され、OpenSSOエージェントによって使用されるトークンを処理します。

ロギング

OAMサーバー・ログ・コンポーネントを使用して、次のイベントに対するエンド・ユーザー・アクセス実施中のイベントを追跡できます。

  • ログイン成功およびログイン失敗イベント

  • ログアウト成功およびログアウト失敗イベント

  • 様々なロギング・レベル(FATAL、ERROR、WARNING、DEBUG、TRACE)のログ・メッセージ。降順でそれぞれが重大度を示しています。

監査

OAMサーバー監査コンポーネントを使用して、次を実行します。

  • ログイン・イベントの監査

  • ログアウト成功イベントの監査

ポーリング

ポーリングはサポートされていません。セッション破棄通知のみが、OpenSSOプロキシでサポートされています。


23.3 OpenSSOエージェント登録パラメータの理解

既存のOpenSSOエージェントをAccess Managerに移行する場合も、新しいOpenSSOエージェントを登録する場合も、Oracle Access Managementコンソールを使用すると、OpenSSOエージェントの管理と登録が一元化できます。

23.3.1 OpenSSOエージェント登録パラメータについて

図23-2に、「新規OpenSSOエージェント」ページを示します。管理者は新しいOpenSSOエージェントを登録する際に、このページで情報を入力します。

図23-2 「新規OpenSSOエージェント」ページ

図23-2については周囲のテキストで説明しています。

表23-5では、「新規OpenSSOエージェント」ページの要素について説明します。

表23-5 「新規OpenSSOエージェント」ページの要素

要素 説明

エージェント・タイプ

OpenSSOエージェント・タイプは次のどちらかです。

  • Web: WebリソースおよびWebリソースURLの場合に使用。

  • J2EE: デフォルトのエージェント・タイプ。Java EEのリソースおよびアプリケーションの場合は、J2EEタイプのエージェントを使用します。

    J2EEエージェントの場合は、次のどちらかを選択してフィルタ・モードを設定する必要があります。

    SSO_ONLY (Access Managerの認証のみ): フィルタ操作の最新の制限モードを有効にします。エージェントは単純に、保護されたWebリソースにアクセスしようとするすべてのユーザーが認証されるようにします。

    URL_Policy (Access Managerの認証および認可): エージェント・フィルタがURLポリシーを施行できるようにします。デフォルトでは、Webエージェントのcom.sun.identity.agents.config.sso.onlyattributeは「false」に設定されています。

: どちらのエージェント・タイプも、同時にSSOのみを選択した場合は、アクセスが保護されます。

エージェント名

このエージェントの一意の名前。

パスワード

パスワードの再入力 *

このOpenSSOエージェントの必須かつ一意のパスワードで、この登録プロセス中に割り当てられています。このエントリは不明瞭化された形式で、コンソール、oam-config.xml、OpenSSOAgentBootstrap.propertiesに表示されます。

登録されたエージェントがOAMサーバーに接続すると、ユーザーはパスワードの入力を求められます。パスワードにより、認証時に認可されていないエージェントが接続してポリシー情報を取得するのを防ぎます。

ホスト識別子

OpenSSOエージェントのホストおよびポートを識別する名前。

デフォルト: エージェント名

関連項目: 「仮想Webホスティングについて」

ベースURL

OpenSSOエージェントがインストールされているコンピュータのプロトコル、ホストおよびポート。

たとえば、http://host.example.domain.com:port or https://example.domain.com:portなどです。

ポリシーの自動作成

エージェントの登録中、自動的に作成された認証および認可ポリシーを使用できます。デフォルトで、このオプションが選択(有効化)されます。エージェント名は、デフォルトで、アプリケーション・ドメイン名として使用されます。

デフォルト: 有効

関連項目: 「生成されるアーティファクト: OpenSSO」

注意: Access Managerのアプリケーション・ドメインは、OpenSSOのレルムに対応します。アプリケーション・ドメインおよびポリシーがすでに存在する場合、単純に新しいリソースをそれに追加できます。このオプションを解除(チェックなし)すると、アプリケーション・ドメインやポリシーは自動的に生成されません。


OpenSSOエージェントのプロパティ

OpenSSOエージェントのプロパティは、次のファイルに格納されます。これらのファイルは、エージェントの登録時と構成の変更時に更新され、実行時に使用されます。

  • OpenSSOAgentBootstrap.properties

  • OpenSSOAgentConfiguration.properties

これらのファイルは、コンソール・ホスト(AdminServer)に格納されているため、表23-6に示すように、OpenSSOエージェントの/configディレクトリに再配置する必要があります。

表23-6 OpenSSOアーティファクトの再配置

AdminServer OpenSSOエージェントの/configディレクトリ

$MW_HOME/Oracle_IDM1/oam/server/rreg/client/rreg/output


$Policy-Agent-base/AgentInstance-Dir/config/

Open SSOエージェント用に生成されるアプリケーション・ドメインの詳細は、「生成されるアーティファクト: OpenSSO」を参照してください。

23.3.2 拡張されたOpenSSOエージェント・ページとパラメータについて

この項では、拡張されたOpenSSOエージェント・ページについて説明します。このページは、Oracle Access Managementコンソールを使用してエージェントを管理するときに利用できます。

登録時には、プロセスを簡潔にするために、使用可能なパラメータのうち少数のサブセットのみが表示されます。Oracle Access Managementコンソールとリモート登録ユーティリティのどちらを使用してエージェントを登録していても、コンソールで完全なエージェントの構成ページを表示できます。デフォルト値は、このページに最初の登録後に移入され、エージェントのページを開いたときに表示されます(図23-3を参照)。

図23-3 拡張されたOpenSSO Webエージェント登録ページ

図23-3の説明が続きます
「図23-3 拡張されたOpenSSO Webエージェント登録ページ」の説明

J2EEエージェント登録ページの情報は、Webエージェントの詳細とほぼ同じです。J2EEエージェント登録ページを図23-4に示します。

図23-4 拡張されたOpenSSO J2EEエージェント登録ページ

図23-4の説明が続きます
「図23-4 拡張されたOpenSSO J2EEエージェント登録ページ」の説明

拡張されたOpenSSOエージェント登録ページのすべての要素については、表23-7で説明しています。

表23-7 拡張されたOpenSSOエージェント登録の要素

要素 説明

ステータス

このエージェント登録の状態: 「有効」または「無効」。

デフォルト: 有効

関連項目: 表23-5「「新規OpenSSOエージェント」ページの要素」

フィルタ・モード

J2EEエージェント・タイプのみ

エージェント・フィルタは、保護されているアプリケーション内にインストールされています。セキュリティ・ポリシーの施行を円滑化し、保護されているアプリケーション内のすべてのリソースへのアクセスを制御します。J2EEエージェントによって保護されるすべてのアプリケーションのデプロイメント・ディスクリプタを、エージェント・フィルタを使用するように変更する必要があります。この設定が行われていないアプリケーションは、J2EEエージェントによって保護されず、エージェント・レルムがインストールされているデプロイメント・コンテナにデプロイされた場合は正常に動作しなかったり使用できなくなったりする可能性があります。

J2EEエージェントの場合、フィルタ・モードに、SSO_ONLYまたはURL_Policyのどちらかのオプションを選択して設定する必要があります。

デフォルト: URL_Policy

  • SSO_ONLY (Access Managerの認証のみ): フィルタ操作の最新の制限モードを有効にします。エージェントは単純に、保護されたWebリソースにアクセスしようとするすべてのユーザーが認証されるようにします。

  • URL_Policy (Access Managerの認証および認可): エージェント・フィルタがURLポリシーを施行できるようにします。デフォルトでは、Webエージェントのcom.sun.identity.agents.config.sso.onlyattributeは「false」に設定されています。

プロセスの概要: 認証のみ(SSO_ONLY J2EEフィルタ・モード)

  1. エンド・ユーザーは、OpenSSOエージェントにより保護されているアプリケーションまたはリソースへのアクセスをリクエストします。

  2. OpenSSOエージェントは、この非認証ユーザーを認証を受けるためにOAMサーバーにリダイレクトします。

  3. 認証に成功すると、OpenSSOプロキシは、レスポンスCookieにOpenSSOセッションIDを設定し、ユーザーを元の保護されているリソースにリダイレクトします。

  4. 有効なOpenSSOセッションを取得した認証済エンド・ユーザーは、OpenSSOエージェントによって保護されているアプリケーションまたはリソースにアクセスします。

  5. OpenSSOエージェントは、OpenSSOプロキシを介して、OAMサーバーに対してOpenSSOセッションを検証し、エンド・ユーザーのSSOを有効にします。

  6. エンド・ユーザーは、保護されているアプリケーションまたはリソースへのアクセスを取得します。

プロセスの概要: URL_Policy J2EEフィルタ・モードによる認証および認可

  1. エンド・ユーザーは、OpenSSOエージェントにより保護されているアプリケーションまたはリソースへのアクセスをリクエストします。

  2. OpenSSOエージェントは、この非認証ユーザーを認証を受けるためにOAMサーバーにリダイレクトします。

  3. 認証に成功すると、OpenSSOプロキシは、レスポンスCookieにOpenSSOセッションIDを設定し、ユーザーを元の保護されているリソースにリダイレクトします。

  4. 有効なOpenSSOセッションを取得した認証済エンド・ユーザーは、OpenSSOエージェントによって保護されているアプリケーションまたはリソースにアクセスします。

  5. OpenSSOエージェントは、OpenSSOプロキシを介して、OAMサーバーに対してOpenSSOセッションを検証します。

  6. OpenSSOエージェントは、OpenSSOプロキシを介して、ポリシー・リクエストをOAMサーバーに送信し、認証ユーザーがリソースへのアクセスを認可されることを保証します。

  7. OpenSSOプロキシは、(OAMポリシー・エンジンを使用して)保護されているリソースのポリシーを評価し、ポリシー決定としてAllowまたはDenyをエージェントに送信します。

  8. ポリシー決定がAllowの場合、エンド・ユーザーはアクセスを取得します。

: フィルタ・モードとして「なし」、J2EE_Policy、「すべて」はサポートされていません。

関連項目: 「OpenSSOエージェント登録パラメータの理解」

セッション・タイムアウト秒数(ユーザー)

矢印をクリックして期間を指定します。この期間を経過すると、セッションはタイムアウトして、ユーザーは再認証が必要になります。

デフォルト: 0

Cookie名

OpenSSO cookieのデフォルト名は次のとおりです。

デフォルト: iPlanetDirectoryPro

Cookieセパレータ

Cookieとして同じ属性の複数の値を設定する場合にセパレータとして使用する文字を定義します。たとえば、パイプ記号「|」を使用できます。

デフォルト:

Cookieのエンコードの有効化

J2EEエージェント・タイプのみ

Cookieのエンコードを有効にするかどうかを指定します。

デフォルト: 有効

SSOのみ

Webエージェント・タイプのみ

OpenSSOエージェントが、ブートストラップし、Access Managerによって提供されるOpenSSOプロキシを介してOAMサーバーで認証できるようにします。

エンド・ユーザーがOpenSSOエージェントによって保護されているアプリケーションまたはリソースにアクセスすると、OpenSSOエージェントは、この非認証ユーザーを認証を受けるためにOAMサーバーにリダイレクトします。

認証に成功すると、OpenSSOプロキシは、レスポンスCookieにOpenSSOセッションIDを設定して、ユーザーを元の保護されているアプリケーションまたはリソースにリダイレクトします。

有効なOpenSSOセッションを取得した認証済ユーザーは、OpenSSOエージェントによって保護されているアプリケーションまたはリソースにアクセスします。OpenSSOエージェントは、OpenSSOプロキシを介して、OAMサーバーに対してセッションを検証します。

エンド・ユーザーは、Access Managerの認証ポリシーに基づいてアクセスを取得します。

URL


ログインURL

ログインURLを入力します。このURLには、適切なプロトコル(HTTPまたはHTTPS)、ホスト、ドメインおよびポートを次の形式で指定する必要があります。

http://example.domain.com:port

デフォルト: http://oamhost:port/opensso/UI/Login

注意: ポート番号はオプションです。

ログアウトURL

ログアウトURLは、ログアウト・ハンドラをトリガーします。これにより、Access Managerで保護されているリソースにユーザーが次回アクセスする際に再認証が必要になります。

ログアウトURLを入力する場合、適切なプロトコル(HTTPまたはHTTPS)、ホスト、ドメインおよびポートを指定する必要があります。例:

http://example.domain.com:port/opensso/UI/Logout

デフォルト: http://oamhost:port/opensso/UI/Logout

注意: ポート番号はオプションです。ユーザーは、他のエージェント(たとえば、WebゲートやMOD_OSSO)によって保護されているリソースからログアウトする必要があります。マルチドメイン環境以外では、エージェント・ログアウトは必要ありません。

ポリシーを強制しないURL

Webエージェント・タイプのみ

このリストに入力するURLはポリシーを強制しません。これはパブリックURLと同等であり、保護されておらず、すべてのユーザーがアクセスできます。

アクセス拒否URI

ユーザーが、リクエストしたリソースへのアクセスが拒否された場合にリダイレクトされるURI。WebエージェントおよびJ2EEエージェントのどちらでも使用可能ですが、それぞれ次の形式で指定する必要があります。

Webエージェント(完全なURL): http://host:port/context/accessDeniedURL.html

J2EEエージェント(相対URI): /context/accessDeniedURL.htm

デフォルト: (空白)

監査


デバッグ・レベル

J2EEエージェント・タイプのみ

設定されている場合、OAMサーバーは次のメッセージをログに記録します。

  • ログイン成功およびログイン失敗イベント

  • ログアウト成功およびログアウト失敗イベント

  • 複数のロギング・レベル(重大度の高い順にエラー、警告、メッセージ)のログ・メッセージ

デフォルト: エラー

関連項目: 第8章「コンポーネント・イベント・メッセージのロギング」

デバッグ・ディレクトリ

J2EEエージェント・タイプのみ

OAMサーバーの次の監査ログを格納するファイルシステム・ディレクトリ・パス。

  • ログイン・イベントの監査

  • ログアウト成功イベントの監査

関連項目: 第9章「管理イベントとランタイム・イベントの監査」

デバッグ・ファイル

Webエージェント・タイプのみ

ローカル・コンポーネントのイベント・ロギング・ファイルのファイルシステム・ディレクトリ・パスを定義します。

デフォルト:

ローカル・ログ・ファイル

ローカル・コンポーネントのイベント・ロギング・ファイルのファイルシステム・ディレクトリ・パスを定義します。

デフォルト:

ユーザー・マッピング


マッピング・モード

  • HTTP_HEADER

  • USER_ID

  • PROFILE_ATTRIBUTE

  • SESSION_PROPERTY

デフォルト: User_ID

ユーザー・アイデンティティ

デフォルト: ユーザーID

ユーザー属性名

デフォルト:

属性マッピング

属性取得は、アプリケーションが使用するHTTPリクエスト内ユーザー属性をフェッチおよび設定します。

次の「属性マッピング」パネルが用意されています。

  • プロファイル属性

  • レスポンス属性

  • セッション属性

フェッチ・モード: 一部のアプリケーションは、ユーザー・リクエストを適切に処理するために、なんらかの形でユーザー固有のプロファイル情報が存在することを前提としています。ユーザーがプロファイル属性、レスポンス属性またはセッション属性で「フェッチ・モード」を指定すると、エージェントは様々な形のユーザーのプロファイルからこれらの属性を取得できます。

  • なし: 属性はフェッチされません。

  • HTTP_HEADER: HTTPヘッダーとしてLDAP属性を提供するようにエージェントが構成されている場合、これらの属性を取得できます。

  • REQUEST_ATTRIBUTE: リクエスト属性としてLDAP属性を提供するようにエージェントが構成されている場合、エージェントはこれらの属性値を、後でアプリケーションが必要に応じて使用できる属性として、HttpServletRequestに移入します。たとえば、プロファイル属性をフェッチし、プロファイル属性プロパティにモードを割り当て、現在の認証済ユーザーに固有の名前で移入するプロファイル属性をマッピングします。

  • HTTP_COOKIE: CookieとしてLDAP属性を提供するようにエージェントが構成されている場合、エージェントはパスを「/」と指定して、サーバー固有のCookieとして必要な値を設定します。複数値属性は、セパレータ文字を使用して属性のすべての値を単一文字列に連結することによって、単一Cookie値として設定されます。セパレータ文字は、Cookie Separatorプロパティで指定できます。

デフォルト: なし

プロファイル属性

ユーザー・プロファイル情報は、現在の認証済ユーザーに固有の名前で移入できます。例:

フェッチ・モード: REQUEST_ATTRIBUTE

名前(マップ・キー): cn

値: CUSTOM-Common-Name

名前(マップ・キー): mail

値: CUSTOM-Email

デフォルト: データなし

レスポンス属性

ポリシー・レスポンス属性をフェッチし、ポリシー・レスポンス属性プロパティにモードを割り当て、現在の認証済ユーザーに固有の名前で移入するポリシー・レスポンス属性をマッピングすることによって、ユーザー固有情報を取得します。

フェッチ・モード: REQUEST_ATTRIBUTE

名前(マップ・キー): cn

値: CUSTOM-Common-Name

名前(マップ・キー): mail

値: CUSTOM-Email_Addr

デフォルト: データなし

セッション属性

OAMサーバーによって保持されるセッション・オブジェクトの属性。これらはセッション検証レスポンスの一部としてエージェントに送信されます。

フェッチ・モード: REQUEST_ATTRIBUTE

名前(マップ・キー): UserToken

値: CUSTOM-userid

デフォルト: データなし

その他

大部分のエージェント・プロパティは、ホットスワップ可能です。構成プロパティを変更すると、予期しない結果が発生する可能性があります。ホットスワップ可能なプロパティは即時に有効になります。そのため、誤りも即時に実装されます。大部分のエージェント・プロパティは、Oracle Access Managementコンソールで構成するために最も便利な形式で提示されます。ただし、この形式は、OpenSSOAgentBootstrap.propertiesファイルでは使用されていません。

リスト・プロパティ: 一部のプロパティは、プロパティ名を表すキー、リストで値が指定されるたびに1ずつ増える(0から始まる)正数、および値で構成されるリストとして指定されます。例:

com.sun.identity.agents.config.notenforced.uri[0]=/agentsample/public/*
com.sun.identity.agents.config.notenforced.uri[1]=/agentsample/images/*
com.sun.identity.agents.config.notenforced.uri[2]=/agentsample/index.html

マップ構成: 一部のプロパティは、プロパティ名を表すキー、マップで使用できる参照キーを形成する名前文字列、およびマップで名前に関連付けられている値で構成されるマップ構成として指定されます。例:

com.sun.identity.agents.config.filter.mode[app1]=ALL
com.sun.identity.agents.config.filter.mode[app2]=SSO_ONLY

: 特定の構成キーに特定の名前を指定するエントリは、構成内で1つのみ指定できます。特定の構成キーで同じ<名前>のエントリが複数存在する場合、その中のいずれか1つの値のみがシステムにロードされ、それ以外の値は破棄されます。

アプリケーション固有のプロパティ: 一部のプロパティは、特定のアプリケーション向けに構成できます。エージェントは、構成ファイルで定義することによって、同じプロパティでアプリケーションごとに異なる値を使用できます。アプリケーション固有の構成プロパティは、マップ構成のルールおよび構文に従って記述する必要があります。次の単一プロパティの設定例は、ルート・コンテキストおよびコンテキスト/Portalにデプロイされているアプリケーションを除くアプリケーションでは、プロパティのデフォルト値がvalue3に設定されることを示しています。

com.sun.identity.agents.config.example[Portal] = value1
com.sun.identity.agents.config.example[DefaultWebApp] = value2
com.sun.identity.agents.config.example = value3

グローバル・プロパティ: 特定のアプリケーション向けに構成されていないプロパティは、デプロイメント・コンテナ上のすべてのアプリケーションに適用されます。そのようなプロパティは、グローバル・プロパティと呼ばれます。

シリアル番号: 自動的に割り当てられます。

名前: 次のいずれかを選択します。

: 選択した名前に対する適切な値を入力します。

: OpenSSOエージェント構成のホットスワップを有効にするには、openssoエージェントが、OAMサーバー上のOpenSSOプロキシでエージェントのプロファイルの「その他」プロパティ・セクションに次のプロパティがあり、エージェント・サーバーが再起動されることを確認します。

J2eeエージェント: com.sun.identity.client.notification.url =http://<AGENT_SERVER_HOST>:<AGENT_SERVER_PORT>/agentapp/notification

Webエージェント:

com.sun.identity.client.notification.url =http://AGENT_SERVER_HOST:AGENT_SERVER_PORT/UpdateAgentCacheServlet?shortcircuit=false

サポート対象外、Webエージェント: com.sun.identity.agents.config.change.notification.enable = true OpenSSOエージェントのその他属性

関連項目:

「OpenSSOブートストラップ構成マッピングの再確認」


要素

説明

関連項目:

表23-5「「新規OpenSSOエージェント」ページの要素」


ステータス

このエージェント登録の状態: 「有効」または「無効」。

デフォルト: 有効

フィルタ・モード

J2EEエージェント・タイプのみ

エージェント・フィルタは、保護されているアプリケーション内にインストールされています。セキュリティ・ポリシーの施行を円滑化し、保護されているアプリケーション内のすべてのリソースへのアクセスを制御します。J2EEエージェントによって保護されるすべてのアプリケーションのデプロイメント・ディスクリプタを、エージェント・フィルタを使用するように変更する必要があります。この設定が行われていないアプリケーションは、J2EEエージェントによって保護されず、エージェント・レルムがインストールされているデプロイメント・コンテナにデプロイされた場合は正常に動作しなかったり使用できなくなったりする可能性があります。

J2EEエージェントの場合、フィルタ・モードに、SSO_ONLYまたはURL_Policyのどちらかのオプションを選択して設定する必要があります。

デフォルト: URL_Policy

  • SSO_ONLY (Access Managerの認証のみ): フィルタ操作の最新の制限モードを有効にします。エージェントは単純に、保護されたWebリソースにアクセスしようとするすべてのユーザーが認証されるようにします。

  • URL_Policy (Access Managerの認証および認可): エージェント・フィルタがURLポリシーを施行できるようにします。デフォルトでは、Webエージェントのcom.sun.identity.agents.config.sso.onlyattributeは「false」に設定されています。

プロセスの概要: 認証のみ(SSO_ONLY J2EEフィルタ・モード)

  1. エンド・ユーザーは、OpenSSOエージェントにより保護されているアプリケーションまたはリソースへのアクセスをリクエストします。

  2. OpenSSOエージェントは、この非認証ユーザーを認証を受けるためにOAMサーバーにリダイレクトします。

  3. 認証に成功すると、OpenSSOプロキシは、レスポンスCookieにOpenSSOセッションIDを設定し、ユーザーを元の保護されているリソースにリダイレクトします。

  4. 有効なOpenSSOセッションを取得した認証済エンド・ユーザーは、OpenSSOエージェントによって保護されているアプリケーションまたはリソースにアクセスします。

  5. OpenSSOエージェントは、OpenSSOプロキシを介して、OAMサーバーに対してOpenSSOセッションを検証し、エンド・ユーザーのSSOを有効にします。

  6. エンド・ユーザーは、保護されているアプリケーションまたはリソースへのアクセスを取得します。

プロセスの概要: URL_Policy J2EEフィルタ・モードによる認証および認可

  1. エンド・ユーザーは、OpenSSOエージェントにより保護されているアプリケーションまたはリソースへのアクセスをリクエストします。

  2. OpenSSOエージェントは、この非認証ユーザーを認証を受けるためにOAMサーバーにリダイレクトします。

  3. 認証に成功すると、OpenSSOプロキシは、レスポンスCookieにOpenSSOセッションIDを設定し、ユーザーを元の保護されているリソースにリダイレクトします。

  4. 有効なOpenSSOセッションを取得した認証済エンド・ユーザーは、OpenSSOエージェントによって保護されているアプリケーションまたはリソースにアクセスします。

  5. OpenSSOエージェントは、OpenSSOプロキシを介して、OAMサーバーに対してOpenSSOセッションを検証します。

  6. OpenSSOエージェントは、OpenSSOプロキシを介して、ポリシー・リクエストをOAMサーバーに送信し、認証ユーザーがリソースへのアクセスを認可されることを保証します。

  7. OpenSSOプロキシは、(OAMポリシー・エンジンを使用して)保護されているリソースのポリシーを評価し、ポリシー決定としてAllowまたはDenyをエージェントに送信します。

  8. ポリシー決定がAllowの場合、エンド・ユーザーはアクセスを取得します。

: フィルタ・モードとして「なし」、J2EE_Policy、「すべて」はサポートされていません。

関連項目: 「OpenSSOエージェント登録パラメータの理解」


23.4 コンソールを使用したOpenSSOエージェントの登録および管理

このトピックの内容は次のとおりです。

23.4.1 Oracle Access Managementコンソールを使用したOpenSSOエージェントの登録

Oracle Access Management管理者の資格証明を持つユーザーは、Oracle提供のツールを使用してOpenSSO環境を分析および移行することも、ここで説明するようにOracle Access Managementコンソールを使用して手動でOpenSSOエージェントをプロビジョニングすることもできます。

登録手順は、OpenSSOエージェント・タイプとしてWebまたはJ2EEのどちらを選択した場合も同じです。OpenSSOエージェントは、デプロイする前に登録できます。有効な管理者の資格証明を持つユーザーは、次のタスクを実行して、Oracle Access ManagementコンソールによりOpenSSOエージェントを登録できます。


注意:

新しいOpenSSOエージェントを作成する場合、サポートされているのは集中構成モードのみです。

エージェント登録の後に、必要があればOAMサーバーの通信モードを変更できます。エージェントとサーバー間の通信は、エージェントがフィルタ・モードとしてSSOのみを使用しているかぎり、動作を継続します。

前提条件

少なくとも1つのOAMサーバーが、登録するエージェントと同じモードで実行中であることを確認してください。エージェントを次の説明に従ってインストールします。

  • Oracle Sun OpenSSOエンタープライズ・ポリシー・エージェント3.0 Webエージェント・ユーザーズ・ガイド

  • Oracle Sun OpenSSOエンタープライズ・ポリシー・エージェント3.0 J2EEエージェント・ユーザーズ・ガイド

コンソールを使用してOpenSSOエージェントを登録するには:

  1. Oracle Access Managementコンソールで「新規OpenSSOエージェント」リンクをクリックします。


    「ようこそ」ページ
    「SSOエージェント」パネル
    「新規OpenSSOエージェント」リンク

    または、「システム構成」タブの「Access Manager」セクションで「SSOエージェント」ノード、「OpenSSOエージェント」ノードを開き、右上隅のどちらかのOpenSSOエージェントの作成ボタンをクリックします。

  2. 「新規OpenSSOエージェント」ページで必須詳細情報(*付き)を入力します(表23-5)。

  3. 「ポリシーの自動作成」ボックスが選択されていることを確認します(または、新しいアプリケーション・ドメインが必要ない場合にはボックスの選択を解除してこの機能を無効にします)。

  4. 「適用」をクリックして、登録を送信します(または登録を送信せずにページを閉じます)。

  5. 「確認」ウィンドウで、生成されたアーティファクトの場所を確認し、ウィンドウを閉じます。

  6. ナビゲーション・ツリーで、エージェント名がリストされていることを確認します。

  7. コンソール・ホスト(AdminServer)からOpenSSOエージェントのブートストラップ・ファイルおよび構成ファイルをエージェント・ホストWebサーバーにコピーします。


    OpenSSOプロパティ・ファイルのコピー元 パス

    コピー元: AdminServer (コンソール)ホスト $DOMAIN_HOME/output/$Agent_Name/
    • OpenSSOAgentBootstrap.properties

    • OpenSSOAgentConfiguration.properties


    OpenSSOエージェント・ホストWebサーバー: $OHS_dir/configにコピーします。 例:
    $WebTier_MW_HOME/Oracle_WT1/instances1/config/OHS/ohs1/config/

  8. エージェントをホストしているOAMサーバーを再起動します。

  9. 必要に応じて、次のトピックに進みます。

23.4.2 コンソールを使用した登録済OpenSSOエージェントの構成および管理

次の手順は、編集(表示、変更または削除)するOpenSSOエージェントのタイプがJ2EEまたはWebのどちらの場合も同じです。有効な管理者の資格証明を持つユーザーは、Oracle Access Managementコンソールを使用して、登録済のエージェントのあらゆる設定を変更できます。

変更後は、更新された詳細はランタイムの構成更新プロセスによって伝播されます。通常は、アーティファクトをOpenSSOエージェントの構成領域にコピーする必要はありません。アーティファクトは、エージェント名、パスワードまたはセキュリティ・モードが変更された場合にのみ、OpenSSOエージェント・ディレクトリ・パスにコピーする必要があります。


注意:

エージェントの登録を削除すると、登録のみが削除されるため(関連付けられているホスト識別子、アプリケーション・ドメイン、リソースまたはエージェント・インスタンス自身は削除されません)、同じエージェントが必要になった場合に再登録する必要はありません。ただし、アプリケーション・ドメインおよびその内容を削除すると、「アプリケーション・ドメインおよびその内容の削除」で説明するように、エージェント登録を含むすべての参照オブジェクトが削除されます。

前提条件

エージェントは登録済であり、Oracle Access Managementコンソールでその登録を表示可能である必要があります。AdminServerおよび1つのOAMサーバーが稼働している必要があります。

登録詳細を表示または変更(または登録を削除)するには:

  1. 「システム構成」タブの「Access Manager」セクションから、「SSOエージェント」ノードを展開します。

    1. 「OpenSSOエージェント」ノードを開き、「検索」ページを表示します。

    2. 登録を検索します。フォームに(「エージェント名」または「エージェント・タイプ」、またはその両方を)入力するか、単純に「検索」ボタンをクリックします。

    3. 登録を開きます。結果表のエージェント名をクリックしてページを開きます。

  2. 既存の詳細を変更します

    1. 必要に応じてエージェントの詳細を追加または変更します(表23-5)。

    2. 「適用」をクリックして変更を送信し、「確認」ウィンドウを閉じます。

    3. OpenSSOエージェント構成ファイルは、エージェント名、パスワードまたはセキュリティ・モードが変更された場合にのみコピーします。

  3. OpenSSOエージェント登録を削除します。これにより、エージェント・インスタンス自体は削除されず、コンソールから登録ページのみが削除されます。

    1. エージェントの登録ページが開いている場合は閉じます。

    2. 希望するエージェント名をクリックして、ツール・バーで「削除」ボタンをクリックし、「確認」ウィンドウで削除を確認します。

    3. エージェント名がナビゲーション・ツリーにないことを確認します。

  4. エージェントをホストしているOAMサーバーを再起動します。

  5. 第V部「Access ManagerのSSO、ポリシーおよびテストの管理」に進みます。

23.5 OpenSSOエージェントのリモート登録の実行

この項では、オラクル社提供のツールoamregを使用したリモート登録について簡単に説明します。この項の内容は、次のとおりです。

23.5.1 OpenSSOエージェントのリモート登録用リクエスト・テンプレートの理解

各OpenSSOエージェントは、アプリケーションに対するリクエストを捕捉することで、これらのアプリケーションへのアクセスを制限します。OpenSSOエージェント・プロビジョニングとは、OpenSSOエージェントをAccess Managerに登録するプロセスです。

inbandoutofbandのどちらのリモート登録モードにも、表23-8に示した入力引数を含むリクエスト・ファイルが必要になります。

表23-8 リモート登録用のOpenSSOリクエスト・ファイル

テンプレートの対象 説明

OpenSSOエージェントの登録

$OAM_REG_HOME/input/OpenSSORequest.xml


$OAM_REG_HOME/input/OpenSSORequest_short.xml

短縮リクエストでoamregを実行する場合、拡張リクエスト内のみにある要素に対しては、デフォルト値が自動的に適用されます。

その他のテンプレート


エージェントの更新:

$OAM_REG_HOME/input/OpenSSOUpdateAgentRequest.xml

関連項目: 「エージェントのリモート更新」

ポリシーの作成:

エージェントを登録せずに新しいホスト識別子とアプリケーション・ドメインを作成

$OAM_REG_HOME/input/CreatePolicyRequest.xml

関連項目: 「ポリシーおよびアプリケーション・ドメインのリモート管理」

ポリシーの更新:

既存のホスト識別子と、(エージェント登録に関連付けられていない)アプリケーション・ドメイン

$OAM_REG_HOME/input/UpdatePolicyRequest.xml

関連項目: 「ポリシーおよびアプリケーション・ドメインのリモート管理」


OpenSSOエージェントのリモート登録では、次の処理が自動的に行われます。

  • Oracle Access Managementコンソール用のエージェント・ページの作成

  • アプリケーションを保護するためのアプリケーション・ドメインと基本ポリシーの作成

  • エージェントが実行時に使用する、クライアント上のOpenSSOプロパティ・ファイルの作成

OpenSSOエージェントのリクエスト・テンプレートの要素については、表23-9を参照してください。特に明記しないかぎり、短縮版と拡張版の両方のリクエスト・ファイル内にすべての要素が存在します。

表23-9 OpenSSOエージェントのリモート登録リクエスト

要素 説明

<serverAddress>

<agentName>

<hostIdentifier>

<agentBaseUrl>

<autoCreatePolicy>

<applicationDomain>

<virtualhost>

すべてのリモート登録リクエスト・テンプレートに共通の要素。

表16-8「リモート登録リクエストの共通要素」を参照してください。

<agentType>

J2EEまたはWebタイプのOpenSSOエージェントのどちらかを選択します。

<agentType>WEB</agentType>

パスワード

パスワードの再入力 *

このOpenSSOエージェントの必須かつ一意のパスワードで、この登録プロセス中に割り当てられています。このエントリは不明瞭化された形式で、コンソール、oam-config.xml、OpenSSOAgentBootstrap.propertiesに表示されます。

登録されたエージェントがOAM SServerに接続すると、ユーザーはパスワードを入力するよう求められます。パスワードにより、認証時に認可されていないエージェントが接続してポリシー情報を取得するのを防ぎます。

リモート登録時にパスワードを入力するように求められます。これはテンプレートには表示されません。

拡張されたOpenSSOテンプレートのみ



<agentDebugDir>

<debug>をtrueに設定すると、記録されたエージェント・メッセージへのディレクトリ・パスを構成できます。

デフォルト: なし

関連項目: 第8章「コンポーネント・イベント・メッセージのロギング」

<agentDebugDir>/scratch/debug</agentDebugDir>

<agentAuditDir>

OAMサーバーから次の監査ログへのディレクトリ・パスを定義します。

  • ログイン・イベントの監査

  • ログアウト成功イベントの監査

関連項目: 第9章「管理イベントとランタイム・イベントの監査」

<agentAuditDir>/scratch/audit</agentAuditDir>

<agentAuditFileName>

監査ログ・ファイル名を定義します。

<agentAuditFileName>audit.log</agentAuditFileName>

<debug>

trueに設定すると、OAMサーバーは次のイベントに関するメッセージを記録します。

  • ログイン成功およびログイン失敗イベント

  • ログアウト成功およびログアウト失敗イベント

  • 様々なロギング・レベル(FATAL、ERROR、WARNING、DEBUG、TRACE)のログ・メッセージ。降順でそれぞれが重大度を示しています。

デフォルト: false

関連項目: 第8章「コンポーネント・イベント・メッセージのロギング」

<debug>false</debug>

<cookieName>

Cookieの名前。OpenSSOプロキシがセッションの検証をトリガーした後に、エージェントがこのCookieを検出します。

エンド・ユーザーの持つ有効なCookieは次のとおりです。

  • OAM_ID cookie (エージェント認証後のエンド・ユーザー・セッションを表します)。

  • OpenSSO cookie

<cookieName>iPlanetDirectoryPro</cookieName>

<accessDeniedUrl>

アクセスが拒否された場合、ユーザーはこのURLにリダイレクトされます。

<accessDeniedUrl></accessDeniedUrl>

<protectedAuthnScheme>

認証ポリシーで使用する認証スキームを指定します。

アップグレード済の環境の場合、新しく登録するOSSOエージェントの保護されたリソース・ポリシーには、SSOCoExistMigrateSchemeを使用してください。

<protectedAuthnScheme></protectedAuthnScheme>

23.5.2 OpenSSOブートストラップ構成マッピングの再確認

この項では、OpenSSOのブートストラップ構成マッピングについて説明します。

表23-10 J2EEリクエスト・ファイルのプロパティ・ファイルに対するマッピング

プロパティ名 デフォルト値 値の例

com.iplanet.am.naming.url

入力XMLより<serverAddress>/opensso/namingservice

http://example.com:7575/opensso/namingservice

com.sun.identity.agents.app.username

入力XMLより<agentName>

<Agent registration ID>

com.iplanet.am.service.secret

入力XMLより<agentPassword>

: これは入力XMLファイルの一部としては収集されるのではなく、リモート登録ツールにより入力を求められます。

<Encrypted Agent registration ID password>

com.iplanet.services.debug.directory

入力XMLより<agentDebugDir>

/opt/30j2ee/j2ee_agents/tomcat_v6_agent/Agent_001/logs/debug

com.sun.identity.agents.config.local.logfile

入力XMLより<agentAuditDir>/<agentAuditFileName>

/opt/30j2ee/j2ee_agents/tomcat_v6_agent/Agent_001/logs/audit/amAgent_example_com_7676.log

com.sun.identity.agents.config.organization.name

入力XMLより<realmName>

: これは、入力XMLファイルから収集する<hostIdentifier>の値です。明示的に指定していない場合は、デフォルトで<agentName>とみなされます。


com.sun.identity.agents.config.profilename

入力XMLより<agentName>

<Agent registration ID>

リモート登録ファイルに含まれないプロパティ



com.iplanet.am.naming.url

N/A

N/A

com.sun.identity.agents.config.service.resolver

N/A

N/A

com.sun.services.debug.mergeall

N/A

N/A

com.sun.identity.agents.config.lock.enable

FALSE

N/A

N/A

am.encryption.pwd

N/A

N/A


表23-11に、Webエージェント・リクエスト・ファイルとプロパティ・ファイルの間のマッピングを示します。

表23-11 Webリクエスト・ファイルのプロパティ・ファイルに対するマッピング

プロパティ名 デフォルト値 値の例

com.iplanet.am.naming.url

入力XMLより<serverAddress>/<serverAddress>/opensso/namingservice

http://example.com:7575/opensso/namingservice

com.sun.identity.agents.config.username

入力XMLより<agentName>

<Agent profile ID>

com.sun.identity.agents.config.password

入力XMLより<agentPassword>

: これは入力XMLファイルの一部としては収集されるのではなく、リモート登録ツールにより入力を求められます。

<Encrypted Agent registration ID password>

com.iplanet.services.debug.directory

入力XMLより<agentDebugDir>

/opt/30j2ee/j2ee_agents/tomcat_v6_agent/Agent_001/logs/debug

com.sun.identity.agents.config.local.logfile

入力XMLより<agentAuditDir>/<agentAuditFileName>

/opt/30j2ee/j2ee_agents/tomcat_v6_agent/Agent_001/logs/audit/amAgent_redsky_red_iplanet_com_7676.log

com.sun.identity.agents.config.organization.name

入力XMLより<realmName>

注意: これは、入力XMLから収集する<hostIdentifier>の値です。ステータス: オープン、固定またはクローズ済


com.sun.identity.agents.config.profilename

入力XMLより<agentName>



23.5.3 OpenSSOエージェントの帯域内リモート登録の実行

この項では、OpenSSOエージェントの帯域内リモート登録を実行するために必要な手順について簡単に説明しています。詳細は、ここで説明する別の章を参照してください。

前提条件

「リモート登録の概要」

タスクの概要: リモート登録を実行する帯域内の管理者

  1. 登録ツールを入手して、環境変数を設定します(「リモート登録ツールの取得および設定」を参照)。

    $ORACLE_HOME/oam/server/rreg/client/RREG.tar.gz 
    
  2. エージェントとアプリケーション・ドメインに対して一意の値で入力ファイルを作成します(「リモート登録リクエストの作成」を参照)。


    作成元: OpenSSORequest.xml
    作成先: myopenssoagent_request.xml
  3. 登録ツールを実行してエージェントを構成し、リソースに対するデフォルトのアプリケーション・ドメインを作成して、更新したエージェント構成ファイルをコピーします(「帯域内リモート登録の実行」を参照)。

    コピー元: コンソール・ホスト(AdminServer)

    /rreg/output/Agent_Name/

    • OpenSSOAgentBootstrap.properties

    • OpenSSOAgentConfiguration.properties

    OpenSSOエージェント・ホストWebサーバー: $OHS_dir/configにコピーします。例:


    $WebTier_MW_HOME/Oracle_WT1/instances1/config/OHS/ohs1/config/
  4. 構成を検証します(「リモート登録およびリソース保護の検証」を参照してください)。

  5. アクセス・チェックを実行して構成が有効なことを検証します(「リモート登録後の認証およびアクセスの検証」を参照してください)。

23.5.4 OpenSSOエージェントの帯域外リモート登録の実行

この項では、OpenSSOエージェントの帯域外リモート登録を実行するために必要な手順について簡単に説明しています。詳細は、ここで説明する別の章を参照してください。

前提条件

「リモート登録の概要」

タスクの概要: 帯域外リモート登録(ネットワーク外のエージェント)

  1. 帯域外の管理者の手順: 特定のアプリケーションおよびエージェントの詳細を含む開始リクエストの入力ファイルを作成し、帯域内の管理者に送信します。

    • 登録ツールを入手して、環境変数を設定します(「リモート登録ツールの取得および設定」を参照)。

      $ORACLE_HOME/oam/server/rreg/client/RREG.tar.gz 
      
    • テンプレートをコピーおよび編集して、エージェントおよびアプリケーション・ドメインに一意の値を入力します(「リモート登録リクエストの作成」を参照してください)。

      $OAM_REG_HOME/input/OpenSSORequest.xml
      
    • 選択した方法(電子メールまたはファイル転送)を使用して、開始リクエストの入力ファイルを帯域内の管理者に送信します。

  2. 帯域内の管理者の手順:

    • 登録ツールを入手して、環境変数を設定します(「リモート登録ツールの取得および設定」を参照)。

      $ORACLE_HOME/oam/server/rreg/client/RREG.tar.gz 
      
    • 登録ツールで帯域外の開始リクエストを使用してエージェントを登録し、帯域外の管理者に戻すレスポンスおよびネイティブ・エージェントの構成ファイルを作成します。「帯域外リモート登録の実行」を参照してください。

      • opensso_Response.xmlは、帯域外の管理者が手順3で使用するために生成されます。

      • OpenSSOプロパティ・ファイルは、帯域外の管理者がOSSOモジュールをブートストラップできるように変更します。

  3. 帯域外の管理者: レスポンス・ファイルと登録ツールを使用して、アーティファクトをファイル・システムの適切なディレクトリにコピーします。

    • opensso_Response.xml。

    • opensso....propertiesファイル

  4. 帯域内の管理者: 構成を検証します(「リモート登録およびリソース保護の検証」を参照してください)。

  5. 帯域外の管理者の手順: いくつかのアクセス・チェックを実行して構成が有効なことを検証します(「リモート登録後の認証、リソース保護およびアクセスの検証」を参照してください)。

23.6 登録済OpenSSOエージェントのリモート更新

この項では、「エージェントのリモート更新の概要」で説明したリモート登録テンプレートとモードを使用して、OSSOエージェントを更新、検証および削除する方法について説明します。

更新リクエスト・ファイルを使用して、具体的な値をリモート登録ツールoamregに渡します。更新テンプレートと元の登録テンプレートの主な違いは、更新テンプレートの次の点にあります。

表23-12 OpenSSOリモート登録とリモート更新の相違点

相違点 要素

追加

変更を追跡する、<startDate>yyyy_mm_dd</startDate>要素

追加

agent_base_url_portを指定する<homeUrl>要素

省略

<hostidentifier>

省略

<agentbaseURL>


23.6.1 OpenSSOエージェントのリモート更新

OAM 10gエージェント登録をリモート更新するには

  1. 「リモート登録ツールの取得および設定」の説明に従って、登録ツールを設定します。

  2. エージェントの更新:

    1. OAMUpdateAgentRequest.xmlテンプレートを使用して、更新リクエストを作成します。

    2. エージェントをホストしているコンピュータで、agentUpdateモードで次のコマンドを実行し、入力ファイルとして独自の*Request*.xmlを指定します。例:

      ./bin/oamreg.sh agentUpdate input/OpenSSOUpdateAgentRequest.xml
      
    3. 求められた場合に登録管理者ユーザー名およびパスワードを入力します。

    4. 画面のメッセージで成功したことを確認します。

    5. エージェント・ホストのOpenSSOAgentBootstrapとOpenSSOAgentConfiguration.propertiesファイルを再配置します。

      再配置元AdminServer (コンソール)ホスト: /rreg/output/Agent_Name/

      OpenSSOエージェント・ホストWebサーバー: $OHS_dir/configにコピーします。例:


      $WebTier_MW_HOME/Oracle_WT1/instances1/config/OHS/ohs1/config/*.properties
    6. このエージェントをホストするOAMサーバーを再起動します。

  3. エージェントの検証:

    1. エージェント・ホストで、agentValidateモードで次のコマンドを実行します。例:

      ./bin/oamreg.sh agentValidate agentname
      
    2. 求められた場合に登録管理者ユーザー名およびパスワードを入力します。

    3. 画面のメッセージで成功したことを確認します。

  4. エージェントの削除:

    1. エージェントをホストしているコンピュータで、次のagentDeleteコマンドを実行します。例:

      ./bin/oamreg.sh agentDelete agentname
      
    2. 求められた場合に登録管理者ユーザー名およびパスワードを入力します。

    3. 画面のメッセージで成功したことを確認します。

      成功: 画面のメッセージを確認します。

      AgentDeleteプロセスは正常に完了しました。

23.7 その他のOpenSSOエージェントの情報の参照先

Access Managerを使用するレガシーOpenSSOエージェントの追加情報は、表23-13を参照してください。

表23-13 このガイドに記載されたOpenSSOのその他の情報

トピック ロケーション

コンポーネントのロガー

表8-3「Oracle Access Managementのサーバー側コンポーネントのロガー」


DMSコンソール内のOpenSSOメトリック

「DMSコンソールでのOpenSSOメトリックの確認」


セッションの管理

第17章「Access Managerセッションのメンテナンス」


アーティファクト

「生成されるアーティファクト: OpenSSO」

「移行されるアーティファクト: OpenSSO」