第8章 Kafka のセキュリティー

AMQ Streams のセキュアなデプロイメントには、以下が含めることができます。

  • データ交換の暗号化
  • アイデンティティー証明に使用する認証
  • ユーザーが実行するアクションを許可または拒否する認可

8.1. 暗号化

AMQ Streams は、暗号化通信用のプロトコルである Transport Layer Security (TLS) をサポートします。

通信は、以下の間で常に暗号化されます。

  • Kafka ブローカー
  • ZooKeeper ノード
  • Operator および Kafka ブローカー
  • Operator および ZooKeeper ノード
  • Kafka Exporter

Kafka ブローカーとクライアントの間で TLS 暗号化を設定することもできます。Kafka ブローカーの外部リスナーを設定するときに、外部クライアントに対して TLS が指定されます。

AMQ Streams コンポーネントおよび Kafka クライアントは、暗号化にデジタル署名を使用します。Cluster Operator は、証明書を設定し、Kafka クラスター内で暗号化を有効にします。Kafka クライアントと Kafka ブローカーの通信やクラスター間の通信に、Kafka リスナー証明書と呼ばれる独自のサーバー証明書を指定できます。

AMQ Streams は シークレット を使用して、mTLS に必要な証明書および秘密鍵を PEM および PKCS #12 形式で保存します。

TLS CA (認証局) は、コンポーネントの ID を認証するために証明書を発行します。AMQ Streams は、CA 証明書に対してコンポーネントの証明書を検証します。

  • AMQ Streams コンポーネントは、クラスター CA 証明局に対して検証されます。
  • Kafka クライアントは、クライアント CA 証明局に対して検証されます。