ranger管mysql_添加Kafka的Ranger访问权限策略

设置Kafka管理员权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - topic”的策略,单击9a00af2bbac4515c553982c42f7e5b6e.png按钮编辑策略。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Select/Deselect All”。

设置用户对Topic的创建权限

在“Topic”配置Topic名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Create”。

说明:

目前Kafka内核支持"--zookeeper"和"--bootstrap-server"两种方式创建Topic,社区将会在后续的版本中删掉对"--zookeeper"的支持,所以建议用户使用"--bootstrap-server"的方式创建Topic。

注意:目前Kafka只支持"--bootstrap-server"方式创建Topic行为的鉴权,不支持对"--zookeeper"方式的鉴权

设置用户对Topic的删除权限

在“Topic”配置Topic名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Delete”。

说明:

目前Kafka内核支持"--zookeeper"和"--bootstrap-server"两种方式删除Topic,社区将会在后续的版本中删掉对"--zookeeper"的支持,所以建议用户使用"--bootstrap-server"的方式删除Topic。

注意:目前Kafka只支持对"--bootstrap-server"方式删除Topic行为的鉴权,不支持对"--zookeeper"方式的鉴权

设置用户对Topic的查询权限

在“Topic”配置Topic名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Describe”和“Describe Configs”。

说明:

目前Kafka内核支持"--zookeeper"和"--bootstrap-server"两种方式查询Topic,社区将会在后续的版本中删掉对"--zookeeper"的支持,所以建议用户使用"--bootstrap-server"的方式查询Topic。

注意:目前Kafka只支持对"--bootstrap-server"方式查询Topic行为的鉴权,不支持对"--zookeeper"方式的鉴权

设置用户对Topic的生产权限

在“Topic”配置Topic名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Publish”。

设置用户对Topic的消费权限

在“Topic”配置Topic名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Consume”。

说明:

因为消费Topic时,涉及到Offset的管理操作,必须同时开启ConsumerGroup的“Consume”权限,详见“设置用户对ConsumerGroup Offsets 的提交权限”

设置用户对Topic的扩容权限(增加分区)

在“Topic”配置Topic名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Alter”。

设置用户对Topic的配置修改权限

当前Kafka内核暂不支持基于“--bootstrap-server”的Topic参数修改行为,故当前Ranger不支持对此行为的鉴权操作。

设置用户对Cluster的所有管理权限

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Kafka Admin”。

设置用户对Cluster的创建权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - cluster”的策略,单击16df36931744f45959d87dbe92e5e256.png按钮编辑策略。

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Create”。

说明:

对于Cluster的Create操作鉴权主要涉及以下两个场景:

集群开启了“auto.create.topics.enable”参数后,客户端向服务的还未创建的Topic发送数据的场景,此时会判断用户是否有集群的Create权限

对于用户创建大量Topic的场景,如果授予用户Cluster Create权限,那么该用户可以在集群内部创建任意Topic

设置用户对Cluster的配置修改权限

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Alter Configs”。

说明:

此处的配置修改权限,指的是Broker、Broker Logger的配置权限。

当授予用户配置修改权限后,即使不授予配置查询权限也可查询配置详情(配置修改权限高于且包含配置查询权限)。

设置用户对Cluster的配置查询权限

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Describe”和 “Describe Configs”。

说明:

此处查询指的是查询集群内的Broker、Broker Logger信息。该查询不涉及Topic。

设置用户对Cluster的Idempotent Write权限

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Idempotent Write”。

说明:

此权限会对用户客户端的Idempotent Produce行为进行鉴权。

设置用户对Cluster的分区迁移权限管理

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Alter”。

说明:

Cluster的Alter权限可以对以下三种场景进行权限控制:

Partition Reassign场景下,迁移副本的存储目录。

集群里各分区内部leader选举。

Acl管理(添加或删除)。

其中1和2都是集群内部Controller与Broker间、Broker与Broker间的操作,创建集群时,默认授予内置kafka用户此权限,普通用户授予此权限没有意义。

3涉及Acl的管理,Acl设计的就是用于鉴权,由于目前kafka鉴权已全部托管给Ranger,所以这个场景也基本不涉及(配置后亦不生效)。

设置用户对Cluster的Cluster Action权限

在“cluster”右侧输入并选择集群名。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Cluster Action”。

说明:

此权限主要对集群内部副本主从同步、节点间通信进行控制,在集群创建时已经授权给内置kakfa用户,普通用户授予此权限没有意义。

设置用户对TransactionalId的权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - transactionalid”的策略,单击f4ca38870ba1ca91cc8931fe35b2ff3c.png按钮编辑策略。

在“transactionalid”配置事务ID。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Publish”和 "Describe"。

说明:

“Publish”权限主要对用户开启了事务特性的客户端请求进行鉴权,例如事务开启、结束、提交offset、事务性数据生产等行为。

