第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 証明局に対して検証されます。