クラスター内の各ノード用のKerberosサービス・プリンシパルの追加
Kerberosプリンシパルを追加する手順。
始める前に
- 「環境のセットアップ」の説明に従ってソフトウェアをインストールし、確認します。
- 既存のKerberosドメイン。
- 既存のKDCが実行されている。
- KDCへの管理者権限
手順
-
各ノードで、マシンの完全修飾ドメイン名(FQDN)を確認します。
hostname --fqdn
node1.example.com
-
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
- オプション:
プリンシパルが追加されていることを、
kadmin
内のlistprincs
コマンドを実行して確認します。listprincs
ここで、node*.example.comがFQDNで、EXAMPLE.COMがKerberosレルムです。Kerberosレルムはすべて大文字である必要があります。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
-
以下のように、ノードのプリンシパル・キーを使用してノードごとにキータブ・ファイルを生成します。
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
- オプション:
プリンシパルとキータブを表示するには、
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
はキータブ・ファイルとそのタイムスタンプを表示します。 -
ノードのキータブ・ファイルを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/
-
各ノードで、キータブ・ファイルの名前をdse.keytabに変更します。
各ノードのdse.yaml内のエントリが同じになるように、すべてのノードでファイル名を同じにします。
例:
hostname --fqdn node1.example.com $ mv /etc/dse/node1.keytab /etc/dse/dse.keytab
-
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