Kafkaの動作確認をするときに重宝しているKafkacat。
そのKafkacatで、SASLがONになっている際のKafkaにアクセスするのはどうするのだろうと思い調べてみました。
SSLはOFFで、SASLはONという状態です。
SASLとは
SASLとは
Simple Authentication and Security Layer
の略で、インターネットプロトコルでの認証とデータセキュリティのためのフレームワーク。
KafkaはSASLによるクライアント認証をサポートしています。また、SASLはSSL暗号化と同時に利用することもできます。
実際にはサーバ側の設定も必要になりますが、クライアント側の設定は以下になります。
Publisher
kafkacat -b localhost:9092 -X security.protocol=SASL_PLAINTEXT -X sasl.mechanisms=PLAIN -X sasl.username=admin -X sasl.password=admin-secret -t publish-topic -P
ユーザ名がadmin
、パスワードがadmin-secret
になります。
Consumer
kafkacat -b localhost:9092 -X security.protocol=SASL_PLAINTEXT -X sasl.mechanisms=PLAIN -X sasl.username=admin -X sasl.password=admin-secret -t consume-topic -C -o beginning -K: -f 'Topic %t[%p], offset: %o, key: %k, payload: %S test: %s\n'
ユーザ名がadmin
、パスワードがadmin-secret
になります。
まとめ
地味に重宝しているKafkacat。
この後もいくつかKafkacatネタを投稿していこうと思います。