ヘッダーをスキップ

Oracle HTTP Server 管理者ガイド
10g(10.1.3.1.0)

B31847-01
目次
目次
索引
索引

戻る 次へ

B Oracle Application Server SSO Plug-inの使用

この付録では、Oracle Application Server SSO Plug-in(OracleAS SSO Plug-in)を使用してサード・パーティのHTTPリスナーとそのアプリケーションを保護する方法について説明します。OracleAS SSO Plug-inは、UNIXおよびWindowsシステムの場合はSun ONE Web Server Enterprise Edition、Windowsシステムの場合はMicrosoft Internet Information Server(IIS)で動作します。

関連資料

詳細な動作保証情報は、http://www.oracle.com/technology/products/ias/ohs/htdocs/plugincerts.htmlを参照してください。  

内容は、次のとおりです。

概要

OracleAS SSO Plug-inは、Sun ONEやIISなどのサード・パーティのリスナーに対するオラクル社のシングル・サインオン(SSO)ソリューションです。このプラグインは、サード・パーティ製リスナー・アプリケーションを、SSOインフラストラクチャを使用して保護するように設計されています。OracleAS SSO Plug-inにより、ユーザーはSSOパスワード1つで様々なサード・パーティ製リスナー・アプリケーションに対する認証を受けることができます。このようにSSOで保護されたサード・パーティ製リスナー・アプリケーションは、同一のSSOサーバー上で保護されているかぎり、SSO対応のOracle HTTP ServerアプリケーションやOracle SSO対応のアプリケーションと統合できます。

OracleAS SSO Plug-inはmod_ossoの簡易版で、その基本機能の一部のみを実装しています。動的認証、グローバル・ログアウト、アイドル・タイムアウトとグローバル・タイムアウトおよびレガシー・アプリケーションのBasic認証などの機能は、現行リリースのOracleAS SSO Plug-inには実装されていません。

図B-1は、OracleAS SSO Plug-inで保護されたURLのリクエスト時に必要な処理を示しています。

図B-1    OracleAS SSO Plug-in


画像の説明

  1. ユーザーがWebブラウザ経由でURLをリクエストします。

  2. Webサーバーは、そのユーザー用のOracleAS SSO Plug-inCookieを検索します。Cookieが存在する場合、Webサーバーはそのユーザーの情報を抽出し、その情報を使用してリクエストされたアプリケーションにユーザーをログインします。

  3. Cookieが存在しない場合、OracleAS SSO Plug-inはそのユーザーをシングル・サインオン・サーバーにリダイレクトします。

  4. シングル・サインオン・サーバーは、ブラウザ内でそれ自身のCookieを検索します。Cookieが見つからない場合は、ユーザー名とパスワードでユーザーの認証を試みます。認証に成功した場合、シングル・サインオン・サーバーはユーザーが認証されたことの印としてブラウザ内にCookieを作成します。Cookieが存在する場合は、そのCookieを使用して認証します。

  5. シングル・サインオン・サーバーは、暗号化されたユーザー情報をOracleAS SSO Plug-inに返します。

  6. OracleAS SSO Plug-inはユーザーに対する独自のCookieをブラウザ内に作成し、リクエストされたURLにユーザーをリダイレクトします。

    同じセッション内でユーザーが再度同一または異なるアプリケーションへのアクセスを試みた場合、そのユーザーはユーザー名とパスワードの入力を求められず、アプリケーションはHTTPヘッダーを使用してOracleAS SSO Plug-inのセッションCookieからこの情報を取得します。

OracleAS SSO Plug-inのダウンロード

OracleAS SSO Plug-inは、Oracle Application Server 10g Companion CDに含まれています。このCDは、Oracle Application ServerのCDパックに含まれています。

OracleAS SSO Plug-inのインストール

Oracle Application ServerがインストールされているマシンにOracleAS SSO Plug-inをインストールします。このサーバーは、ネットワークおよびセキュリティに依存するライブラリとシングル・サインオン登録ツールに対してのみ必要で、実行中である必要はありません。UNIXシステムにOracle Application Serverをインストール後、リスナーの起動スクリプトのLD_LIBRARY_PATHORACLE_HOME/libを追加します。たとえば、Sun ONEのstartスクリプトがその例です。Windowsシステムの場合、インストールにより自動的に環境変数PATHが設定されます。たとえば、ORACLE_HOME¥binが設定されます。

