我读了卡夫卡的文件
但是我不明白。我可以为Python生产者使用用户名和密码吗?
可以指定任何生产者只能产生一个主题,例如MySQL
。(生产者使用Python编写)
最佳答案
是的,您可以为每个主题设置用户/通行证。请参阅official documentation授权和ACL。
您可以使用Kafka的SASL支持SSL或SASL来启用安全性:
SASL / GSSAPI(Kerberos)-从0.9.0.0版本开始
SASL / PLAIN-从版本0.10.0.0开始
SASL / SCRAM-SHA-256和SASL / SCRAM-SHA-512-从版本0.10.2.0开始
从文档中,添加Acls的示例:
假设您要添加acl“允许主体User:Bob和User:Alice从IP 198.51.100.0和IP 198.51.100.1执行对主题Test-Topic的操作读取和写入”。您可以通过使用以下选项执行CLI来实现:
1个
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:Bob --allow-principal User:Alice --allow-host 198.51.100.0 --allow-host 198.51.100.1 --operation Read --operation Write --topic Test-topic
同样在此Blog post中,您可以找到一些信息
我不确定您使用的是哪个库,但这只是将适当的属性传递给生产者/客户的问题; kafka-python支持:
Support SASL/Kerberos
Support for ACL based kafka
关于python - kafka身份验证和授权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50641701/