mTLSの構成
Mutual TLS (mTLS)は、標準のTransport Layer Security (TLS)プロトコルの拡張であり、双方向認証を保証し、標準のTLSを超えて別のセキュリティ・レイヤーを追加します。Apache Kafkaを使用したストリーミングでクラスタのmTLS認証を構成するために必要なタスクを完了します。
証明書を生成中
mTLSでは、KafkaクライアントとKafkaブローカの両方が、デジタル証明書を使用して互いのアイデンティティを検証します。Kafkaクライアントとブローカの両方に独自の証明書があり、証明書は証明書保険(CA)によって署名されている必要があります。CAは、デジタル証明書を発行、署名および格納する信頼できるエンティティです。
mTLSでは、様々なタイプのデジタル証明書が使用されます。
- クライアント証明書: クライアント(Kafkaクライアント)に発行され、クライアントをサーバー(Kafkaブローカ)に対して認証し、通常はCAによって署名されます。
- サーバー証明書: サーバー(Kafkaブローカ)に発行され、クライアント(Kafkaクライアント)に対して認証され、通常はCAによって署名されます。
- 中間証明書: ルートCAとリーフ証明書(クライアント証明書またはサーバー証明書)の間に配置します。中間証明書はCAによって発行され、リーフ証明書を発行できます。中間証明書は、ルートCAへのアクセスを制限することでセキュリティを強化します。
- ルート証明書: 信頼階層内の最上位レベルの証明書で、中間証明書の署名に使用されます。ルート証明書は自己署名されています。これらは信頼できる証明書ストアにインストールされます。
デフォルトでは、Apache Kafkaブローカ証明書を使用したストリーミングは、DigiCert Global Root G2
という名前のDigicertパブリック・ルートCAによって署名されます。DigiCertは信頼できるCAで、そのルート証明書はほとんどのJDKおよびクライアント・ツールのデフォルトのトラストストアにすでに含まれている可能性があり、これを使用してセキュアな接続を確立できます。
これは、テスト・クラスタに使用できるカスタム・トラストストアを使用して証明書を作成する例です。本番クラスタの場合は、信頼できるCAによって署名された証明書を使用します。
Kafkaクラスタの更新
作成された証明書でKafkaクラスタを更新します。
- 「Kafkaクラスタ」リスト・ページで、操作するクラスタを検索します。リスト・ページまたはクラスタの検索に関するヘルプが必要な場合は、クラスタのリストを参照してください。
- クラスタの から、「クラスタの編集」を選択します。
- 「クラスタの編集」パネルの「セキュリティ設定」セクションで、証明書の内容を入力します。
- 「更新」を選択します。
Kafkaクライアントの構成
mTLSを使用してKafkaクラスタに接続するには、Kafkaトラストストアを設定した後で、Kafkaクライアント・プロパティ・ファイルを更新します。