Kafka安全机制(一)
背景在0.9版本后,kafka增加了身份认证与权限控制两种安全服务身份认证身份认证顾名思义就是客户端与服务端连接时进行的身份认证。分为客户端与broker之间的连接认证broker之间的连接认证broker与zookeeper之间的连接认证目前支持SSL、SASL/kerberos、SASL/PLAIN这三种认证机制权限控制Kafka权限控制是可插拔的,它支持与外部授权服务进...
·
背景
在0.9版本后,kafka增加了身份认证与权限控制两种安全服务
身份认证
身份认证顾名思义就是客户端与服务端连接时进行的身份认证。分为
- 客户端与broker之间的连接认证
- broker之间的连接认证
- broker与zookeeper之间的连接认证
目前支持SSL、SASL/kerberos、SASL/PLAIN这三种认证机制
权限控制
Kafka权限控制是可插拔的,它支持与外部授权服务进行集成(官网文档说明,我未测试)
Kafka本身自带有一个授权的类kafka.security.auth.SimpleAclAuthorizer,可在server.properties配置
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
下面介绍下Kafka的权限控制类型
权限类型 | 权限说明 |
---|---|
READ | 读操作权限,消费者消费主题的权限,消费组管理时读取相关元信息权限等 |
WRITE | 写操作权限,生产者向主题写消息权限 |
DELETE | 删除主题操作的权限 |
CREATE | 创建主题操作的权限 |
ALTER | 修改主题及配置操作的权限 |
DESCRIBE | 获取主题元数据信息的权限 |
ClusterAction | 集群元数据操作权限,如更新集群元数据操作、关闭控制器、停止副本等 |
ALL | 所有权限 |
此列表与ranger管理的permission列表不一样
Kafka将权限控制列表ACL存储在Zookeeper中
当添加权限控制后,会在zk中创建2个节点
节点1:存储ACL信息节点 kafka-acl
节点2:存储ACL变更信息节点 kafka-acl-changes
更多详细内容请关注我,持续更新
更多推荐
已为社区贡献25条内容
所有评论(0)