必要なプラグインをダウンロードまたはコピーして、構成ファイルと共有ライブラリをサード・パーティのリスナーがアクセスできるディレクトリに格納します。セキュリティ上の理由から、すべての構成ファイルとプラグイン・モジュールに最小限の権限を与えます。

Oracle Application Server 10g Companion CDでは、ファイルは、UNIXの場合は/plugins/solaris/、Windowsの場合は¥plugins¥win32¥にあります。

表B-1に、OracleAS SSO Plug-inの共有ライブラリに関する情報を示します。

表B-1    OracleAS SSO Plug-inの共有ライブラリ 
プラットフォーム  ファイル名  場所および説明  手順 

UNIX 

oracle_proxy.so 

oracle_proxy.soは、Sun ONEのWebリスナー用のOracleAS SSO Plug-inファイルです。このファイルは、/plugins/solaris/sunoneディレクトリにあります。 

プラグインをリスナーにインストールするには、oracle_proxy.soを、リスナーが読取り権限と実行権限を付与されているディレクトリに格納します。 

Windows 

oracle_osso.dll 

oracle_osso.dllは、IISのWebリスナー用のOracleAS SSO Plug-inファイルです。このファイルは、¥plugins¥win32¥iisディレクトリにあります。 

プラグインをリスナーにインストールするには、リスナーがアクセスできるディレクトリにoracle_osso.dllをコピーします。 

oracle_proxy_sunone.dll 

oracle_proxy_sunone.dllは、Sun ONEのWebリスナー用のOracleAS SSO Plug-inファイルです。このファイルは、¥plugins¥win32¥sunoneディレクトリにあります。 

プラグインをリスナーにインストールするには、oracle_proxy_sunone.dllを、リスナーが読取り権限と実行権限を付与されているディレクトリにコピーします。 

シングル・サインオンへの登録

シングル・サインオンの登録処理により、シングル・サインオン・サーバーとリスナーは、通信の前に、サーバーの位置、プロトコルのバージョンおよび共通暗号鍵などの情報を共有できるようになります。登録処理後、この情報はシングル・サインオンのパートナ・アプリケーション・エントリとしてシングル・サインオン・サーバー側に格納されます。リスナー側には、sso_confというシングル・サインオン・ファイルが作成されます。sso_confはセキュリティの目的で不明瞭化されています。このファイルをリスナーがアクセスできるように適切な場所にコピーします。

オラクル社では、この処理を自動化するJavaベースのシングル・サインオン登録ツールを提供しています。

シングル・サインオン登録ツールの使用

次のコマンドを使用して、サード・パーティのリスナーをシングル・サインオン・サーバーに登録します。

ORACLE_HOME/jdk/bin/java -jar ORACLE_HOME/sso/lib/ossoreg.jar [arguments]

ORACLE_HOMEは、使用しているOracle Application Serverインストールのホーム・ディレクトリです。LD_LIBRARY_PATHは、必ず$ORACLE_HOME/lib32が含まれるように設定してください。


注意

このツールは、使用するリスナーが常駐しているのと同じマシン上でのみ使用できます。また、結果として生成されるシングル・サインオン構成ファイルも同じマシン上に直接生成される必要があります。シングル・サインオン構成ファイルを異なるマシンにコピーしないでください。 


ossoreg.jarのバージョンが異なると、コマンドの引数がまったく異なる場合があります。必要であれば、-helpを使用してコマンドを実行し、使用方法についての完全な情報を取得してください。

Single Sign-On Registrarの一般的なコマンド引数

表B-2に、SSO Registrarの一般的なコマンド引数のうち重要なものをいくつか示します。

表B-2    SSO Registrarのコマンド引数 
引数  説明 

-oracle_home_path  

Oracle Application ServerインストールのOracleホームへの絶対パスです。 

