一、安全概述
在0.9.0.0版本中,kafka添加了许多功能,这些功能可单独使用或一起使用,从而提高kafka集群的安全性。目前支持的安全措施有:
①使用SSL或者SASL验证来自客户端(生产者和消费者)以及其他broker和工具到broker的链接身份,Kafka支持一下SASL验证机制:
SASL/GSSAPI (Kerberos) - starting at version 0.9.0.0
SASL/PLAIN - starting at version 0.10.0.0
SASL/SCRAM-SHA-256 and SASL/SCRAM-SHA-512 - starting at version 0.10.2.0
SASL/OAUTHBEARER - starting at version 2.0
②验证broker到zookeeper的链接的身份
③使用SSL方式加密数据的方式传输数据在broker和客户端之间,broker和broker之间以及broker和其他工具之间
注意:启用SSL时kafka的性能会下降,其大小取决与CPU类型和JVM的实现。
④对客户端读写操作的授权
⑤授权是可以被扩展并且支持外部服务的验证授权的整合
值得注意的时,安全性是可选的,支持非安全性的集群,以及经过身份验证的、未经过身份验证的、加密的和非加密的客户端组合。下面的指南中介绍如何使用以及配置在客户端和broker之间的安全特性。
二、使用SSL进行加密和身份验证
Kafka允许客户端使用SSL进行链接。默认情况下,SSL验证方式是关闭的,可以根据需要进行打开。
每个kafka的broker节点生成SSL密钥和证书<