5.8.2. SPNEGO を使用したデスクトップ SSO

SPNEGO を使用するデスクトップ SSO を設定するには、以下を設定します。
  • セキュリティードメイン
  • システムプロパティー
  • Web アプリケーション

手順5.5 SPNEGO を使用するデスクトップ SSO の設定

  1. セキュリティードメインの設定

    セキュリティードメインを設定して、サーバーのアイデンティティーを表し、Web アプリケーションをセキュアにします。

    例5.15 セキュリティードメインの設定

    <security-domains>
    
        <security-domain name="host" cache-type="default">
    
          <authentication>
    
            <login-module code="Kerberos" flag="required">
    
              <module-option name="storeKey" value="true"/>
    
              <module-option name="useKeyTab" value="true"/>
    
              <module-option name="principal" value="host/testserver@MY_REALM"/>
    
              <module-option name="keyTab" value="/home/username/service.keytab"/>
    
              <module-option name="doNotPrompt" value="true"/>
    
              <module-option name="debug" value="false"/>
    
            </login-module>
    
           </authentication>
    
         </security-domain>
    
       
    
         <security-domain name="SPNEGO" cache-type="default">
    
           <authentication>
    
             <login-module code="SPNEGO"  flag="requisite">
    
               <module-option name="password-stacking" value="useFirstPass"/>
    
               <module-option name="serverSecurityDomain" value="host"/>
    
             </login-module>
    
    
             <!-- Login Module For Roles Search -->
    
           </security-domain>
    
    
  2. システムプロパティーの設定

    必要な場合は、システムプロパティーをドメインモデルに設定できます。

    例5.16 システムプロパティーの設定

    <system-properties>
    
          <property name="java.security.krb5.kdc" value="mykdc.mydomain"/>
    
          <property name="java.security.krb5.realm" value="MY_REALM"/>
    
        </system-properties>
    
    
  3. Web アプリケーションの設定

    オーセンティケーターは上書きできませんが、NegotiationAuthenticator をバルブとして jboss-web.xml 記述子に追加し、Web アプリケーションを設定できます。

    注記

    セキュア化するリソースの決定に使用されるため、security-constraint および login-config が web.xml ファイルに定義されている必要があります。しかし、選択された auth-method はこのオーセンティケーターによって上書きされます。

    例5.17 Web アプリケーションの設定

     <!DOCTYPE jboss-web PUBLIC
      "-//JBoss//DTD Web Application 2.4//EN"
      "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">   
    
      <jboss-web>
    
        <security-domain>java:/jaas/SPNEGO</security-domain>
    
        <valve>
    
          <class-name>org.jboss.security.negotiation.NegotiationAuthenticator</class-name>
    
        </valve>
    
      </jboss-web>
    
    
    また、JBoss Negotiation クラスの場所を特定できるようにするため、Web アプリケーションは META-INF/MANIFEST.MF に定義された依存関係を必要とします。

    例5.18 META-INF/MANIFEST.MF での依存関係の定義

        Manifest-Version: 1.0
    
        Build-Jdk: 1.6.0_24
    
        Dependencies: org.jboss.security.negotiation