-site_name 

サイト名です。通常は連続する文字列host:portとして表します。  

-ssoDBConnect  

シングル・サインオン・データベースのJDBC接続文字列です。 

-pass 

ORASSO_PAパスワードです。 

-mod_osso_url 

http://<listener_hostname.domain>:port 

-admin_id 

サード・パーティの管理者のユーザー名です。この引数はオプションです。  

-admin_info 

管理者のユーザー名に関連する情報です(電子メールのアドレスなど)。この引数はオプションです。  

-config_ mod_osso 

TRUEに設定します。このパラメータは、登録するアプリケーションがmod_ossoであることを示します。この引数は、sso_confファイルを生成するためには必須です。  

-u 

サード・パーティのリスナーの起動に使用されるアカウントの名前を指定します。たとえば、Sun ONEの場合はmagnus.conf、IISの場合はSYSTEMに指定されたUserの値を使用します。デフォルトは、SSO Registrarツールを実行するユーザーです。 

-sso_server_version 

v1.2に設定する必要があります。  

-virtualhost 

この引数は必ず含めます。 

-config_file 

不明瞭化された最終的なシングル・サインオン構成ファイルのパスを指定します。$ORACLE_HOMEの下に設定する必要があります。デフォルトは次の値に設定されます。

  • UNIXの場合: ORACLE_HOME/Apache/Apache/conf/osso.conf

  • Windowsの場合: ORACLE_HOME¥Apache¥Apache¥conf¥osso.conf

 

例B-1    Single Sign-On Registrarの一般的なコマンド引数の使用

UNIXの場合:

ORACLE_HOME/jdk/bin/java -jar ORACLE_HOME/sso/lib/ossoreg.jar \
-ssoDBConnect <host.domain>:1521:iasdb -pass your_password \
-oracle_home_path ORACLE_HOME -site_name <host.domain>:7778 \
-config_mod_osso TRUE -mod_osso_url http://<host.domain>:7778 \
-u nobody -admin_id admin_name -admin_info admin@company.com \
-sso_partner_version v1.2 \
-virtualhost \
-config_file ORACLE_HOME/Apache/Apache/conf/osso/sso_conf 

Windowsの場合:

ORACLE_HOME/jdk/bin/java -jar ORACLE_HOME/sso/lib/ossoreg.jar \
-ssoDBConnect <host.domain>:1521:iasdb -pass your_password \
-oracle_home_path ORACLE_HOME -site_name <host.domain>:8080 \
-config_mod_osso TRUE -mod_osso_url http://<host.domain>:8080 \
-u SYSTEM -admin_id admin_name -admin_info admin@company.com \
-sso_partner_version v1.2 \
-virtualhost \
-config_file ORACLE_HOME/Apache/Apache/conf/osso/sso_conf 

OracleAS SSO Plug-inの構成

osso_plugin.confなどのプラグイン構成ファイルを作成します。これは、プラグインの全機能を定義したファイルです。ossoプロパティ・ファイルとも呼ばれます。構文は、すべてのサード・パーティのリスナーで同一です。このファイルは、サード・パーティのリスナーが読取り可能なディレクトリに置く必要があります。このファイルには次の内容も含まれます。

OracleAS SSO Plug-inの構成ディレクティブ

表B-3に、OracleAS SSO Plug-inの構成ディレクティブを示します。

表B-3    SSO Plug-inの構成ディレクティブ 
ディレクティブ名  機能 

LoginServerFile 

SSO登録処理で得られるsso.confなどのSingle Sign-On Server構成ファイルの場所を指定します。このディレクティブの名前はLogin Serverからとったものですが、Login Serverは歴史的な理由で現在ではSingle Sign-On Serverと呼ばれています。

