基于ambari hdp的kafka用户授权读写权限

基于ambari hdp的kafka用户授权读写权限

版本Kafka 2.0.0

添加自定义配置

bash 复制代码
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
super.users = User:admin
allow.everyone.if.no.acl.found = true


allow.everyone.if.no.acl.found
此处只说实践中的结论
测试中针对消费者组起到了作用,
false必须严格按照授权的用户组进行消费
true则不需要指定消费者组

如果没有添加参数,组消费模式报错

org.apache.kafka.common.errors.GroupAuthorizationException: Group authorization failed.

解决:

allow.everyone.if.no.acl.found=true

修改admin密码

实践测试中admin,属于super用户,可以绕过权限认证,只要密码正确,可读可写

安全起见,还是修改下密码,密码上下两个位置一样才可以

重启kafka

授权读取

我的配置是没有添加这个配置:allow.everyone.if.no.acl.found

给saa用户授权A1 topic 的读取权限(这里不知道为啥通配符* 没有起作用)

bash 复制代码
./kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:sunway --operation Read --topic A1


--add 改成 --remove是移除权限

bash 复制代码
./kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --remove --allow-principal User:sunway --operation Read --topic A1

授权写入

bash 复制代码
kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:sun  --operation Write --topic A1

--add 改成 --remove是移除权限

同时有读写赋权

./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:my_read_write --operation Read --group test-py-3 --topic TSET-2024042401 --operation Write --topic TSET-2024042401

** 赋予写权限**

./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:my_only_write --operation Write --topic TSET-2024042401

** 赋予读权限**

./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:sunway --operation Read --group ioi --topic kafka_vip_info

./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --list

有效通配符

bash 复制代码
##  无效命令
./kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:sunway --operation Read  --topic *

##  有效命令
./kafka-acls.sh --authorizer-properties zookeeper.connect=test-master1:2181 --add --allow-principal User:sunway --operation Read  --topic '*'
## 通配符* 需要加上单引号

部分举例

bash 复制代码
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z1 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z2 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z3 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z4 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z5 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z6 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:c1 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z8 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z9 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z10 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z11 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:w1 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z12 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z13 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:z14 --operation Write  --topic '*'
./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=myhostname:2181 --add --allow-principal User:s1 --operation Read  --topic '*'
相关推荐
桃林春风一杯酒1 小时前
HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·分布式
B站计算机毕业设计超人6 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
茶本无香7 小时前
kafka+spring cloud stream 发送接收消息
spring cloud·kafka·java-zookeeper
知初~14 小时前
出行项目案例
hive·hadoop·redis·sql·mysql·spark·database
m0_7482359518 小时前
Python大数据可视化:基于Python的王者荣耀战队的数据分析系统设计与实现_flask+hadoop+spider
hadoop·python·flask
xiao-xiang21 小时前
kafka-保姆级配置说明(producer)
分布式·kafka
被程序耽误的胡先生1 天前
java中 kafka简单应用
java·开发语言·kafka
2501_903238651 天前
深入理解 Kafka 主题分区机制
分布式·kafka·个人开发
ezreal_pan1 天前
kafka消费能力压测:使用官方工具
分布式·kafka
xiao-xiang1 天前
kafka-集群缩容
分布式·kafka