keytab ファイルの作成

すべてのノードの認証に同じユーザーアカウントを使用できます。各ノードの SPN(サービスプリンシパル名)を含む keytab ファイルを作成する必要があります。keytab ファイルの作成時には、ソルト(ハッシュ関数修飾子)を生成するための属性を使用する必要があります。

新しい SPN を keytab ファイルに順次追加するには、生成されたソルトを任意の方法で保存する必要があります。

Kerberos 認証を構成する各クラスターノードに、個別の Active Directory ユーザーアカウントを作成することもできます。

keytab ファイルは、ドメインコントローラーサーバー上で、またはドメインを構成する Windows Server コンピューター上で、ドメイン管理者アカウントのもとで作成されます。

1 つのユーザーアカウントを使用して keytab ファイルを作成するには:

  1. Active Directory ユーザーとコンピューター スナップインで、ユーザーアカウント(例:control-user)を作成します。
  2. AES256-SHA1 暗号化アルゴリズムを使用する場合は、Active Directory ユーザーとコンピュータースナップインで次の操作を実行します:
    1. 作成したアカウントのプロパティを開きます。
    2. アカウント]タブで、[このアカウントで Kerberos AES 256 ビット暗号化をサポートする]をオンにします。
  3. ktpass ユーティリティを使用して、control-user 用の keytab ファイルを作成します。この操作には、コマンドラインで以下のコマンドを実行します:

    C:\Windows\system32\ktpass.exe -princ HTTP/<コントロールノードの完全修飾ドメイン名(FQDN)>@<大文字の Active Directory レルムのドメイン名> -mapuser control-user@<大文字の Active Dirfectory レルムのドメイン名> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <ファイルのパス>\<ファイル名>.keytab

    このユーティリティでは、コマンドの実行時に control-user パスワードの入力が要求されます。

    作成された keytab ファイルにコントロールロールのノードの SPN が追加されます。生成されたソルトが表示されます:「ソルト「<ハッシュ値>」でハッシュ化されたパスワード

  4. クラスターのすべてのノードそれぞれについて、keytab ファイルに SPN エントリを追加します。この操作には、次のコマンドを実行します:

    C:\Windows\system32\ktpass.exe -princ HTTP/<ノードの完全修飾ドメイン名(FQDN)>@<大文字の Active Directory レルムのドメイン名> -mapuser control-user@<大文字の Active Directory レルムのドメイン名> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <以前作成されたファイルのパスと名前>.keytab -out <パスと新しい名前>.keytab -setupn -setpass -rawsalt "<手順 3 で keytab ファイルを作成したときに取得したソルトのハッシュ値>"

    このユーティリティでは、コマンドの実行時に control-user パスワードの入力が要求されます。

keytab ファイルが作成されます。このファイルには、クラスターノードの SPN として追加した SPN がすべて含まれています。

例:

たとえば、control-01.test.localsecondary-01.test.localsecondary-02.test.local の 3 つのノードの SPN を含む keytab ファイルを作成する必要があります。

コントロールノードの SPN を含む filename1.keytab という名前のファイルをフォルダー C:\keytabs\ に作成するには、次のコマンドを実行します:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out C:\keytabs\filename1.keytab

ソルト「TEST.LOCALHTTPcontrol-01.test.local」を取得した場合を考えます。

もう 1 つ SPN を追加するには、次のコマンドを実行します:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

3 番目の SPN を追加するには、次のコマンドを実行します:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

これにより、「filename3.keytab」という名前のファイルが作成され、このファイルには追加した 3 つの SPN がすべて含まれています。

各ノードに個別のユーザーアカウントを使用して keytab ファイルを作成するには:

  1. Active Directory ユーザーとコンピューター スナップインで、各クラスターノードに個別のユーザーアカウントを作成します(例:control-usersecondary1-usersecondary2-user などの名前のユーザーアカウント)。
  2. AES256-SHA1 暗号化アルゴリズムを使用する場合は、Active Directory ユーザーとコンピュータースナップインで次の操作を実行します:
    1. 作成したアカウントのプロパティを開きます。
    2. アカウント]タブで、[このアカウントで Kerberos AES 256 ビット暗号化をサポートする]をオンにします。
  3. ktpass ユーティリティを使用して、control-user 用の keytab ファイルを作成します。この操作には、コマンドラインで以下のコマンドを実行します:

    C:\Windows\system32\ktpass.exe -princ HTTP/<コントロールノードの完全修飾ドメイン名(FQDN)>@<大文字の Active Directory レルムのドメイン名> -mapuser control-user@<大文字の Active Directory レルムのドメイン名> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <ファイルのパス>\<ファイル名>.keytab

    このユーティリティでは、コマンドの実行時に control-user パスワードの入力が要求されます。

    作成された keytab ファイルにコントロールロールのノードの SPN が追加されます。

  4. クラスターのすべてのノードそれぞれについて、keytab ファイルに SPN エントリを追加します。この操作には、次のコマンドを実行します:

    C:\Windows\system32\ktpass.exe -princ HTTP/<ノードの完全修飾ドメイン名(FQDN)>@<大文字の Active Directory レルムのドメイン名> -mapuser secondary1-user@<大文字の Active Directory レルムのドメイン名> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <以前作成されたファイルのパスと名前>.keytab -out <パスと新しい名前>.keytab

    このユーティリティでは、コマンドの実行時に secondary1-user パスワードの入力が要求されます。

keytab ファイルが作成されます。このファイルには、クラスターノードの SPN として追加した SPN がすべて含まれています。

例:

たとえば、control-01.test.localsecondary-01.test.localsecondary-02.test.local の 3 つのノードの SPN を含む keytab ファイルを作成する必要があります。

コントロールノードの SPN を含む filename1.keytab という名前のファイルをフォルダー C:\keytabs\ に作成するには、次のコマンドを実行します:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

もう 1 つ SPN を追加するには、次のコマンドを実行します:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser secondary1-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

3 番目の SPN を追加するには、次のコマンドを実行します:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser secondary2-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

これにより、「filename3.keytab」という名前のファイルが作成され、このファイルには追加した 3 つの SPN がすべて含まれています。

ページのトップに戻る