プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11g リリース2 (11.1.2.3) for All Platforms
E61950-08
目次へ移動
目次

前
次

27.2 Access Manager 11gの集中ログアウトの概要

特に明記しないかぎり、この章の情報は、デフォルトの埋込み資格証明コレクタ(ECC)を使用するOAM 11g Webゲート・エージェントに適用されます。

この項では次のトピックを記載しています:

27.2.1 11g Webゲートの集中ログアウトについて

Access Managerは、セッションに集中ログアウト(グローバル・ログアウト)を提供します。

集中ログアウトとは、アクティブなセッションを終了するプロセスのことであり、次の事項を意味します。

  • アプリケーションが、SSO環境で使用する固有のログアウト・ページを提供することはできません。

  • アプリケーションは、Webゲート管理者が指定したログアウトURLを指す値でログアウト・リンクを構成できるようにする必要があります。

ノート:

アプリケーションでADF認証サーブレットを使用することをお薦めします。これにより、このサーブレットはOPSSとインタフェース接続し、OPSSでドメイン全体の構成パラメータを使用してログアウトURLを指定できます。この方法であれば、ログアウトの構成を変更するためにアプリケーションの変更や再デプロイが必要になることがありません。

パートナ・アプリケーションとは異なり、外部アプリケーション(Yahoo!メールなど)では、認証がOAMに委任されません。また、ログアウト制御もOAMシングル・サインオン・サーバーに引き渡されません。これらのアプリケーションのログアウトはユーザーの責任となります。

表27-1に、集中ログアウトが行われる状況を示します。ログアウトURLが見つかり、Cookie (11g Webgateの場合はOAMAuthnCookie、10g Webgateの場合はObSSOcookie)が削除された場合。Webgateはユーザーをログアウトさせて、ユーザーの再認証を要求します。

表27-1 集中ログアウトの状況

状況 説明

明示的

クライアントの状態が無効化されてセッションが終了。リソースに再度アクセスしようとする場合、クライアントは再認証を行なわなければなりません。

  • ユーザーがログアウトしたとき

  • 管理者がセッションを終了させたとき

  • アイデンティティ側の変化に基づいてセッションが終了された時

暗黙的

定められたセッション・タイムアウト時間内にユーザー・アクティビティがなかった場合、そのユーザーは自動的にログアウトされてパートナにリダイレクトされ、新しいセッションIDが付与されて資格証明のために新しいプロンプトが表示されます。これは、リソースに対して低レベルの認証が構成されていない場合に実行されます。

Access Managerの場合、logout.htmlにサーバー・ログアウトへの明示的なリダイレクトが指定されていないかぎり、10g Webgateが単にログアウトURLに遭遇しただけではユーザーはログアウトされません。Webgateは、サーバー・ログアウトへユーザーをリダイレクトします。

27.2.2 11g Webゲートのログアウト・パラメータについて

一般に、集中ログアウトの際に、SSOエンジンはuser-session-existsリクエストを受信し、Session Clearedレスポンスを送信します。

SSOエンジンがuser-session-existsリクエストを受信すると、セッション管理エンジンはセッションを参照し、the-session-existsレスポンスで応答します。SSOエンジンは、Clear Session要求を送信します。セッション管理エンジンはトークンとセッション・コンテキストをクリアします。その後、SSOエンジンは、Session Cleared応答を送信します。

ユーザー・トークンとセッション・コンテキストをクリアするとサーバー側の状態がクリアされますが、これにはサーバー側に設定されたOAM_ID Cookieをクリアすることが含まれます。エージェントに通知が行われると、エージェントはアプリケーションのクライアント側状態をクリアします。

OAMサーバーからの11g Webゲートのログアウトを構成するには、「ログアウト・コールバックURL」が必要になります(表15-3)。11gエージェントの集中ログアウトでは、Cookieをloggedoutからemptyに設定し、ログアウト時にOAMAuthnCookie_<ホスト:ポート>_<ランダムの数値>を期限切れにして、これを明示的に削除します(Cookieを空状態やログアウトされた状態のままにするのではありません)。

SSOエンジンはOAMサーバー上の集中ログアウト・ページをサポートし、次の処理を行います。

  • ログアウト時に11g WebgateのLogout Callback URLをコールバックします。

    Webゲートのパラメータ「ログアウト・コールバックURL」は、host:port部分のないURI形式(推奨)を使用して構成できます。OAMサーバーは、元の要求に含まれるホスト:ポートを基に動的に完全なURLを作成して、そのURLをコールバックします。これはhost:portのある完全なURLフォーマットとすることもでき、この場合OAMサーバーは、コールバックURLを再構築することなく直接コールバックします。

  • ログアウト後に、end_url(問合せパラメータとして渡される)にランディングします。

