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

前
次

58.9 Webサービスへのアクセスを保護するためのログイン・モジュールの構成

Webサービス・プロバイダは、Webサービスの呼出しにセキュリティを適用するために、着信WebサービスSOAPメッセージを捕捉して処理する様々なメカニズムの1つを提供する場合があります。

このタスクには、次の項で説明するように、サーバー側とクライアント側の両方の構成が含まれます。

58.9.1 Webサービスへのアクセスを保護するためのサーバーの構成

Webサービスへのアクセスを保護するためのサーバーの構成には、エージェント登録アーティファクトをコピーし、Webサービス・セキュリティのためのAccess Manager JAAS準拠のログイン・モジュールをJBossサーバーのログイン構成ファイルに追加することが含まれます。

ノート:

前のステップで構成したエージェントをまたは新規エージェントのいずれかを使用できます。新規エージェントを使用するには、ObAccessClient.xmlをJBossホスト上の/agentディレクトリからこのホスト上の別のディレクトリにコピーする必要があります。

Webサービスの作成には複数のフレームワークの任意のものを使用できるため、Webサービスを構成またはデプロイする特定の詳細を示すことはしません。JBossコンテナ上にデプロイされるWebサービスのプロバイダは、次の一般的なガイドラインに従う必要があります。

  • OAM SSOトークンを取得するためにクライアントによって挿入された特定のヘッダーを探す機能を組み込む。

  • OAM SSOトークンを検証するためにOAM JAASログイン・モジュールを使用する。

  • 任意のEJBセッションBeanがWebサービスとして公開されている場合、JBoss固有のJAASログイン・モジュールClientLoginModuleを使用して、OAMトークンをEJBコンテナに伝播する必要がある。

Webサービスへのアクセスを保護するためにサーバーを構成するには、次の手順を使用します。

  1. ObAccessClient.xmlを次のようにコピーします(どちらか)。
    • 既存のエージェント: JBossホスト上の場所からエージェント・ホスト上の別のディレクトリ。

    • 新規エージェント: $MW_HOME/middleware/user_projects/domains/base_domain/output/agent_nameからエージェント・ホスト上の別のディレクトリ。

  2. Webサービス(理想的には.wsddファイル)を使用してSOAPハンドラを登録します。

    WSスタブが作成されアプリケーションのWEB-INFフォルダ内に配置されるときに、.wsddファイルが生成されます。

  3. JBossサーバーのログイン構成ファイルを編集して、次のようにWebサービス・セキュリティのためにAccess Manager JAAS準拠のログイン・モジュールのエントリを追加します。

    JBoss_install_dir\server\default\conf\login-config.xml

    <application-policy name="WSRealm">
      <authentication>
        <login-module code="oracle.security.am.agent.common.jaas.login.OAMLoginModule"
          flag="required">
          <module-option name="loginType">tokenBased</module-option>
          <module-option name="configPath">D:/agentconfig</module-option>
          <module-option name="rolesParam">OAM_GROUPS</module-option>
          <module-option name="publicAuthnResourceName">/Authen/Basic</module-option>
          <module-option name="publicAuthzResourceName">/Authen/SSOToken</module-option>
        </login-module>
      </authentication>
    </application-policy>
    
  4. JBossサーバーのログイン構成ファイルを保存します。
  5. アプリケーションをデプロイします。
  6. 次のコマンドを使用してJBossを起動します。
    JBoss_install_dir\bin\run –b 0.0.0.0 
    

    「localhostではなくホスト名にアクセスするためのJBossサーバーの構成」を参照してください。

  7. 「Webサービスへのアクセスを保護するためのクライアントの構成」に進みます。

58.9.2 Webサービスへのアクセスを保護するためのクライアントの構成

OAMサーバーとのユーザー認証を構成し、SOAPメッセージに対して、SSOトークンを含むセキュリティ・ヘッダー・エレメントを作成します。

理想的には、このステップは、Webサービス・メソッドを呼び出す前に実行します。つまり、このコードは、Webサービスの呼出し中にクライアント・コードに追加する必要があります。

構成するには、次のようにします。

  1. WSクライアント上: OAMサーバーとのユーザー認証を実行し、SOAPメッセージに対して、SSOトークンを含むセキュリティ・ヘッダー・エレメントを作成します。
  2. 通常どおりにWebサービスを呼び出します。
  3. 「JBossエージェントおよびログイン・モジュールのためのロギングの構成」に進みます。