我们有一个生产中的 Kafka 集群,没有任何安全措施。我们计划在代理端开启安全性(SASL/OAUTHBEARER)。但是看起来只要我们打开代理端安全性,所有不安全的客户端都会立即被删除。为了从不安全集群平稳过渡到安全集群,并且没有任何停机时间,我们希望 Kafka 客户端首先启用安全性。一旦我们所有的客户都迁移了,我们就可以打开代理级别的安全性。但是,我找不到安全客户端可以与不安全的经纪人交谈的方法。有人做过吗?关于顺利迁移到生产安全的任何想法?
问问题
469 次
2 回答
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
- 第 1 步:禁用代理到代理的安全性
security.inter.broker.protocol=PLAINTEXT
- 第 2 步: 为代理到客户端启用 Kerberos
server.properties
- 第三步:滚动重启
- 第 4 步:为代理到代理启用 Kerberos
security.inter.broker.protocol=SASL_PLAINTEXT
启用 SSL
- 第 1 步:禁用代理到代理的安全性
security.inter.broker.protocol=PLAINTEXT
- 第 2 步: 为代理到客户端启用 SSL
server.properties
- 第三步:滚动重启
- 第 4 步:为代理到代理启用 SSL
security.inter.broker.protocol=SSL
于 2020-02-25T22:59:35.173 回答
0
在 server.properites 中设置以下属性将允许不安全的客户端连接到端口 9097 并允许安全的客户端连接到端口 9096。
listeners=SASL_PLAINTEXT://:9096,PLAINTEXT://:9097
于 2020-03-05T22:46:28.733 回答