これはグローバル・パラメータであり、リソース単位では使用しないでください。つまり、用意するSingle Sign-On Server構成ファイルは1つのみです。

  • パラメータ・タイプ: 文字列

  • 使用可能な値: Single Sign-On Server構成ファイルのフルパス(たとえばsso_conf

  • デフォルト値: なし。SSOプラグインが機能できるように、Single Sign-On Server構成ファイルの正確な位置を指定する必要があります。

  • 例: LoginServerFile=/path/config/sso_conf

 

IpCheck 

Cookieの検査時に、SSO Plug-inで各リクエストのIPアドレスをチェックする必要があるかどうかを指定します。有効な値はtrueとfalseです。IpCheckをtrueに設定すると、Cookieの盗難を防止できます。

  • パラメータ・タイプ: ブール

  • 使用可能な値: true/false

  • デフォルト値: false

  • 例: IpCheck=true

    注意: Sun ONEサーバーとクライアントのブラウザ間にプロキシ・サーバーまたはファイアウォールがある場合は、IpCheckをfalseに設定してください。

 

HardTimeout 

使用不可。 

リソースの保護

リソースの保護には次のフォーマットを使用します。

<OSSO url-matching-rule>
  SSO_configuration_directives
</OSSO>

url-matching-ruleの定義には次のルールを使用します。

ルール名  説明 

完全一致 

このオプションでは、ファイルを保護対象リソースとして識別します(例: /examples/Hello.html)。 

コンテキスト一致 

このオプションでは、ディレクトリを保護対象リソースとして識別します(例: /examples/*)。 

拡張子一致 

このオプションでは、特定のディレクトリ内で特定の拡張子を持つファイルを保護対象リソースとして識別します(例: /examples/*.jsp)。  

同じURLに複数のルールを適用すると、次の優先順位が適用されます。

  1. 完全一致

  2. 最長のコンテキスト一致と拡張子一致

  3. 最長のコンテキスト一致

優先順位の例を次に示します。

/foo/bar/index.html would take precedence over /foo/bar/* 
/foo/bar/*.jsp would take precedence over /foo/bar/* 
/foo/bar/* would take precedence over /foo/*

例B-2    簡単なシングル・サインオン構成ファイルosso_plugin.conf

LoginServerFile=/path/sso_conf <OSSO /private/hello.html> IpCheck = false </OSSO> <OSSO /private1/*> </OSSO> <OSSO /private2/*.jsp> IpCheck = true </OSSO>

Single Sign-On用のSun ONEリスナーの構成

この項では、UNIXおよびWindowsシステム上のSun ONEリスナーに関するOracleAS SSO Plug-inの構成手順について説明します。


注意

Windows上でSun ONEリスナーを構成する場合は、すべてのパスにスラッシュ(/)を使用してください。  


  1. Sun ONEリスナーの/configディレクトリで、magnus.confファイル(バージョン6)またはobj.conf(バージョン4)を開きます。

  2. load-modules行を追加します。

    UNIXの場合:

    Init fn="load-modules" shlib="/path/oracle_proxy.so" 
    funcs="osso_init,oracle_single_sign_on,osso_redirect_service,osso_success_service"
    

    Windowsの場合:

    Init fn="load-modules" shlib="/path/oracle_proxy_sunone.dll" 
    funcs="osso_init,oracle_single_sign_on,osso_redirect_service,osso_success_service"
    

    /path/は、プラグインの共有ライブラリへのパスです。この行では、リスナーに対してプロキシ共有ライブラリの格納場所と、このライブラリで公開されているファンクションが示されています。

  3. 構成パラメータ行を追加します。

    Init fn="osso_init" osso_properties="/path/osso_plugin.conf" 
    log_file="/path/plugin.log" log_level=error
    

    /path/osso_plugin.confは、作成したプラグイン構成ファイルの正確な場所です。また、この行では、プラグインからのメッセージを記録するための、ログ・ファイルとログ・レベルも指定できます(オプション)。

  4. obj.confファイルの<Object name=default>セクションで、他のすべての行の前に次の行を追加します。

    AuthTrans fn="oracle_single_sign_on"
    
  5. <Object name=default>セクションで、Serviceで始まる他のすべての行の前に次の行を追加します。

    Service type="oracle/sso_redirect" fn="osso_redirect_service"
    
  6. /path/がドキュメント・ルートのパスになっている次の行を追加します。たとえば、/home/Sun ONE/docs/または$docrootです。

    <Object ppath="/path/osso_login_success">
      Service fn="osso_success_service"
    </Object>
    
  7. 起動スクリプト内でLD_LIBRARY_PATH変数を変更し、ORACLE_HOME/lib32の場所を含めます。ORACLE_HOMEはOracle Application Serverインストールのホーム・ディレクトリです。

  8. リスナーを再起動します。

Sun ONE Enterprise Serverバージョン6.0の使用上の注意

バージョン6.0の場合は、バージョン4.1と同じ共有ライブラリを使用できます。構成は実質的には同じですが、Sun ONEの構成ファイルはバージョン6.0で少し変更されています。このバージョンでは、追加対象となるInitで始まる2行を、obj.confファイルではなくmagnus.confファイルの末尾に追加する必要があります。obj.confに追加する別の2行は、旧バージョンと同じです。

Single Sign-On用のIISリスナーの構成

この項では、OracleAS SSO Plug-inを使用するためのIISリスナーの構成手順について説明します。このプラグインは、単一の.dlloracle_osso.dll)で構成されています。このプラグインをインストールするには、IISが常駐するホストに.dllをコピーして、次の手順を実行します。

  1. レジストリを編集し、新規のレジストリ・キーHKEY_LOCAL_MACHINE¥SOFTWARE¥Oracle¥IIS OSSO Adapterを作成します。

  2. 作成したプラグイン構成ファイルの正確な場所を指定します。たとえば、d:¥osso¥osso_plugin.confは、名前cfg_fileを含む文字列値と、構成ファイルの場所を示す値を追加することにより指定します。

  3. log_filelog_levelを指定します。このパラメータはオプションです。

    1. 名前log_fileとログ・ファイルの格納場所を指定する文字列値を追加します。たとえば、d:¥ossoplugin.logです。

    2. 名前log_levelと必要なログ・レベルを指定する文字列値を追加します。有効な値は、debuginformerrorおよびemergencyです。

  4. IIS管理コンソールを使用し、oracle_osso.dllと同じ物理パスを指定して、IIS Webサイトに新規の仮想ディレクトリを追加します。ディレクトリ名としてossoを指定し、実行アクセス権限を付与します。

  5. IIS管理コンソールを使用し、IIS Webサイトにフィルタとしてoracle_osso.dllを追加します。フィルタ名はossoとし、その実行可能ファイルはoracle_osso.dllを含むディレクトリ(d:¥osso¥oracle_osso.dllなど)を指す必要があります。

  6. IISを停止してから起動し、フィルタが緑の上矢印でマークされていることを確認します。


    注意

    • IISを再起動するには、コントロール パネルですべてのIISサービスを停止するか、コンピュータを再起動する必要があります。.dllを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でIISを再起動する方法では不十分です。

    • 同じホームに複数のOracleインストールが必要な場合、OracleAS SSO Plug-inとともに使用するインストールのORACLE_HOME¥bin PATHエントリが、PATHの先頭になるように指定してください。

     

トラブルシューティング

この項では、一般的な問題および考えられる原因について説明します。

Oracle依存性ライブラリが見つからない場合

OracleAS SSO Plug-inが必要なライブラリを見つけられませんでした。原因としては、UNIXのLD_LIBRARY_PATHORACLE_HOME/libが含められていないことが考えられます。Windowsでは、PATHORACLE_HOME¥binが含められていません。

シングル・サインオン・サーバー構成ファイルの不明瞭化解除に失敗した場合

シングル・サインオン・サーバー構成ファイル(たとえばsso_conf)は特定のアカウントを使用して不明瞭化されており、このアカウントはリスナーの起動に使用されたアカウントである必要があります。たとえば、Sun ONEの場合はmagnus.conf、IISの場合は通常はSYSTEMに指定されたUserの値を使用します。

IIS Oracle Application Server OracleAS SSO Plug-inがHTML認証で機能しない場合

OracleAS SSO Plug-inは、他の認証モジュールと連動しない設計になっています。これは、ネイティブなリスナー認証モジュールまたはサード・パーティ・モジュールのいずれかです。


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引