クラスター内の各ノード用のKerberosサービス・プリンシパルの追加

Kerberosプリンシパルを追加する手順。

始める前に

  • 環境のセットアップ」の説明に従ってソフトウェアをインストールし、確認します。
  • 既存のKerberosドメイン。
  • 既存のKDCが実行されている。
  • KDCへの管理者権限

手順

  1. 各ノードで、マシンの完全修飾ドメイン名(FQDN)を確認します。
    hostname --fqdn
    node1.example.com
  2. Kerberos Key Distribution Center(KDC)でkadminコマンドを実行します。
    kadmin -p user_name/admin
    addprinc -randkey dse_user/FQDN
    addprinc -randkey HTTP/FQDN
    quit

    ここで、

    パラメーター 説明
    addprinc add_principalコマンドにはadd管理権限が必要で、新しいプリンシパルを作成します。
    dse_user この値は、インストールのタイプにより異なります。
    • Installer-Servicesおよびパッケージのインストール: 通常は、cassandra
    • パッケージ・インストール: サービスを開始するUNIXユーザーの名前
    FQDN DataStax Enterpriseが実行されているホストの完全修飾ドメイン名。
    -randkey プリンシパルのキーをランダムな値に設定します。
    例:
    kadmin -p parzival/admin
    addprinc -randkey cassandra/node1.example.com
    addprinc -randkey HTTP/node1.example.com
    addprinc -randkey cassandra/node2.example.com
    addprinc -randkey HTTP/node2.example.com
  3. オプション: プリンシパルが追加されていることを、kadmin内のlistprincsコマンドを実行して確認します。
    listprincs
    HTTP/node1.example.com@EXAMPLE.COM
    HTTP/node2.example.com@EXAMPLE.COM
    cassandra/node1.example.com@EXAMPLE.COM
    cassandra/node2.example.com@EXAMPLE.COM
    kadmin/admin@EXAMPLE.COM
    ここで、node*.example.comがFQDNで、EXAMPLE.COMがKerberosレルムです。Kerberosレルムはすべて大文字である必要があります。
  4. 以下のように、ノードのプリンシパル・キーを使用してノードごとにキータブ・ファイルを生成します。
    kadmin -p user_name/admin
    ktadd -k dse.keytab cassandra/FQDN
    ktadd -k dse.keytab HTTP/FQDN
    quit

    ここで、ktadd -kは、dseおよびHTTPプリンシパル用のキータブを作成または追加書き込みします。

    例:
    kadmin -p parzival/admin
    ktadd -k /tmp/node1.keytab cassandra/node1.example.com
    ktadd -k /tmp/node1.keytab HTTP/node1.example.com
    ktadd -k /tmp/node2.keytab cassandra/node2.example.com
    ktadd -k /tmp/node2.keytab HTTP/node2.example.com
  5. オプション: プリンシパルとキータブを表示するには、klistコマンドを使用します。
    Node1:
    sudo klist -e -kt /var/tmp/dse.keytab
    
    Keytab name:FILE:/tmp/dse.keytab
    KVNO Timestamp        Principal
    ---- ---------------- ----------------------------------------------
    2    14/02/16 22:03   HTTP/node1FQDN@YOUR_REALM (des3-cbc-sha1)
    2    14/02/16 22:03   HTTP/node1FQDN@YOUR_REALM (arcfour-hmac)
    2    14/02/16 22:03   HTTP/node1FQDN@YOUR_REALM (des-hmac-sha1)
    2    14/02/16 22:03   HTTP/node1FQDN@YOUR_REALM (des-cbc-md5)
    2    14/02/16 22:03   cassandra/node1FQDN@YOUR_REALM (des3-cbc-sha1)
    2    14/02/16 22:03   cassandra/node1FQDN@YOUR_REALM (arcfour-hmac)
    2    14/02/16 22:03   cassandra/node1FQDN@YOUR_REALM (des-hmac-sha1)
    2    14/02/16 22:03   cassandra/node1FQDN@YOUR_REALM (des-cbc-md5)
    ここで、-eは暗号化タイプを表示し、-ktはキータブ・ファイルとそのタイムスタンプを表示します。
  6. ノードのキータブ・ファイルをKDCマシンからそのノードにコピーします。
    $ scp /tmp/node1.keytab dse_user@node1.FQDN:/etc/dse/
    $ scp /tmp/node2.keytab dse_user@node2.FQDN:/etc/dse/
    例:
    $ scp /tmp/node1.keytab cassandra@node1.example.com:/etc/dse/
    $ scp /tmp/node2.keytab cassandra@node2.example.com:/etc/dse/
  7. 各ノードで、キータブ・ファイルの名前をdse.keytabに変更します。

    各ノードのdse.yaml内のエントリが同じになるように、すべてのノードでファイル名を同じにします。

    例:

    hostname --fqdn
    node1.example.com
    $ mv /etc/dse/node1.keytab /etc/dse/dse.keytab
  8. dse_userユーザーだけがキータブ・ファイルを読み取りおよび書き込みできるように、dse.keytabのパーミッションを変更します。例:
    sudo chown cassandra:cassandra /etc/dse/dse.keytab
    $ sudo chmod 600 /etc/dse/dse.keytab
    dse.yamlファイルの場所は、インストールのタイプによって異なります。
    Installer-Services /etc/dse/dse.yaml
    パッケージ・インストール /etc/dse/dse.yaml
    Installer-No Services install_location/resources/dse/conf/dse.yaml
    tarボール・インストール install_location/resources/dse/conf/dse.yaml

次のタスク

Kerberos認証用のDataStax Enterpriseの有効化