パスワードエンコーダーシークレットの管理¶
SASL/PLAIN または TLS のパスワードなど、構成に関する機密情報を暗号化するには、カスタムリソース(CR)にパスワードエンコーダーを定義します。この機能は、Confluent for Kubernetes (CFK)で次のようなユースケースに使用されます。
- Kafka Cluster Linking を使用する場合、送信先クラスターでパスワードエンコーダーシークレットを設定し、送信元クラスターの認証と TLS に関する機密情報を暗号化するために使用する必要があります。
- Schema Linking を使用する場合、パスワードエンコーダーシークレットは送信元の Schema Registry クラスターで構成する必要があります。
パスワードエンコーダーシークレットの詳細については、「Kafka ブローカーの構成」を参照してください。
パスワードエンコーダーシークレットを指定するには、次の手順に従います。
以下の内容で
password-encoder.txt
ファイルを作成します。password=<password> oldPassword=<old password>
パスワードのローテーションに必要なのは
oldPassword
のみです。Kubernetes シークレットまたはコンテナー内のディレクトリパス機能を使用して、パスワードエンコーダーのシークレットを保管します。
Kubernetes シークレットを使用するには、前の手順で作成したファイルを使用して Kubernetes シークレットを作成します。
想定されるキー(ファイル名)は
password-encoder.txt
です。例を次に示します。
kubectl create secret generic myEncoderSecret \ --from-file=password-encoder.txt=$MY_PATH/password-encoder.txt
To use the directory path in the container feature, copy the
password-encider.txt
file to the container path.
Kafka または Schema Registry の CR で、前の手順で作成したシークレットを指定します。
spec: passwordEncoder: secretRef: --- [1] directoryPathInContainer: --- [2]
spec.passwordEncoder
が定義されている場合は、[1] または [2] が必要です。[1] パスワードエンコーダーのシークレット。
[2]
password-encoder.txt
ファイルがあるコンテナー内のパス。Vault を使用する際のシークレットと必要なアノテーションを提供する方法については、「Confluent Platform コンポーネントの CR へのシークレットの提供」を参照してください。
kubectl apply
コマンドを使用して CR の変更を適用します。クラスターは自動的に再起動します。
重要
シークレット([1])が後でアップデートされた場合、または dirPathContainer
ファイル([2])が変更された場合は、クラスターを手動で再起動する必要があります。クラスターの再起動の手順については、「Confluent Platform の再起動」を参照してください。