WebSphere Application Server SPNEGO TAI で使用する Kerberos サービス・プリンシパルと キータブ・ファイルの作成 (非推奨)

この構成タスクは、Microsoft Active Directory ドメイン・コントローラー・マシンで 実行してください。 このタスクは、WebSphere® Application Server と SPNEGO トラスト・アソシエーション・インターセプター (TAI) に対するブラウザー要求でシングル・サインオンを 処理する準備として必要な過程です。

始める前に

稼働中のドメイン・コントローラーと、そのドメイン内に少なくとも 1 つのクライアント・マシンが 存在する必要があります。
非推奨の機能 (Deprecated feature) 非推奨の機能 (Deprecated feature):

WebSphere Application Server バージョン 6.1 では、Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) を使用して、保護されたリソースに関する HTTP 要求を安全にネゴシエーションして認証する、トラスト・アソシエーション・インターセプター (TAI) が導入されました。WebSphere Application Server 7.0 では、この機能は非推奨です。 SPNEGO フィルターの動的再ロードを提供し、アプリケーション・ログイン方式へのフォールバックを可能にするために、SPNEGO Web 認証が用意されています。

depfeat

このタスクについて

このタスクは、Active Directory ドメイン・コントローラー・マシンで実行されます。 以下のステップを実行して、Active Directory ドメイン・コントローラーが稼働している Microsoft Windows Server が、関連する鍵配布センター (KDC) に対して正しく構成されていることを確認してください。

