我们在生产中的Kafka集群没有任何安全性。我们计划在经纪人方面启用安全性(SASL / OAUTHBEARER)。但是看起来一旦我们打开经纪人端安全性,所有不安全的客户端将立即被丢弃。 为了从不安全的群集平稳过渡到安全的群集,而又不造成任何停机,我们希望Kafka客户端首先启用安全性。一旦所有客户迁移完毕,我们就可以在经纪人级别启用安全性。 但是,我找不到安全的客户可以与不安全的经纪人交谈的方法。有人做过吗? 关于平稳过渡到生产中的安全性有什么想法吗?
答案 0 :(得分:0)
在Kafka 2.0中,允许以下协议组合:
+------------------+-------+-----------+
| | SSL | Kerberos |
+------------------+-------+-----------+
| PLAINTEXT | No | No |
| SSL | Yes | No |
| SASL_PLAINTEXT | No | Yes |
| SASL_SSL | Yes | Yes |
+------------------+-------+-----------+
这些组合同时适用于经纪人对经纪人和经纪人对客户,但是此处的关键配置是security.inter.broker.protocol
,对于经纪人对经纪人和经纪人对经纪人来说,这些配置不必相同客户。这意味着我们可以在不停机的情况下在Kafka群集中启用安全性。
启用Kerberos
security.inter.broker.protocol=PLAINTEXT
server.properties
security.inter.broker.protocol=SASL_PLAINTEXT
启用SSL
security.inter.broker.protocol=PLAINTEXT
server.properties
security.inter.broker.protocol=SSL
答案 1 :(得分:0)
在server.properites中设置以下属性将允许不安全的客户端连接到端口9097,并允许安全客户端连接到端口9096。
listeners=SASL_PLAINTEXT://:9096,PLAINTEXT://:9097