基于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

相关文章

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Linux权限管理与ACL访问控制详解

《Linux权限管理与ACL访问控制详解》Linux权限管理涵盖基本rwx权限(通过chmod设置)、特殊权限(SUID/SGID/StickyBit)及ACL精细授权,由umask决定默认权限,需合... 目录一、基本权限概述1. 基本权限与数字对应关系二、权限管理命令(chmod)1. 字符模式语法2.

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进