“Describe”权限主要对于开启事务特性的客户端与Coordinator的请求进行鉴权。

建议在开启事务特性的场景下,给用户同时授予“Publish”和“Describe”权限。

设置用户对DelegationToken的权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - delegationtoken”的策略,单击422ad5163e9247a941757388a92aea86.png按钮编辑策略。

在“delegationtoken”配置delegationtoken。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“ Describe”。

说明:

当前Ranger对DelegationToken的鉴权控制仅限于对查询的权限控制,不支持对DelegationToken的create、renew、expire操作的权限控制。

设置用户对ConsumerGroup Offsets 的查询权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - consumergroup”的策略,单击4b103f561e226215362713e529252368.png按钮编辑策略。

在“consumergroup”配置需要管理的consumergroup。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Describe”。

设置用户对ConsumerGroup Offsets 的提交权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - consumergroup”的策略,单击4940603e322ebbda6960a41cb2eb34e3.png按钮编辑策略。

在“consumergroup”配置需要管理的consumergroup。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Consume”。

说明:

当给用户授予了ConsumerGroup的“Consume”权限后,用户会同时被授予“Describe”权限。

设置用户对ConsumerGroup Offsets 的删除权限

在首页中单击“Kafka”区域的组件插件名称,例如“Kafka”。

选择“Policy Name”为“all - consumergroup”的策略,单击dd92728c799a14659416b9db956b88d6.png按钮编辑策略。

在“consumergroup”配置需要管理的consumergroup。

在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

单击“Add Permissions”,勾选“Delete”。

说明:

当给用户授予了ConsumerGroup的“Delete”权限后,用户会同时被授予“Describe”权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python twisted和flask_Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)

上篇 Python基础第1章 Python基础知识2 1.1 Python综述3 1.1.1 了解Python的特性及版本3 1.1.2 安装Python5 1.1.3 使用Python原生编辑器8 1.1.4 使用Eclipse开发环境9 1.1.5 Python编程入门——解决“斐波那契数列”问题14 1.2 数据类型17 1.2.1 Number类型17 1.2.2 Sequence类…

lt;++mysql_php+js+mysql设计的仿webQQ-lt;1gt;邮箱验证

最近用phpjsmysql做了一个仿webQQ的课程设计&#xff0c;收获很多&#xff0c;现在将关键的技术总结一下&#xff0c;供大家学习交流。<1>邮箱验证用户在注册的时候&#xff0c;会在文本框里输入邮箱&#xff0c;这个时候通过文本框的onblur和onchange事件用Ajax无刷新技…

ubuntu安装python3.6_Ubuntu上安装python3.6以及多版本python管理 | SQN

这篇文章记录了如何在Ubuntu上安装python3.6以及将其设置为系统默认。 查看Ubuntu版本 由于python3.6在不同的Ubuntu版本中的安装是不一样的&#xff0c;这里我们先来看一下的Ubuntu的版本&#xff0c;在terminal中输入lsb_release -a即可查看&#xff0c;例如我的Ubuntu版本为…

mysql 5.7 redo replacation_mysql replace

Oracle MySQL相关工具replace操作实现方式区别数据导入工具中的replace1&#xff0c;oracle impdp 导入数据的表已存在指定TABLE_EXISTS_ACTION参数&#xff0c;如果目标库存在相同名称的表&#xff0c;执行下面的操作1) skip&#xff1a;默认跳过这张表&#xff0c;继续下一个…

mysql数据库open函数_C#访问Mysql数据库方法,以及库函数

先说说在C#当中需要准备的工作吧。在这里我分为了四个步骤&#xff1a;1.网上下载MySql.Data.dll2.在项目当中添加引用MySql.Data.dll3.在操作类当中添加&#xff1a;using MySql.Data;using MySql.Data.MySqlClient;4&#xff0e;接下来就是具体的函数了同时&#xff0c;在这里…

vue @click 多个事件_VUE学习记录3

v-on的基本使用​ 在前面的计数器案例中使用了v-on:click监听单击事件。这里在回顾一下&#xff1a;<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-w…

mysql的日志迁移到mango_mysql 向mongo迁移备忘

由于之前涉及mysql分表&#xff0c;把用户所关联的各种数据&#xff0c;我们暂设定为abcd,代表四种业务比如userid 为1 &#xff0c;可能属于 a1表&#xff0c;a2表&#xff0c;b3表&#xff0c;d4表。现在要统一改为mongo实现在user表中有一个abcd字段&#xff0c;类型是数组&…

cas登录成功后不跳转成功页面_SpringSecurity用户登录成功后页面跳转原理剖析

Spring Security 框架在用户成功登录后的处理逻辑&#xff0c;相对来说比较复杂&#xff0c;比较绕&#xff0c;下面我们就关键逻辑&#xff0c;进行相关分析。首先&#xff0c;框架默认的 AuthenticationSuccessHandler 为 SavedRequestAwareAuthenticationSuccessHandler。判…

