内容纲要
概要描述
kafka 集群开启安全后,权限有 guardian 管控,本文简单介绍一下 kafka 的权限在 guardian 中的具体实现;
详细说明
- guardian 可用权限说明
- kafka 各操作所需权限说明
可用权限列表
guardian 中可控制权限对象主要有以下几个:
- TOPIC
- GROUP
- CLUSTER
可控制的权限分为以下几个:
- DESCRIBE
- READ
- WRITE
- DELETE
- CLUSTERACTION
- CREATE
- ALL
下表汇总了一些常用操作所需要的权限
TOPIC 相关权限
| 资源 | DESCRIBE | READ | WRITE | DELETE | ALL |
|---|---|---|---|---|---|
| TOPIC | list topic、describe topic | consumer消费数据 | producer生产数据 | 删除topic | null |
| 资源 | DESCRIBE | READ | ALL |
|---|---|---|---|
| GROUP | consumer fetch offset、describe group、list groups | consumer commit offset |
| 资源 | CLUSTERACTION | CREATE | ALL |
|---|---|---|---|
| CLUSTER | 重新选举分区leader | 创建 topic |
Guardian中还提供了一个GLOBAL权限,即不对该用户进行权限控制,可以进行任何操作。kafka用户默认会被给予GLOBAL权限。
kafka 各操作所需权限说明
https://kb.transwarp.cn/posts/4648
参考一下这个里面的方法,对自建的 用户赋权即可;
消费者组这个概念,只有在其他程序想通过这个消费者组消费时,才需要提前赋权;
使用 kafka 的服务keytab 认证,然后启动consumer 的同时创建一个 cg,然后将这个 cg 的使用权限赋予给其他用户;
https://kafka.apache.org/documentation/#operations_resources_and_protocols
7.5 章节,第二部分 Authorization Primitives ,Operations and Resources on Protocols 这个表格对应的就是说明了