11g Webゲート登録ページのいくつかの要素は、11g Webゲートの集中ログアウトを可能にします。登録後はObAccessClient.xmlファイルに表27-2の情報が格納されます。

表27-2 登録後のログアウトの詳細(ObAccessClient.xml)

要素 説明

ログアウトURL

10gおよび11g Webゲート

ログアウトURLによってログアウト・ハンドラがトリガーされると、ログアウト・ハンドラはCookieを削除し(10g WebゲートではObSSOCookie、11g WebゲートではOAMAuthnCookie)、Access Managerで保護されたリソースにユーザーが次回にアクセスしたときに再認証を要求します。

  • URLが一致するとWebGateログアウト・ハンドラがトリガされます。

  • ログアウトURLが構成されていない場合の要求URLの確認は「logout.」に対して行われ、このURLが見つかった場合も(「logout.gif」と「logout.jpg」を除く)ログアウト・ハンドラがトリガーされます。

Default = [] (設定なし)

ノート: これは、カスタマイズしたローカル・ログアウト・ページから初期ログアウトをトリガーするために使用する、標準の10g Webゲート構成パラメータです(「11g OAMサーバー使用時の10g Webゲートの集中ログアウトの構成」を参照してください)。

11g WebGateのみのその他のログアウト

11g Webゲートのシングル・サインオフ動作では、次の要素と値によって、集中ログアウトURL、コールバックURLおよびエンドURLへのリダイレクトが自動化されます。これは、カスタマイズされたローカルのログアウト・ページからのみ、10g WebGateのシングル・サインオンを置き換えます。

ログアウト・コールバックURL

コールバック時にCookieをクリアするoam_logout_successへのURLです。これには、host:portのないURI形式を指定でき(推奨)、この場合、OAMサーバーは元のリソース・リクエストのhost:portでコールバックします。次に例を示します。

デフォルト = /oam_logout_success

これはhost:portのある完全なURLフォーマットとすることもでき、この場合OAMサーバーは、コールバックURLを再構築することなく直接コールバックします。

リクエストURLがログアウト・コールバックURLに一致したとき、Webgateは自身のcookieをクリアしてレスポンスで.gifイメージをストリーミングします。これはOSSOエージェントの動作に似ています。

Webgateがサーバーのログアウト・ページにリダイレクトすると、"end" URLが問合せパラメータ(end_url=http://host:port/...")として記録され、ログアウト後にOAMサーバーがリダイレクトする先のページになります。

ノート: リモート登録テンプレートでは、このパラメータの名前はlogoutCallbackUrlです(表15-10)。

他のOracle Access Managementサービスは、サーバー上の中央のログアウト・ページをサポートします。end_urlは、OPSS組込みアプリケーションから渡されるターゲットURL問合せパラメータに依存しています。関連項目: 「Oracle ADFコード・アプリケーションの集中ログアウト構成」

ログアウト・リダイレクトURL

このパラメータは、エージェントの登録が完了すると、自動的に移入されます。デフォルトでは、OAMサーバーのホスト名とデフォルト・ポートの14200に基づきます。次に例を示します。

デフォルト = http://OAMServer_host:14200/oam/server/logout

ログアウトURLは、ログアウト・ハンドラをトリガーします。これは、OAMAuthnCookie_<host:port>_<random number>を削除して、ユーザーが次回Access Managerにより保護されたリソースにアクセスするときに、再認証を義務付けます。

  • Webgateログアウト・ハンドラがトリガーされると、このハンドラはログアウト・リダイレクトURLパラメータに指定された集中ログアウト・ページにリダイレクトします(ログアウト・リダイレクトURLパラメータが指定されている場合)。

  • 明示的に消去され、構成されていない場合は、10gの動作がトリガーされます。ローカル・ログアウト・ページでは、カスタマイズされたスクリプトを使用して集中ログアウト・ページにリダイレクトが可能で、必要な場合は追加的なサード・パーティのCookieをクリアできます。

ログアウト・ターゲットURL

この値は、ログアウト時にOPSSアプリケーションがWebgateに渡す問合せパラメータの名前です。この問合せパラメータは、ログアウト後のランディング・ページのターゲットURLを指定します。

デフォルト: end_url

ノート: end_url値は、jps-config.xmlのparam.logout.targeturlを使用して構成されます。

  • ログアウト・ターゲットURLが設定されている場合、Webgateはログアウト・リクエストの問合せパラメータで渡された値を探し、それをOAMサーバーへのリダイレクトURL内のend_url問合せパラメータとして渡します。

  • ログアウト・ターゲットURLが設定されていない場合、Webgateはデフォルト名「end_url」を探し、そのend_url問合せパラメータを一緒に渡します。