背景

在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

更多详细内容请关注我,持续更新

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