手順

  1. WebSphere Application Server の Microsoft Active Directory に、ユーザー・アカウントを作成します。

    スタート」->「プログラム」->「管理ツール」->「Active Directory ユーザーとコンピュータ」をクリックします。

    WebSphere Application Server の名前を使用します。 例えば、WebSphere Application Server マシンで実行している アプリケーション・サーバーの名前が myappserver.austin.ibm.com だとすると、 Active Directory に myappserver という名前の新規ユーザーを作成します。
    重要: 「次回ログオン時にパスワードを変更 (User must change password at next logon)」は選択しないでください。
    重要: コンピューターとドメイン・コントローラーに myappserver というコンピューター名が使われていないことを確認してください。 myappserver というコンピューター名が既存の場合は、 別のユーザー・アカウント名を作成する必要があります。
    • スタート」->「プログラム」->「管理ツール」->「Active Directory ユーザーとコンピュータ」->「コンピューター」にジャンプします。
    • スタート」->「プログラム」->「管理ツール」->「Active Directory ユーザーとコンピュータ」->「ドメイン・コントローラー」にジャンプします。
  2. setspn コマンドを使用して、Kerberos サービス・プリンシパル名 HTTP/<host name> を、Microsoft ユーザー・アカウントにマップします。 setspn の使用例は次のとおりです。
    C:¥Program Files¥Support Tools>
    setspn -A HTTP/myappserver.austin.ibm.com myappserver
    注: Microsoft Windows ホストに関連したいくつかの SPN が、 既にドメインに追加されている場合があります。 これは setspn -L コマンドを使用して 表示できますが、依然として WebSphere Application Server に HTTP SPN を追加する必要があります。 例えば、setspn -L myappserver で SPN のリストが表示されます。
    重要: 同じ SPN を、複数の Microsoft ユーザー・アカウントにマッピングしていないことを 確認してください。 同じ SPN を複数のユーザー・アカウントにマップすると、 Web ブラウザーが、WebSphere Application Server に対して SPNEGO トークンではなく NTLM を 送信することがあります。

    setspn コマンドについて詳しくは、「Windows 2003 Technical Reference (setspn command)」を参照してください。

  3. Kerberos キータブ・ファイルを作成し、WebSphere Application Server で使用できるようにします。Kerberos キータブ・ファイル (krb5.keytab) は、 ktpass コマンドを使用して作成します。

    サーバー・プリンシパル名 (SPN) 用に Kerberos キータブ・ファイルを作成するには、Windows Server ツールキットの ktpass ツールを使用します。ktpass ツールは、使用している Windows Server のレベルにあった最新バージョンを使用します。 例えば、Windows 2003 Server の場合は、Windows 2003 バージョンのツールを使用します。

    ktpass ツールに適切なパラメーター値を判断するには、コマンド行から ktpass -? コマンドを実行します。 このコマンドにより、特定のオペレーティング・システムに対応する ktpass ツールで、-crypto RC4-HMAC または -crypto RC4-HMAC-NT のどちらのパラメーター値を使用するかがリストされます。ツールキットから警告メッセージを受け取らないようにするには、-ptype KRB5_NT_PRINCIPAL パラメーター値を指定する必要があります。

    Windows 2003 Server バージョンの ktpass ツールは、暗号化タイプ RC4-HMAC および シングル DES (データ暗号化規格) をサポートしています。 ktpass ツールについて詳しくは、Windows 2003 Technical Reference - Ktpass overview を参照してください。

    以下のコードは、コマンド行で ktpass -? コマンドを入力したときに使用できる機能を示しています。 この情報は、使用しているツールキットのバージョンによって異なる場合があります。
    C:¥Program Files¥Support Tools>ktpass -? Command line options:
                                                                              
    ---------------------most useful args
    [- /]          out : Keytab to produce
    [- /]        princ : Principal name (user@REALM)
    [- /]         pass : password to use
                         use "*" to prompt for password.
    [- +]      rndPass : ... or use +rndPass to generate a random password
    [- /]      minPass : minimum length for random password (def:15)
    [- /]      maxPass : maximum length for random password (def:256)
    ---------------------less useful stuff
    [- /]      mapuser : map princ to this user account (default:     
    don't)                                                                    
    [- /]        mapOp : how to set the mapping attribute (default: add it)
    [- /]        mapOp :  is one of:
    [- /]        mapOp :        add : add value (default)
    [- /]        mapOp :        set : set value
    [- +]      DesOnly : Set account for des-only encryption (default:don't)
    [- /]           in : Keytab to read/digest
    ---------------------options for key generation
    [- /]       crypto : Cryptosystem to use
    [- /]       crypto :  is one of:
    [- /]       crypto : DES-CBC-CRC : for compatibility
    [- /]       crypto : DES-CBC-MD5 : for compatibliity
    [- /]       crypto : RC4-HMAC-NT : default 128-bit encryption
    [- /]        ptype : principal type in question
    [- /]        ptype :  is one of:
    [- /]        ptype : KRB5_NT_PRINCIPAL : The general ptype-- recommended
    [- /]        ptype : KRB5_NT_SRV_INST : user service instance
    [- /]        ptype : KRB5_NT_SRV_HST : host service instance
    [- /]         kvno : Override Key Version Number
                         Default: query DC for kvno.  Use /kvno 1 for Win2K   
    compat.                                                                   
    [- +]       Answer : +Answer answers YES to prompts.  -Answer answers     
    NO.                                                                       
    [- /]       Target : Which DC to use.  Default:detect
    ---------------------options for trust attributes (Windows Server 2003
    Sp1 Only
    [- /] MitRealmName : MIT Realm which we want to enable RC4 trust on.      
    [- /]  TrustEncryp : Trust Encryption to use; DES is default
    [- /]  TrustEncryp :  is one of:
    [- /]  TrustEncryp :        RC4 : RC4 Realm Trusts (default)
    [- /]  TrustEncryp :        DES : go back to DES
    重要: ktpass コマンドで -pass スイッチを使用して Microsoft Windows サーバー・アカウントのパスワードをリセットしないでください。
    詳しくは、Windows 2003 Technical Reference - Ktpass overview を参照してください。KDC が暗号鍵を作成できるようにするには、 ktpass コマンドで -mapUser オプションを使用する必要があります。 そうしないと、SPENGO トークンを受信した際に検証プロセスで失敗し、アプリケーション・サーバーは ユーザーにユーザー名とパスワードを要求します。
    暗号化タイプにより異なりますが、以下の方法の 1 つで ktpass ツールを使用して Kerberos キータブ・ファイルを作成します。以下のセクションは、ktpass ツールで使用するさまざまなタイプの暗号化を示しています。 ご使用の Microsoft Windows 環境で特定のツールキットに必要な -crypto パラメーター値を判断する場合、ktpass -? コマンドを実行することが重要です。
    • 単一 DES 暗号化タイプの場合
      コマンド・プロンプトから ktpass コマンドを実行します。
      ktpass -out c:¥temp¥myappserver.keytab
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM
      -mapUser myappserv 
      -mapOp set 
      -pass was1edu
      -crypto DES-CBC-MD5 
      -pType KRB5_NT_PRINCIPAL
      +DesOnly
      表 1. 単一 DES 暗号化タイプの場合の ktpass の使い方.

      以下の表は、単一 DES 暗号化タイプの場合の ktpass の使用法を説明します。

      オプション 説明
      -out c:¥temp¥myappserver.keytab この出力ファイルに鍵が書き込まれます。
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM ユーザー・ログオン名とレルムは、大文字で連結する必要があります。
      -mapUser この鍵はユーザー myappserver にマップされます。
      -mapOp このオプションは、マッピングを設定します。
      -pass was1edu このオプションは、ユーザー ID に対するパスワードです。
      -crypto DES-CBC-MD5 このオプションはシングル DES の暗号化タイプを使用します。
      -pType KRB5_NT_PRINCIPAL このオプションは、KRB5_NT_PRINCIPAL プリンシパル値を指定します。 ツールキットの警告メッセージが表示されないようにする場合は、このオプションを指定してください。
      +DesOnly このオプションは DES 暗号化のみを生成します。
    • RC4-HMAC 暗号化タイプの場合
      重要: RC4-HMAC 暗号化は、Windows 2003 Server を KDC として使用している場合にのみサポートされます。
      コマンド・プロンプトから ktpass コマンドを実行します。
      ktpass -out c:¥temp¥myappserver.keytab 
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM
      -mapUser myappserver
      -mapOp set 
      –pass was1edu
      -crypto RC4-HMAC
      -pType KRB5_NT_PRINCIPAL
      表 2. RC4-HMAC 暗号化タイプの場合の ktpass の使い方.

      以下の表に、RC4-HMAC 暗号化の ktpass オプションとその説明を示します。

      オプション 説明
      -out c:¥temp¥myappserver.keytab この出力ファイルに鍵が書き込まれます。
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM ユーザー・ログオン名とレルムは、大文字で連結する必要があります。
      -mapUser この鍵はユーザー myappserver にマップされます。
      -mapOp このオプションは、マッピングを設定します。
      -pass was1edu このオプションは、ユーザー ID に対するパスワードです。
      -crypto RC4-HMAC このオプションを指定すると、RC4-HMAC 暗号化タイプが選択されます。
      -pType KRB5_NT_PRINCIPAL このオプションは、KRB5_NT_PRINCIPAL プリンシパル値を指定します。 ツールキットの警告メッセージが表示されないようにする場合は、このオプションを指定してください。
    • RC4-HMAC-NT 暗号化タイプの場合
      コマンド・プロンプトから ktpass コマンドを実行します。
      ktpass -out c:¥temp¥myappserver.keytab 
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM
      -mapUser myappserver
      -mapOp set 
      -pass was1edu
      -crypto RC4-HMAC-NT
      -pType KRB5_NT_PRINCIPAL
      表 3. RC4-HMAC 暗号化タイプの場合の ktpass の使い方. 以下の表に、RC4-HMAC 暗号化タイプの ktpass の使い方を示します。
      オプション 説明
      -out c:¥temp¥myappserver.keytab この出力ファイルに鍵が書き込まれます。
      -princ HTTP/myappserver.austin.ibm.com@WSSEC.AUSTIN.IBM.COM ユーザー・ログオン名とレルムは、大文字で連結する必要があります。
      -mapUser この鍵はユーザー myappserver にマップされます。
      -mapOp このオプションは、マッピングを設定します。
      -pass was1edu このオプションは、ユーザー ID に対するパスワードです。
      -crypto RC4-HMAC-NT このオプションを指定すると、RC4-HMAC-NT 暗号化タイプが選択されます。
      -pType KRB5_NT_PRINCIPAL このオプションは、KRB5_NT_PRINCIPAL プリンシパル値を指定します。 ツールキットの警告メッセージが表示されないようにする場合は、このオプションを指定してください。
    SPNEGO TAI とともに使用するための Kerberos キータブ・ファイルが作成されます。
    注: Kerberos キータブ構成ファイルには、ユーザー・パスワードに類似した 鍵のリストが含まれています。ホストでは、Kerberos キータブ・ファイルを保護するために、Kerberos キータブ・ファイルをローカル・ディスクに保管し、許可ユーザーのみが読み取れるようにすることが重要です。
    krb5.keytab ファイルを ドメイン・コントローラー (LDAP マシン) から WebSphere Application Server マシンに コピーすると、WebSphere Application Server でキータブ・ファイルを 使用できるようになります。
    ftp> bin
    ftp> put c:¥temp¥KRB5_NT_SEV_HST¥krb5.keytab

タスクの結果

Active Directory ドメイン・コントローラーは、 WebSphere Application Server および SPNEGO TAI に対するシングル・サインオン要求を処理するように、 正しく構成されています。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_SPNEGO_config_dc
ファイル名:tsec_SPNEGO_config_dc.html