python萤火虫算法_FA:萤火虫算法的测试及Python实现

一、Python中传递函数def Test(a,b):print(a,b)class TEST:def __init__(self, FitnessFunction):self.FitnessFunction FitnessFunctiondef initial(self):self.FitnessFunction(1,2)if __name__ __main__:fa TEST(Test)fa.initial()二、常用优化算法测试函数及实现这里学到…

android pdf阅读器开发_如何在 Windows 10 中将 Firefox 设置为默认 PDF 阅读器

PDF 作为办公一族中的必备文档&#xff0c;很多人都会编辑或者创建 PDF 文档&#xff0c;而在 Windows 系统中并没有默认的 PDF 阅读器。而在新版的 Microsoft Edge微软已在开始提供有真正的高级 PDF 控件&#xff0c;从而使用户可以正常使用文档而无需其他专用 PDF 阅读器应用…

shell脚本和python脚本和go脚本的区别_Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例-Go语言中文社区...

NodeJS 子进程提供了与系统交互的重要接口&#xff0c;其主要 API 有&#xff1a;1)标准输入、标准输出及标准错误输出的接口&#xff1b;child.stdin 获取标准输入child.stdout 获取标准输出child.stderr 获取标准错误输出2)获取子进程的PID&#xff1a;child.pid提供生成子进…

js文件中怎么使用thymeleaf标签_007、Spring Boot集成Thymeleaf模板引擎

1. Thymeleaf 介绍Thymeleaf 是适用于 Web 和独立环境的现代服务器端 Java 模板引擎。Thymeleaf 的主要目标是为您的开发工作流程带来优雅的自然模板 - 可以在浏览器中正确显示的HTML&#xff0c;也可以用作静态原型&#xff0c;从而在开发团队中实现更强大的协作。 以上翻译自…

python删除txt指定内容_正则表达式使用python从文件中过滤和删除特定的多行文本...

我正在编写一个python工具来处理一组文件.该工具将由其他用户而非我使用. 文件类似于以下格式&#xff1a; #Text which I want to keep intact #Lots of text #Lots and lots of text #Lots and lots and lots of other text #Then in-between the file I have text in this f…

java英语词汇_java常用的英语单词

java常用的英语单词神秘的jave应该记住的英语单词有哪些呢?单词这么多&#xff0c;小编表示也很困扰。不过小编还是为大家整理出来了一些jave常用的英语单词&#xff0c;减轻大家负担。public[pʌblik] 公共的,公用的static[sttik] 静的;静态的;静止的void&#xff1a;[vɔid]…

python语言中包含的标准数据类型_python标准数据类型(笔记一)

关于python&#xff0c;它是一种解释型&#xff0c;面对对象&#xff0c;带有动态语义的高级程序设计语言。 之前学习python的时候&#xff0c;简单的将python的基础内容过了一遍&#xff0c;然后在工作中需要用到什么就相应的去加深某一模块的需求以及应用&#xff0c;总觉得基…

java app接口安全认证_关于接口安全认证方式

一.AccessKey&SecretKey (开放平台)1、请求身份为开发者分配AccessKey(开发者标识&#xff0c;确保唯一)和SecretKey(用于接口加密&#xff0c;确保不易被穷举&#xff0c;生成算法不易被猜测)。2、防止篡改参数签名&#xff1a;(1)按照请求参数名的字母升序排列非空请求参…

python怎么输入一个数字并调用_python如何直接输入上一句话,如何快速打出上一句话...

如何快速打出上一句话 用搜狗或者QQ拼音打字法&#xff0c;里面有设置快捷键输入语就行了。 Python&#xff0c;怎么在输入非数字时&#xff0c;输出一句话 Python提供2113了两个内置函数从标准输入5261读入一行文本&#xff0c;默4102认的标准输入是键盘。如下&#xff1a;165…

python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行

最近学了些Web&#xff0c;了解了一些selenum包内函数使用&#xff0c;就写了下自动健康打卡&#xff0c;并用windows任务计划程序定时执行&#xff0c;健康打卡这个针对特定网站&#xff0c;所以对于通用化使用倒没有太大用处&#xff0c;但关于腾讯文档如何填写&#xff0c;因…

mysql查询今天_昨天_7天_近30天_本月_上一月 数据_(转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据...

查询今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) < 17天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 w…

python3实用编程技巧_6.python3实用编程技巧进阶(一)

1.1.如何在列表中根据条件筛选数据# 1.1.如何在列表中根据条件筛选数据 data [-1, 2, 3, -4, 5] #筛选出data列表中大于等于零的数据 #第一种方法&#xff0c;不推荐 res1 [] for x in data: if x > 0: res1.append(x) print(res1) #第二种用列表解析&#xff0c;推荐使用…