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

前
次

58.6 JBossエージェントによるWebアプリケーションの保護

この項では、JBossエージェントとWebアプリケーションを保護するために必要な次のタスクを説明します。この項を開始する前に、アプリケーションを通常どおりにデプロイします。

58.6.1 JBossエージェントの構成プロパティの作成

Jbossエージェント登録アーティファクトをAdminServerからJBossホストにコピーし、後で参照するフィルタ構成プロパティ・ファイルを作成します。JBossエージェントは、登録したJBossエージェントと同じモードで動作する11g Java ASDKに依存します。

JBossエージェントには、多くの重要なプロパティを定義する構成ファイル(oam_config.properties)が必要です。これらには、エージェントの登録アーティファクトへのファイル・システム・パス(ObAccessClient.xml)、JBossサーバーのログイン構成ファイルで定義されるセキュリティ・ドメイン、認証中にJBossエージェントに返されるパラメータと値およびリクエストにauthTokenがあるかどうかを確認するオプションの属性が含まれます。この手順を使用して、JBossエージェントの構成プロパティ・ファイルを作成します。

  1. ガイドとして次のサンプルを使用して、oam_config.propertiesという名前のJBossエージェント構成ファイルを作成します。
    ##Path of the folder containing the ObAccessClient.xml
    configPath=D:\\agentconfig
    
    ##Name of the security domain as configured in JBoss's login-config.xml
    realmName=oamrealm
    
    ##Optional. If not specified then defaults to /Authen/Basic
    ##publicAuthnResourceName=/Authen/Basic 
    
    ##Optional. If not specified then defaults to http
    ##publicAuthnResourceType=http
    
    ##Optional. If not specified then defaults to GET
    ##publicAuthnResourceOperation=GET
    
    ##Optional. If not specified then defaults to /Authen/SSOToken
    ##publicAuthzResourceName=/Authen/SSOToken
    
    ##Optional. If not specified then defaults to http
    ##publicAuthzResourceType=http
    
    ##Optional. If not specified then defaults to GET
    ##publicAuthzResourceOperation=GET
    
    rolesParam=OAM_GROUPS
    
    ##Optional. This attribute is responsible to check whether the credential in  
    ##the subject / callback handler is an authn token. Defaults to authnToken.
    authToken=authToken
    
    ####################################
    ##### OAM logout related properties #####
    ####################################
    ##Host name of the OAM 11g Server
    ##oamHost=abchost.us.example.com
    
    ##Managed server port number of the OAM 11g Server
    ##oamPort=Port_value
    
  2. oam_config.propertiesをJBossホストに保存します。
    /agentconfig/oam_config.properties
    
  3. 「認証バルブの構成」に進みます。

58.6.2 認証バルブの構成

2つの方法のいずれか使用している環境に最も適した方法で、認証バルブを構成できます。

ノート:

バルブは現在、グローバル・レベルでサポートされていないので、JBoss 6.x統合のための環境の準備を実行している場合、この手順は必要ではありません。

認証バルブを構成するには、次のようにします。

  • context.xmlへの認証バルブの追加: このグローバル構成では、認証バルブによって、JBossエージェントへのすべてのリクエストが捕捉されます。

  • アプリケーションのデプロイメントへの認証バルブの追加: グローバル・ユースのために認証バルブをcontext.xmlに追加するかわりに、context.xmlをアプリケーションのデプロイメントの一部として追加できます。この構成では、該当するアプリケーションのみに影響します(認証バルブによって、この特定のアプリケーションからのリクエストのみが捕捉されます)。

58.6.2.1 context.xmlへの認証バルブの追加

context.xmlに認証バルブを追加できます。

  1. JBossエージェントを編集するために、次の場所にあるcontext.xmlファイルを探して開きます。
    JBoss_install_dir\server\default\deploy\jbossweb.sar\context.xml
    
  2. 次のバルブ・エントリを追加してファイルを保存します。
    <Valve className="oracle.security.am.agent.common.authenticator.OAMAuthenticatorValve" configFile="<full_path_to_oamagent_config_properties_file> " />
    
  3. 「アプリケーションのweb.xmlファイルでのフィルタのマッピング」に進みます。

58.6.2.2 アプリケーションのデプロイメントへの認証バルブの追加

アプリケーションのデプロイメントに認証バルブを追加できます。

  1. 新規のcontext.xmlファイルを作成して、これをweb.xmlを含むWEB-INFに格納します。
    JBoss_install_dir\server\default\deploy\jbossweb.sar\context.xml
    
  2. 次のバルブ・エントリを追加します。
    <?xml version="1.0" encoding="UTF-8"?>
     
    <Context privileged="true">
       <Valve className="oracle.security.am.agent.common.authenticator.OAMAuthenticatorValve" configFile="<full_path_to_oamagent_config_properties_file> " />
    
    </Context>
    
  3. アプリケーションを再デプロイします。
  4. 「アプリケーションのweb.xmlファイルでのフィルタのマッピング」に進みます。

58.6.3 アプリケーションのweb.xmlファイルへのフィルタのマッピング

この統合のフィルタ・マッピングをアプリケーションのweb.xmlに追加できます。

フィルタの構成プロパティ・ファイルの名前も追加します。

  1. アプリケーションEARファイルにある次のweb.xmlファイルを見つけます。
    my_app/WEB-INF/web.xml  
    
  2. 次のフィルタ・マッピングをアプリケーションのweb.xmlに追加します。次に例を示します。
    <filter>
      <filter-name>OAMFilterAgent</filter-name> 
      <filter-class>
        oracle.security.am.agent.common.filter.OAMAuthenticationFilter
      </filter-class>
      <init-param>
        <param-name>configFile</param-name>
        <param-value>D:/oam_config.properties</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>OAMFilterAgent</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
    
  3. ファイルを保存します。
  4. Access Managerポリシーを使用するためのJBossログイン・モジュールの構成に進みます

58.6.4 Access Managerポリシーを使用するためのJBossログイン・モジュールの構成

この手順では、Access Managerポリシーを使用するためにJBossに必要なログイン・モジュール・エントリを説明します。フィルタ・マッピングをweb.xmlに追加した後、アプリケーションを再デプロイし、JBossサーバーを起動します。

ノート:

-b 0.0.0.0を使用してJBossサーバーを起動すると、ユーザーは、localhost / 127.0.0.1ではなくホスト名を使用してサーバーにアクセスできます。このパラメータを使用しないと、localhost / 127.0.0.1またはホスト名を使用してJBossサーバーにアクセスできます。

  1. login-config.xmlファイルを探して開きます。
    JBoss_install_dir\server\default\conf\login-config.xml   
    
  2. 次のように、ログイン・モジュールの新しいエントリを追加します。
    <application-policy name="oamrealm">
      <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>       
          <module-option name="publicAuthnResourceName">/Authen/Basic</module-option>
          <module-option name="rolesParam">OAM_GROUPS</module-option>
          <module-option name="publicAuthzResourceName">/Authen/SSOToken</module-option>
        </login-module>
      </authentication>
    </application-policy>
    

    このエントリ内のapplication-policyの名前が、oam_config.properties内のrealmnameプロパティに対して定義されている値と同じ値である必要があります。

  3. アプリケーションをデプロイします。
  4. 次のコマンドを使用して、次のようにJBossを起動します。
    JBoss_install_dir\bin\run –b 0.0.0.0 
    

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