1.概述
最近有同学咨询说,Kafka的SSL安全认证如何安装与使用?今天笔者将通过以下几个方面来介绍Kafka的SSL:
- Kafka 权限介绍
- Kafka SSL的安装与使用
- Kafka Eagle中如何配置SSL?
2.内容
2.1 什么是Kafka权限认证?
在Kafka 0.9.0.0之后,Kafka社区增加了一系列的功能,其中包含对Kafka集群进行安全管控。支持的权限认证方式如下:
- Broker与Client之间的权限认证(例如Producer和Consumer)。可以使用SSL或SASL,而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版本
- SASL/OAUTHBEARER,开始于2.0版本
2. Broker和Zookeeper之间建立权限认证
3. 在Broker和Client之间、Broker和Broker之间使用SSL建立权限认证时,性能会有所下降,其程度取决于CPU类型和JVM的实现
4. 对Client进行读写认证
在实际生产环境中,对于权限认证使用的较多的是SCRAM认证,其原因在《Kafka SCRAM和PLAIN实战》这篇博客中详细解释。
2.2 Kafka SSL安装与使用
Kafka允许客户端使用SSL来连接,默认情况下,SSL是禁止的,但是可以通过手动开启。安装Kafka SSL的流程如下所示:

执行步骤如下所示:
步骤一:初始化环境变量(在脚本中声明变量)
![]()
BASE_DIR=/Users/smartloli/workspace/ssl
CERT_OUTPUT_PATH="$BASE_DIR/certificates"
PASSWORD=ke123456
KEY_STORE="$CERT_OUTPUT_PATH/kafka.keystore"
TRUST_STORE="$CERT_OUTPUT_PATH/kafka.truststore"
KEY_PASSWORD=$PASSWORD
STORE_PASSWORD=$PASSWORD
TRUST_KEY_PASSWORD=$PASSWORD
TRUST_STORE_PASSWORD=$PASSWORD
CLUSTER_NAME=ke-cluster-01
CERT_AUTH_FILE="$CERT_OUTPUT_PATH/ca-cert"
CLUSTER_CERT_FILE="$CERT_OUTPUT_PATH/${CLUSTER_NAME}-cert"
DAYS_VALID=365
D_NAME="CN=localhost, OU=YourDept, O=YourCompany, L=China, ST=Chin

本文介绍了Kafka的SSL权限管理,包括权限认证方式(SASL和SSL),KafkaBroker与Client间及与Zookeeper间的SSL配置,以及KafkaEagle集成SSL的步骤和注意事项。
最低0.47元/天 解锁文章
4098

被折叠的 条评论
为什么被折叠?



