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

2024-05-07 23:44

本文主要是介绍基于ambari hdp的kafka用户授权读写权限,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

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

    • 版本Kafka 2.0.0
    • 添加自定义配置
    • 修改admin密码
    • 重启kafka
    • 授权读取
    • 授权写入
    • 有效通配符
    • 部分举例

版本Kafka 2.0.0

添加自定义配置

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 的读取权限(这里不知道为啥通配符* 没有起作用)

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

在这里插入图片描述
–add 改成 --remove是移除权限

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

授权写入

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

有效通配符

##  无效命令
./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 '*'
## 通配符* 需要加上单引号

在这里插入图片描述

部分举例

./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 '*'

这篇关于基于ambari hdp的kafka用户授权读写权限的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968728

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

10. 文件的读写

10.1 文本文件 操作文件三大类: ofstream:写操作ifstream:读操作fstream:读写操作 打开方式解释ios::in为了读文件而打开文件ios::out为了写文件而打开文件,如果当前文件存在则清空当前文件在写入ios::app追加方式写文件ios::trunc如果文件存在先删除,在创建ios::ate打开文件之后令读写位置移至文件尾端ios::binary二进制方式

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Golang进程权限调度包runtime

关于 runtime 包几个方法: Gosched:让当前线程让出 cpu 以让其它线程运行,它不会挂起当前线程,因此当前线程未来会继续执行GOMAXPROCS:设置最大的可同时使用的 CPU 核数Goexit:退出当前 goroutine(但是defer语句会照常执行)NumGoroutine:返回正在执行和排队的任务总数GOOS:目标操作系统NumCPU:返回当前系统的 CPU 核数量 p

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

关于使用cspreadsheet读写EXCEL表格数据的问题

前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,所有最终选择了数据库的方法,用数据库的方法去存取xls格式的数据。网上有一个高手写的CSpreedSheet,看了一下提供的接口,感觉挺好用的。在使用的过程中发现几个

Android6.0以上权限申请

说明: 部分1:出自:http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/ android M 的名字官方刚发布不久,最终正式版即将来临! android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引