Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド 11g リリース1 (11.1.1) B62265-02 |
|
![]() 前 |
![]() 次 |
エージェントが異なれば、ログアウトの実行ステップも異なります。Oracle Access Manager 11gのログアウトは、この章に説明する方法で行うことをお薦めします。
この章の内容は次のとおりです。
注意: ログアウトには、カスタム・ログアウト・スクリプトではなくOracle Access Managerが提供するログアウト・メカニズムを使用することをお薦めします。 |
この章に示すタスクを実行するには、次の前提条件を満たす必要があります。
OAM 11gによってエージェントが構成され登録されたWebサーバー上に、パートナ・アプリケーションがデプロイされていなければなりません。
サポートされている任意のサーバーおよびプラットフォーム上で次のいずれかのエージェントが実行され、OAM 11gがプロビジョニングされていなければなりません。
OAM 11gサーバー使用のOAM 11g Webgate
OAM 11gサーバー使用のIAMSuiteAgent
OAM 11gサーバー使用のOAM 10g Webgate
OAM 10gサーバー使用のOAM 10g Webgate
OSSOエージェント(mod_osso)
ポリシーは、OAM 11gアプリケーション・ドメイン内のリソースを保護するように構成しなければなりません。
Oracle Access Manager 11gでは、ユーザー・セッションで集中ログアウト(グローバル・ログアウトとも呼ばれます)を行うことができます。OAMでは、アクティブ・ユーザー・セッションを終了させるプロセスを集中ログアウトと呼びます。
集中ログアウトを行うということは次のことを意味します。
アプリケーションが、SSO環境で使用する固有のログアウト・ページを提供することはできません。
アプリケーションは、OAM Webgate Administratorが指定するログアウトURLを参照する値でログアウト・リンクを構成できるようにする必要があります。
注意: アプリケーションでADF認証サーブレットを使用することをお薦めします。これにより、このサーブレットはOPSSとインタフェース接続し、OPSSでドメイン全体の構成パラメータを使用してログアウトURLを指定できます。この方法であれば、ログアウトの構成を変更するためにアプリケーションの変更や再デプロイが必要になることがありません。 |
表15-1に、集中ログアウトが行われる状況を示します。
表15-1 集中ログアウトの状況
明示的 |
クライアントの状態が無効化されてセッションが終了。リソースに再度アクセスしようとする場合、クライアントは再認証を行わなければなりません。
|
暗黙的 |
定められたセッション・タイムアウト時間内にユーザー・アクティビティがなかった場合、そのユーザーは自動的にログアウトされてパートナにリダイレクトされ、新しいセッションIDが付与されて資格証明のために新しいプロンプトが表示されます。これは、リソースに対して低レベルの認証が構成されていない場合に実行されます。 OAM 11gの場合、logout.htmlにサーバー・ログアウトへの明示的なリダイレクトが指定されていないかぎり、10g Webgateが単にログアウトURLに遭遇しただけではユーザーはログアウトされません。OAM 11g Webgateは、サーバー・ログアウトへユーザーをリダイレクトします。 |
ログアウトURLが見つかり、Cookieが削除された場合(10g WebgateのObSSOcookie、11g WebgateのOAMAuthnCookie):Webgateがユーザーをログアウトさせて再認証を要求します。
注意: パートナ・アプリケーションと異なり、外部アプリケーション(Yahoo!Mailなど)はOAMに認証を委任せず、ログアウト制御をOAMシングル・サインオン・サーバーに引き渡すこともしません。これらのアプリケーションのログアウトはユーザーの責任となります。 |
この項の内容は次のとおりです。
この項では、アプリケーションを保護するOAM 11g Webgateで行われるサインアウト処理について説明します。
一般的に、OAM 11gサーバー使用時の集中ログアウトの際には、SSOエンジンがユーザー・セッションの有無を問う要求を受け取ります。セッション管理エンジンはユーザー・セッションを参照し、ユーザー・セッションが存在するという応答をします。SSOエンジンはユーザー・セッション削除要求を送信します。セッション管理エンジンはトークンとセッション・コンテキストを削除します。SSOエンジンはユーザー・セッション削除完了レスポンスを送信します。
ユーザー・トークンとセッション・コンテキストを削除するとサーバー側の状態が削除されますが、これにはサーバー側に設定されたOAM_ID Cookieを削除することが含まれます。エージェントに通知が行われると、エージェントはパートナ・アプリケーションのクライアント側状態を削除します。詳細は、「OAM 11gサーバー使用時の11g Webgateの集中ログアウト構成」を参照してください。
次のプロセス概要では、標準的なSSOエンジンとセッション管理エンジンによる集中ログアウト時の処理を要約して示します。
登録されたOAM 10g Webgateに対して構成されたlogout.htmlファイルがアプリケーションによって起動されると、ログアウトが開始されます。
一般的に、OAM 10g Webgate使用時の集中ログアウトの際には、SSOエンジンがユーザー・セッションの有無を問う要求を受け取ります。セッション管理エンジンはユーザー・セッションを参照し、ユーザー・セッションが存在するという応答をします。SSOエンジンはユーザー・セッション削除要求を送信します。セッション管理エンジンはトークンとセッション・コンテキストを削除します。SSOエンジンはユーザー・セッション削除完了レスポンスを送信します。
ユーザー・トークンとセッション・コンテキストを削除するとサーバー側の状態が削除されますが、これにはサーバー側に設定されたOAM_ID Cookieを削除することが含まれます。エージェントに通知が行われると、エージェントはパートナ・アプリケーションのクライアント側状態を削除します。詳細は、「OAM 11gサーバー使用時の10g Webgateの集中ログアウト構成」を参照してください。
IAMSuiteAgentはドメイン全体を対象とするエージェントで、IDM管理コンソールに単一のサインオン機能を提供します。IAMSuiteAgentは、Oracle Access Manager 11g Serverのインストールと構成の一部としてインストールされ、事前構成されています。
詳細は、「IAMSuiteAgentの集中ログアウト構成」を参照してください。
OSSOエージェント(mod_osso 10g)では、パートナ・アプリケーションはログアウト制御もOAMシングル・サインオン・サーバーに引き渡します。ユーザーが1つのパートナ・アプリケーションをログアウトすると、そのユーザーは自動的に他のすべてのパートナ・アプリケーションをログアウトします。
注意: OSSOエージェントを使用する既存アプリケーションのログアウトURL構成に変更を加える必要はありません。 |
プロセス概要: mod_ossoによる集中ログアウト
パートナ・アプリケーションで「ログアウト」をクリックすると、ログアウト用のページが表示されます。
ユーザーが正常にサインオフすると、集中ログアウト・ページにリストされた各アプリケーションのアプリケーション名の横にチェック・マークが表示されます。
アプリケーション名の横に壊れたイメージが表示された場合は、ログアウトが正常に行われなかったことを示します。
セッション内でアクティブにされたすべてのアプリケーションにチェック・マークが表示されると、「戻る」をクリックすればログアウトを開始したアプリケーションに戻ることができます。
ログアウト時にカスタムmod_ossoエージェントCookieを削除します。
Oracle Application Development Framework(Oracle ADF)セキュリティとOracle Platform Security Services(OPSS)は、Oracle WebLogic Serverのセキュリティ・フレームワークで構成されています。Oracle WebLogic Server上では、Oracle ADFセキュリティを使用するWebアプリケーション、Oracle Access Manager 11g SSOと統合化されたWebアプリケーション、およびユーザー認証にOPSS SSOを使用するWebアプリケーションを実行できます。
この状況でユーザーは、作業中の任意のアプリケーションをログアウトすることにより、シングル・サインオン・セッションを終了させてすべてのアクティブ・パートナ・アプリケーションを同時にログアウトできます。
詳細は、「OAM 11g使用時のADFコード・アプリケーションの集中ログアウト構成」を参照してください。
この項の内容は次のとおりです。
OAM 11g Webgate登録ページのいくつかの要素は、OAM 11g Webgateの集中ログアウトを可能にします。登録後はObAccessClient.xmlファイルに表15-2の情報が格納されます。
表15-2 OAM 11g Webgate登録のログアウト要素
OAM 11gに対する11g Webgateのログアウトを構成するには、logoutCallbackUrl
が必要です。11gエージェントの集中ログアウトはCookieを「loggedout」から空の状態にし、(空状態やログアウトされた状態のCookieのままにせずに)ログアウト時にOAMAuthnCookie_<host:port>_<random number> Cookieを期限切れにしてこれを明示的に削除します。
OAM 11g Webgateと10g Webgateはごく一部が異なるだけで、11gは「logoutCallbackUrl」
のURI部分のみを照合します。
SSOエンジンはOAMサーバー上の集中ログアウト・ページをサポートし、次の処理を行います。
ログアウト時に11g Webgateの「logoutCallbackUrl」をコールバックします。
ログアウト後に「end_url」(問合せパラメータとして渡される)へランディングします。
Webgateパラメータ「logoutCallbackUrl」
は構成可能です(たとえば/oam_logout_successとして)。host:portのないURIフォーマットを使用することをお薦めします。この場合OAM Serverは、オリジナル・リクエストのhost:portに基づいて完全なURLを動的に作成し、そこへコールバックします。
これはhost:portのある完全なURLフォーマットとすることもでき、この場合OAM 11gサーバーは、コールバックURLを再構築することなく直接コールバックします。
OAMサーバーはCookieを「loggedout」から空の状態に設定し、このCookieを空状態やログアウトされた状態のままにせずに、ログアウト時に期限切れにして明示的に削除します。
詳細は「11g Webgateの集中ログアウト構成」を参照してください。
OAM 11g Webgateの登録時には、次の手順を使用してOAM 11g使用時のログアウトを構成してください。
11g Webgateの集中ログアウト構成方法
登録の方法を選択します。
エージェント登録の作成や編集を行うときは、使用環境に適したログアウト値を含めてください(表15-2)。
注意: LogOutUrl パラメータがすでに(「/oamsso/logout.html」 以外の値によって)11g Webgate用に構成されている場合は、「/oamsso/logout.html」 もLogOutUrl パラメータの一部として存在することを確認します。 |
ログアウトURL
ログアウト・コールバックURL
ログアウト・リダイレクトURL
ログアウト・ターゲットURL
通常どおりエージェント登録を終了させます。
「グローバル・サインオンと集中ログアウトの検証」に示すステップを実行します。
IAMSuiteAgentは、OAM 11gサーバーに対して集中ログアウトを行うために必要なログアウト・パラメータによって事前構成されています。IAMSuiteAgentは10g Webgateに似ていますが、構成の必要があるlogout.htmlページがありません。かわりに、IAMSuiteAgentにはデプロイ済のアプリケーション(oamsso_logout)が同梱されており、エージェントはこれを使用してログアウトします。
IAMSuiteAgentのログアウト機能を使用するには、IAMSuiteAgentを使用するサーバー上にoamsso_logoutアプリケーションがデプロイされている必要があります。最初のインストール時には、このアプリケーションはAdminServerとOAMサーバーに追加されます。ただし、このアプリケーションのターゲット・サーバーを更新して、IAMSuiteAgentを使用しているすべてのサーバーを含めることが必要です。
IAMSuiteAgentのログアウトの構成手順
WebLogicサーバーの管理コンソールにログインします。
「ドメイン」→「デプロイメント」→「oamsso_logout」→「ターゲット」へナビゲートします。
IAMSuiteAgentが有効でログアウトが実行されるすべてのサーバーを選択します。たとえば、oim_server、oaam_admin、oaam_serverなどです。
「保存」をクリックします。
この項の内容は次のとおりです。
次のプロセス概要では、OAM 11gの集中ログアウト・プロセスを要約して示しますが、このプロセスが発生するのは、保護機能を果たすOAM 10g Webgateが構成されたWebサーバー上にアプリケーションがデプロイされた時です。
ログアウトは、登録されたOAMエージェント(この場合は10g Webgate)に対して構成されたlogout.htmlファイルがアプリケーションによって起動されると開始されます。
プロセス概要: OAM 11gサーバー使用時のWebgate 10gの集中ログアウト
アプリケーションが、OAM 10g Webgateに対して構成されたlogout.htmlファイルを起動します。
アプリケーションはend_url
も問合せ文字列としてlogout.htmlに渡します。end_urlパラメータはURIまたはURLとすることができます。次に例を示します。
/oamsso/logout.html?end_url=/welcome.html or /oamsso/logout.html?end_url=http://my.site.com/welcome.html
WebgateはそのドメインのObSSOCookieを削除して、logout.htmlスクリプトをロードします。
end_url
パラメータにhost:portが含まれていない場合、logout.htmlスクリプトはローカル・サーバーのhost:portを取得してend_url
パラメータをURLとして構成します。次に例を示します。
http://serverhost:port/oam/server/logout?end_url=http://my.site.com/ welcome.html
logout.html内のロジックがOAMサーバーにリダイレクトします。次に例を示します。
http://myoamserverhost:port/oam/server/logout?end_url=http://my.site.com/ welcome.html
OAMサーバーが次のようにログアウトを実行します。
サーバー側のユーザーに関連付けられたセッション情報をクリーン・アップします。
end_url
を確認して、コールバックURLを含むページをユーザーのブラウザに送信します。
コールバック・ページから、各Webgateの特定URIに対して新しいリクエストが開始されます。このリクエストが特定ドメインの特定Webgateに届くと、そのドメインのObSSOCookieは消去されます。
ユーザーは、ログアウト・スクリプト内のend_url
にリダイレクトされます。ただし、end_url
パラメータがない場合はOAMサーバーによって適切なメッセージが送信されます。
詳細は、「OAM 11gサーバー使用時のOAM 10gエージェントの集中ログアウトスクリプトについて」を参照してください。
OAM 10g Webgateでは、シングルおよびマルチ両方のDNSドメイン集中ログアウト処理にlogout.htmlスクリプトが必要です。logout.htmlは、実際にログアウトを行うJavaScriptsをアクティブにします。
注意: OAM 11g Webgateではlogout.htmlスクリプトを使用しないかわりに、「OAM 11gサーバー使用時の11g Webgateの集中ログアウト構成」に示すようにエージェント登録をさらに詳細に構成する必要があります。 |
例15-1は、ユーザー固有の環境に合わせて一定の行を編集することによりテンプレートとして使用できる、logout.htmlスクリプトです(編集の必要性についてはスクリプトの最上部に記述されています)。たとえば、SERVER_LOGOUTURL
を変更する必要があります。この例の後に追加的情報を示します。
例15-1 logout.htmlのスクリプト
<html> <head> <script language="javascript" type="text/javascript"> /////////////////////////////////////////////////////////////////////////////// //Before using, you need to change the values of: //a. "oamserverhost" to point to the host where the OAM 11g Server is running. //b. "port" to point to the port where the OAM 11g Server is running. /////////////////////////////////////////////////////////////////////////////// var SERVER_LOGOUTURL = "http://oamserverhost:port/oam/server/logout"; /////////////////////////////////////////////////////////////////////////////// function handleLogout() { //get protocol used at the server (http/https) var webServerProtocol = window.location.protocol; //get server host:port var webServerHostPort = window.location.host; //get query string present in this URL var origQueryString = window.location.search.substring(1); var newQueryString = ""; //vars to parse the querystring var params = new Array(); var par = new Array(); var val; if (origQueryString != null && origQueryString != "") { params = origQueryString.split("&"); for (var i=0; i<params.length; i++) { if (i == 0) newQueryString = "?"; if (i > 0) newQueryString = newQueryString + "&"; par = params[i].split("="); //prepare a new query string, if the end_url value needs to be changed newQueryString = newQueryString + (par[0]); newQueryString = newQueryString + "="; val = par[1]; if ("end_url" == par[0]) { //check if val (value of end_url) begins with "/" or "%2F" (is it an URI?) if (val.substring(0,1) == "/" || val.substring(0,1) == "%") { //modify the query string now val = webServerProtocol + "//" + webServerHostPort + val; } } newQueryString = newQueryString + val; } } //redirect the user to this URL window.location.href = SERVER_LOGOUTURL + newQueryString; } </script> </head> <body onLoad="handleLogout();"> </body> </html>
プロセス概要: logout.htmlのロジック
着信リクエストからホストとポートを取得します。
問合せ文字列からend_url
パラメータを取得します。
end_url
パラメータがURLでない場合は、logout.htmlスクリプトがタスク1のホストとポートを使用してURLを作成します。「logout.html内のend_urlパラメータのガイドライン」を参照してください。
OAMサーバーのログアウトURL(SERVER_LOGOUTURL)へのリダイレクト。例: http://myoamserver/host:port/oam/server/logout
プロセス2で作成したend_url
を問合せ文字列として使用。
問合せ文字列内の他のすべての問合せ文字列パラメータを保存。
logout.html内のend_urlパラメータのガイドライン
end_url
パラメータはURIまたはURLとすることができます。
end_url
問合せ文字列がホストとポートを持たないURIの場合、logout.htmlは、logout.htmlがホストされるWebサーバーのホストとポートを決定することによってURLを作成しなければなりません。次に例を示します。
http://myoamserverhost:port/oam/server/logout?end_url=http://my
.site.com/welcome.html
end_url
パラメータがホストとポートを持つURLである場合、logout.htmlスクリプトは、URLを作成しなおすことなくそのURLをそのまま渡します。
注意: ADFアプリケーションは、「Oracle ADFコード・アプリケーションの集中ログアウト構成」に示すように、ログアウト後にユーザーをどこへリダイレクトするかを示すend_url パラメータを渡す必要があります。
/<app context root>/adfAuthentication?logout=true&end_url=<any uri> |
logout.html内のログアウト・リンク指定方法を表15-3に示します。
次の手順では、OAM 11g使用時の10g Webgateの集中ログアウト構成方法を示します。
注意: オプションのタスクや、マルチDNSドメインのログアウトのみに必要なタスクは識別されているので、必要な場合以外はスキップできます。 |
第27章「OAM 11g使用時のOAM 10g Webgateの管理」には、WebLogic Serverドメイン内にアプリケーションをデプロイするためのステップを含む、簡単な手順が示されています。
タスクの概要: 10g Webgateの集中ログアウトの構成
デフォルトのログアウト・ページ(logout.html)を作成し、Webgateインストール・ディレクトリ上でそのページを使用できるようにします。
例15-1「logout.htmlスクリプト」に基づき、Webgate用のlogout.htmlを作成および編集します。
作成または編集したlogout.htmlスクリプトを次のディレクトリ・パスに保存します。
Webgate_install_dir/oamsso/logout.html
注意: logout.htmlを他の場所に置く場合は、エージェント登録時にログアウト・リンクを正しく指定してlogout.htmlファイルの正しい場所を参照するようにしてください。 |
必要に応じて次のステップを実行します。
次のように、それぞれのリソースWebgateに対してLogOutUrl
パラメータが構成されていることを確認します。
注意: LogOutUrl パラメータがすでに「/oamsso/logout.html」以外の値によって10g Webgate用に構成されている場合は、「/oamsso/logout.html」もLogOutUrl パラメータの一部として存在することを確認します。 |
<callBackUri
>が「logOutUrls」の一部として2つ目の値になっていることを確認します。
2つの値がカンマで区切られていることを確認します: "/oamsso/logout.html, <CallbackUri>"
logout.html(ステップ1)が、この集中ログアウトURI(OAM 11gサーバーの/oam/server/logout)へユーザーをリダイレクトすることを確認します。
オプション: 「logout.html内のend_urlパラメータのガイドライン」に示すように、アプリケーションが、ログアウト後にユーザーがリダイレクトされる場所を示すend_urlパラメータを渡せるようにします。
マルチDNSドメイン: SSO用に構成されたマルチDNSドメインがある場合は、次のステップを実行します。
注意: ログアウト・コールバックURLは各Webgateに固有のものにできますが、各Webgateに対してコールバックURLを作成するには、OAMサーバーに対して各ドメインの各Webgateのホストとポートを指定するだけで十分です。ログアウト・コールバックURLが参照するファイルは、Webgateのインストール・ディレクトリにあるlogout.htmlスクリプトとは異なるものであることが必要です。 |
<CallbackUri
>を、各リソースWebgate上のlogOutUrlsパラメータの2つ目の値として構成します。
<CallbackUri
>は、ドメイン内のobssocookieを消去するためのリクエストを送る必要があるWebgate上の場所です。<CallbackUri>をlogout.htmlとすることはできません。
ファイルが、<CallbackUri
>で示される場所(通常はlogout.htmlと同じ場所)にある各Webサーバー上に物理的に存在することを確認します。
たとえば、logout.htmlと同じ場所にlogout.pngという名前のファイルを構成する場合、logout.pngの<CallbackUri
>の値は次のようにする必要があります。
/oamsso/logout.png
10g Webgateを構成したOHS Webサーバー構成ファイルhttpd.confを確認し、次の行が存在する場合には削除します。
<LocationMatch "/oamsso/*"> Satisfy any </LocationMatch>
Oracle Access Manager SSOソリューションは、Oracle ADF標準およびOPSS SSOフレームワークに従ってコーディングされたアプリケーションに使用できます。OAM 11gでログアウトを実行するように構成されたADFコード・アプリケーションは、/oamsso/logout.htmlリソースにリダイレクトします。IAMSuiteAgentはリクエストのインターセプトと処理を行い、セッションをクリーン・アップし、集中ログアウトにリダイレクトして(OAMサーバーにより実行)再びend_urlにリダイレクトします。
関連項目: Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド |
注意: ADFアプリケーションの場合は、追加的な構成ステップが1つのみ必要です(OPSS用にOAMSSOProviderを構成)。 |
タスクの概要: OAM 11gによるADFアプリケーションの保護
次のどちらかを使用してADFコード・アプリケーションを保護します。
11g Webgate
10g Webgate
ADFコード・アプリケーション用に追加的な構成ステップを1つ実行します: 「OAM 11g使用時のADFコード・アプリケーションの集中ログアウト構成」の説明に従ってOAMSSOProviderを構成してください。
選択したWebgateのバージョンに合わせてログアウト構成ステップを実行します。
この項には次の項目が含まれていますが、Oracle ADF標準およびOPSS SSOフレームワークに従ってコーディングされたアプリケーションを使用しない場合はスキップできます。
ADFコード・アプリケーションとは、ADFと完全に統合化されたアプリケーション、またはADF認証サーブレットのみを使用してOPSSとの統合化を図るアプリケーションを言います。
この場合、ログアウトは、ADFアプリケーションがログアウトURIを呼び出した時に開始されます。次のプロセスは、Oracle ADF標準に従ってコーディングされたアプリケーションのOAM 11g集中ログアウト・プロセスの概要です。
プロセス概要: 10g Webgate使用時のADFアプリケーションの集中ログアウト
ADFアプリケーションは次のURIを呼び出します。
/<app context root>/adfAuthentication?logout=true&end_url=<any uri>
end_url
パラメータは、ログアウト後にアプリケーションが制御を戻すURIを指定します。
ADFは構成済のOPSS SSOプロバイダ(この場合はOAM)を起動し、ログアウトURIにリクエストをリダイレクトすることによって、構成済のログアウトURIにログアウト機能を委任します。end_url
の値は問合せ文字列としてログアウトURIに渡されます。例: /oamsso/logout.html?end_url=<end_uri>
ログアウトURIは、アプリケーションのフロントエンド処理を行うWebgateに呼び出されます。
10g Webgateはそのドメイン用のObSSOCookieを削除して、logout.htmlスクリプトをロードします。
end_url
パラメータにhost:portが含まれていない場合、logout.htmlスクリプトはローカル・サーバーのhost:portを取得してend_url
パラメータをURLとして構成します。次に例を示します。
http://serverhost:port/oam/server/logout?end_url=http://my.site.com/ welcome.html
logout.html内のロジックがOAMサーバーにリダイレクトします。次に例を示します。
http://myoamserverhost:port/oam/server/logout?end_url=http://my.site.com/ welcome.html
OAMサーバーが次のようにログアウトを実行します。
サーバー側のユーザーに関連付けられたセッション情報をクリーン・アップします。
end_url
を確認して、コールバックURLを含むページをユーザーのブラウザに送信します。
コールバック・ページから、各Webgateの特定URIに対して新しいリクエストが開始されます。このリクエストが特定ドメインの特定Webgateに届くと、そのドメインのObSSOCookieは消去されます。
ユーザーは、ログアウト・スクリプト内のend_url
にリダイレクトされます。ただし、end_url
パラメータがない場合はOAMサーバーによって適切なメッセージが送信されます。
次の手順は10g Webgateのログアウト構成と同様ですが、ADFコード・アプリケーション用のステップが含まれています。ADFコード・アプリケーションでは、ログアウト処理後にユーザーをどこへリダイレクトするかを明らかにするためにend_url
の値を送らなければなりません。ただしADFコード・アプリケーションでは、アプリケーションが次のURIを呼び出した時にログアウトが行われます。
/<app context root>/adfAuthentication?logout=true&end_url=<any uri>
注意: Applcore f/wは前述のURLのトリガーを容易にでき、ADFアプリケーションはこれを利用することができます。 |
この手順の一部のステップにはWebLogic Scripting Tool(WLST)が必要で(Linuxではwlst.sh、Windowsではwlst.cmd)、これはWLST_install_dirから呼び出す必要があります。
関連項目:
|
ADFコード・アプリケーションの集中ログアウト構成方法
管理者にエージェントで構成されたlogout.htmlスクリプトの場所を確認します。それには、次の手順を実行する必要があります。
次のように、OAM用のOPSSをSSOプロバイダとして構成し、WebLogic管理ドメインのjps-config.xmlを更新します。
Oracle ADFセキュリティを使用してOracle WebLogic ServerとWebアプリケーションをホストしているコンピュータ上で、Oracle JRF WLSTスクリプトの場所を確認します。次に例を示します。
cd $ORACLE_HOME/oracle_common/common/bin
Oracle WebLogic Serverをホストしているコンピュータに接続し、管理者IDとパスワード、およびWebLogic AdminServerのホストとポートを入力します。
wls:/> /connect('admin_ID', 'admin_pw', 'hostname:port'
たとえば、Oracle WebLogic Administration Serverホストは、ポート7001
を使用するlocalhost
とすることができます。ただし、実際に使用している環境では異なることもあります。
管理者にエージェントで構成されたlogout.htmlスクリプトの場所を確認します。
ステップdでは、管理者の提供する値を使用する必要があります。ここで、logouturi
の値はログアウト・スクリプト/logout.htmlのURIです。この値は「logout」で始めるか(logout.gifとlogout.jpgは例外)、管理者が構成した別の値にすることもできます。
ADF認証用のloginuriとlogouturiを入力します(エージェントによって構成されたlogout.htmlスクリプトの場所)。ホストとポートは必要ありません。
wls:/>addOAMSSOProvider(loginuri="/${app.context}/adfAuthentication", logouturi="/oamsso/logout.html", autologinuri="/obrar.cgi")
ここで、loginuri=/${app.context}/adfAuthentication、logouturivalはログアウト・スクリプト/logout.htmlのURIです。logouturlは「logout」で始めるか(logout.gifとlogout.jpgは例外)、管理者が構成した別の値にすることもできます。
必須: 次に示すように、ADFアプリケーションは、ログアウト後にユーザーをどこへリダイレクトするかを示すend_urlパラメータを渡さなければなりません。
end_url
パラメータにhost:portが含まれていない場合、logout.htmlスクリプトはローカル・サーバーのhost:portを取得してend_url
パラメータをURLとして構成します。次に例を示します。
http://serverhost:port/oam/server/logout?end_url=http://serverhost:port/ welcome.html
OAM 11g Webgate: 「11g Webgateの集中ログアウト構成」の手順を実行します。
OAM 10g Webgate: 「OAM 11g使用時の10g Webgateの集中ログアウト構成」の手順を実行します。
ユーザーのログアウト時、認証レスポンス設定によってOAMサーバーで設定されたカスタムCookieの一部が削除されない場合があります。ただし、oam-config.xmlを編集して、ユーザーがOAMからログアウトするときに、認証中に設定されたカスタムCookieを削除するようにOAMサーバーを構成できます。たとえば、Oracle E-Business Suiteと統合している場合、アプリケーションでORASSO_AUTH_HINT Cookieが設定され、CookieNames
リストに含まれている必要があります(UCM Cookieなど)。
構文(PluginClass" Type=
...)の下:
<Setting Name="CookieDelMap" Type="htf:map"> <Setting Name="CookieNames" Type="xsd:string">COOKIE_NAME</Setting> </Setting>
次の手順に従ってCookieDelMap要素を編集し、ユーザーのログアウト時に削除するCookieNamesを単独の値として、またはカスタムCookieのカンマ区切りリストとして追加します。この手順では、oam-config.xmlファイル・バージョンを増分して、変更をすべての管理対象サーバーに再起動なしで伝播する方法も説明しています。
注意: 作業は慎重に行ってください。通常、oam-config.xmlファイルは編集しないことをお薦めしています。これは数少ない例外です。 |
ログアウト時にカスタムmod_osso Cookieを削除する手順
DOMAIN_HOME/config/fmwconfig/oam-config.xmlをバックアップします。
oam-config.xmlで、CookieDelMap
要素およびCookieNames
を追加(または編集)します。次に例を示します。
<Setting Name="ResponsePluginSetting" Type="htf:map">
<Setting Name="PluginClass" Type=... </Settings>
<Setting Name="CookieDelMap" Type="htf:map">
<Setting Name="CookieNames" Type="xsd:string">ORASSO_AUTH_HINT
</Setting>
</Setting>
</Setting>
構成バージョン: 次に示すように、Version xsd:integer
をこの例の最終行の値まで増分します(既存の値(ここでは25) + 1)。
次に例を示します。
<Setting Name="Version" Type="xsd:integer">
<Setting xmlns="http://www.w3.org/2001/XMLSchema"
Name="NGAMConfiguration" Type="htf:map:>
<Setting Name="ProductRelease" Type="xsd:string">11.1.1.3</Setting>
<Setting Name="Version" Type="xsd:integer">25</Setting>
</Setting>
ファイルを保存します。
この項の内容は次のとおりです。
シングル・サインオンによるグローバル・ログインの監視には次の手順を使用します。
前提条件
エージェントとサーバーがOAM 11gによって登録され、実行されていなければなりません。
OAM 11gアプリケーション・ドメイン内で、SSOを制御するリソースとポリシーを定義しなければなりません。
グローバル・サインオンの監視方法
保護されたリソースのURLをブラウザに入力し、正しい資格証明を使用してサインインします。
他の保護リソースのURLを入力して、再認証を求められないことを確認します。
次の手順を使用して、同じ認証レベルを持つ様々なアプリケーションとエージェントによるシングル・サインオンによるグローバル・ログインを監視します。
たとえば、次の場所に次のパートナがあるものとします。
OSSOパートナ、http://
host1.example.com:7777/private/index.html
、mod_ossoを使用して保護
Webgateパートナ、http://
host2.example.com:8888/mydomain/finance/index.html
、OAMエージェントを使用して保護
同じブラウザ・セッション内で、1回のサインインにより、どちらかのエージェントによって保護されたすべてのアプリケーションにアクセスできます。
前提条件
エージェントとサーバーがOAM 11gによって登録され、実行されていなければなりません。
OAM 11gアプリケーション・ドメイン内でリソースとポリシーを定義しなければなりません。
どちらのパートナも、同じ認証レベルで保護されていなければなりません。
この章の説明に従ってシングル・サインオンが構成されていなければなりません。
様々なエージェント・タイプによるグローバル・サインオンの監視方法
OSSOエージェントに保護されたアプリケーション:
ブラウザから、OSSOで保護されたリソースのURLを入力します。
ログイン・ページが表示されること、および正しい資格証明でサインインできることを確認します。
保護されたリソースを使用できることを確認します。
同じブラウザ・セッションを維持して、ステップ2に進みます。
同じブラウザ・セッション、OAMエージェントに保護されたアプリケーション:
ステップ1と同じブラウザ・セッションで、OAMエージェントに保護されたリソースのURLを入力します。
保護されたリソースを使用できることと、ログイン・ページが表示されないことを確認します。
ブラウザ・セッションをログアウトします。
新しいブラウザ・セッション、OAMエージェントに保護されたアプリケーション:
新しいブラウザ・セッションで、OAMに保護されたリソースのURLを入力します。
ログイン・ページが表示されること、および正しい資格証明でサインインできることを確認します。
保護されたリソースを使用できることを確認します。
同じブラウザ・セッションを維持して、ステップ5に進みます。
同じブラウザ・セッション、OSSOエージェントに保護されたアプリケーション:
ステップ4と同じブラウザ・セッションで、OSSOエージェントに保護されたリソースのURLを入力します。
保護されたリソースを使用できることと、ログイン・ページが表示されないことを確認します。
次の手順を使用して集中ログアウトを監視します。
OAMエージェントの場合はログアウトURLがサーバーへのリダイレクトを行い、その後の要求によってCookieが特定されないようにCookieが消去されて無効化されます。
mod_ossoの場合は、各エージェントがそのCookieを破棄します。ログアウトURLがサーバー上のグローバル・ログアウト・ページへのリダイレクトを行い、各パートナがそのサーバーにCookieを送ります。
前提条件
エージェントが登録されて実行されていなければなりません。
リソースはOAM 11gアプリケーション・ドメインによって保護されていなければなりません。
シングル・サインオンは、OAM 11gアプリケーション・ドメイン内で、認証と認可のためのポリシーと応答によって構成されていなければなりません。
集中ログアウトの監視方法
1つのアプリケーション:
ブラウザから、保護されたリソースのURLを入力します。
ログイン・ページが表示されること、および正しい資格証明でサインインできることを確認します。
保護されたリソースを使用できることを確認します。
新しいブラウザ・タブまたはウィンドウを開いて同じリソースにアクセスし、2回目のアクセス時に新たなログインが要求されないことを確認します。
1つのタブからログアウトします。
もう一度そのリソースにアクセスして、ログイン・ページが表示されることを確認します。
2つのアプリケーション:
ブラウザから、保護されたリソースのURLを入力します。
ログイン・ページが表示されること、および正しい資格証明でサインインできることを確認します。
新しいタブまたはウィンドウで、別の保護されたアプリケーションにアクセスし、2つ目のアプリケーションで新たなログインを要求されないことを確認します。
1つ目のアプリケーションからログアウトします。
2つ目のアプリケーションにアクセスして、ログイン・ページが表示されることを確認します。