16.5. クラスター CA を信頼する外部クライアントの設定
この手順では、external
に接続する OpenShift クラスター外部に存在する Kafka クライアントを設定し、クラスター CA 証明書を信頼する方法を説明します。クライアントのセットアップ時および更新期間中に、古いクライアント CA 証明書を交換する場合は、以下の手順に従います。
以下の手順に従い、クラスター CA によって署名された信頼できる証明書を Java ベースの Kafka Producer、Consumer、および Streams API に設定します。
クラスター CA の証明書の形式が PKCS #12 (.p12
) または PEM (.crt
) であるかに応じて、手順を選択します。
この手順では、Kafka クラスターの ID を検証する Cluster Secret から証明書を取得する方法を説明します。
CA 証明書の更新期間中に、<cluster_name>-cluster-ca-cert
シークレットに複数の CA 証明書が含まれます。クライアントは、それらを すべて をクライアントのトラストストアに追加する必要があります。
前提条件
- Cluster Operator が稼働している必要があります。
-
OpenShift クラスター内に
Kafka
リソースが必要です。 - TLS を使用して接続し、クラスター CA 証明書を必ず信頼する Kafka クライアントアプリケーションが、OpenShift クラスター外部に必要です。
PKCS #12 形式 (.p12) の使用
Kafka クラスターの
<cluster_name>-cluster-ca-cert
シークレットからクラスター CA 証明書とパスワードを抽出します。oc get secret <cluster_name>-cluster-ca-cert -o jsonpath='{.data.ca\.p12}' | base64 -d > ca.p12
oc get secret <cluster_name>-cluster-ca-cert -o jsonpath='{.data.ca\.password}' | base64 -d > ca.password
<cluster_name> は、Kafka クラスターの名前に置き換えます。
Kafka クライアントを以下のプロパティーで設定します。
セキュリティープロトコルのオプション:
-
security.protocol: TLS
を使用する場合の SSL。 -
security.protocol: SASL_SSL
(TLS 経由で SCRAM-SHA 認証を使用する場合)。
-
-
ssl.truststore.location
(証明書がインポートされたトラストストアを指定)。 -
ssl.truststore.password
(トラストストアにアクセスするためのパスワードを指定)。このプロパティーは、トラストストアで必要なければ省略できます。 -
ssl.truststore.type=PKCS12
(トラストストアのタイプを識別)。
PEM 形式の使用 (.crt)
Kafka クラスターの
<cluster_name>-cluster-ca-cert
シークレットからクラスター CA 証明書を抽出します。oc get secret <cluster_name>-cluster-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d > ca.crt
- 抽出した証明書を使用して、X.509 形式の証明書を使用するクライアントで TLS 接続を設定します。