1.概述
在Kafka0.9版本之前,Kafka集群时没有安全机制的。Kafka Client应用可以通过连接Zookeeper地址,例如zk1:2181:zk2:2181,zk3:2181等。来获取存储在Zookeeper中的Kafka元数据信息。拿到Kafka Broker地址后,连接到Kafka集群,就可以操作集群上的所有主题了。由于没有权限控制,集群核心的业务主题时存在风险的。
2.内容
2.2 身份认证
Kafka的认证范围包含如下:
Client与Broker之间
Broker与Broker之间
Broker与Zookeeper之间
当前Kafka系统支持多种认证机制,如SSL、SASL(Kerberos、PLAIN、SCRAM)。
2.3 SSL认证流程
在Kafka系统中,SSL协议作为认证机制默认是禁止的,如果需要使用,可以手动启动SSL机制。安装和配置SSL协议的步骤,如下所示:
在每个Broker中Create一个Tmp密钥库
创建CA
给证书签名
配置Server和Client
执行脚本如下所示:
1#! /bin/bash
2# 1.Create rsa
3keytool -keystore server.keystore.jks -alias dn1 -validity 365 -genkey -keyalg RSA
4# 2.Create CA
5openssl req -new -x509 -keyout ca-key -out ca-cert -days 365
6# 3.Import client
7keytool -keystore client.truststore.jks -alias CAROOT -import -file ca-c