tencent cloud

消息队列 Pulsar 版

动态与公告
新功能发布记录
集群版本更新记录
产品公告
产品简介
TDMQ 产品系列介绍与选型
什么是消息队列 Pulsar 版
产品优势
应用场景
技术原理
产品系列
开源 Pulsar 版本支持说明
与开源 Pulsar 对比
高可用
配额与限制
基础概念
产品计费
计费概述
价格说明
计费示例
续费说明
查看消费明细
欠费说明
退费说明
快速入门
入门流程指引
准备工作
使用 SDK 收发普通消息
使用 SDK 收发高级特性消息
用户指南
使用流程指引
配置账号权限
新建集群
配置命名空间
配置 Topic
连接集群
管理集群
查询消息及轨迹
跨地域复制
查看监控和配置告警
实践教程
客户端使用实践
异常消费者隔离
限流机制说明
交易对账
消息幂等性
消息压缩
迁移指南
单写多读集群迁移方案
虚拟集群平滑迁移至专业集群
API 参考
API 概览
SDK 参考
SDK 概述
SDK 配置参数推荐
TCP 协议(Pulsar 社区版)
安全与合规
权限管理
删除保护
云 API 审计
常见问题
监控相关
客户端相关
服务协议
服务等级协议
TDMQ 政策
联系我们
词汇表

配置命名空间权限

PDF
聚焦模式
字号
最后更新时间: 2025-12-24 15:21:07
您可以通过角色与鉴权功能为每个生产者和消费者配置独立的角色,为不同角色赋予不同的命名空间资源的生产消费权限,以达到不同角色之间权限隔离的目的。当客户端进行消息生产或消费时,系统会进行鉴权,未被授权的操作将被拒绝。
这种机制有效实现了不同业务单元之间的权限隔离,既保障了消息系统的安全性,又满足了多团队协作场景下的资源管控需求,通过权限最小化原则从根本上避免了越权访问导致的数据混乱问题。

名词解释

角色(role):TDMQ Pulsar 版的“角色”是 TDMQ Pulsar 版内专有的概念,区别于腾讯云的“角色”,是用户自行在 TDMQ 内部做权限划分的最小单位,用户可以添加多个角色并为其赋予不同命名空间下的生产和消费权限。
密钥(token):TDMQ Pulsar 版的“密钥”是一种鉴权工具,用户可以通过在客户端中添加密钥来访问 TDMQ Pulsar 版进行消息的生产消费。密钥和角色一一对应,每种角色都有其对应的唯一密钥。

使用场景

用户需要安全地使用 TDMQ Pulsar 版进行消息的生产消费。
用户需要对不同的命名空间设置不同角色的生产消费权限。
例如:一个公司有 A 部门和 B 部门,A 部门的系统产生交易数据,B 部门的系统根据这些交易数据做数据分析和展示。那么遵循权限最小化原则,可以配置两种角色,A 部门角色只授予往交易系统命名空间中生产消息的权限,B 部门则只授予消费消息的权限。这样可以很大程度避免由于权限不清带来的数据混乱、业务脏数据等问题。

操作步骤

新增角色

2. 在左侧导航栏单击角色管理,选择地域和当前集群后,单击新建进入新建角色页面。
3. 在新建角色页面,填写角色名称和说明:
角色:最长为32个字符,支持数字、大小写字母和分隔符("_","-")。
说明(选填):不得超过128个字符。
4. 单击提交,完成当前角色的创建。



角色授权

1. 在 TDMQ Pulsar 版控制台的 角色管理 中,找到新建的角色,通过以下任一种方式复制角色密钥:
方式一:密钥列复制
方式二:操作列查看并复制
单击密钥列的复制


单击操作列的查看密钥,在查看密钥弹框中单击复制图标。


2. 将复制的角色密钥添加到客户端的参数中。
注意
密钥泄露很可能导致您的数据泄露,请妥善保管您的密钥。
在 Java 客户端中配置 JWT 鉴权:
2.7.1版本及以上集群接入示例
2.6.1版本集群接入示例
PulsarClient client = PulsarClient.builder()
//接入地址,在集群管理操作栏接入地址处复制
.serviceUrl("http://*")
//替换成角色密钥,位于角色管理页面
.authentication(AuthenticationFactory.token("eyJh****"))
.build();
PulsarClient client = PulsarClient.builder()
//接入地址,在集群管理-接入点列表完整复制
.serviceUrl("pulsar://*.*.*.*:6000/")
//替换成角色密钥,位于角色管理页面
.authentication(AuthenticationFactory.token("eyJh****"))
//custom:替换成路由ID,位于集群管理-接入点列表
.listenerName("custom:1********0/vpc-******/subnet-********")
.build();
在 Go 客户端中配置 JWT 鉴权:
2.7.1版本及以上集群接入示例
2.6.1版本集群接入示例
client, err := NewClient(ClientOptions{
//接入地址,在集群管理-接入点列表完整复制
URL: "http://*",
//替换成角色密钥,位于角色管理页面
Authentication: NewAuthenticationToken("eyJh****"),
})
client, err := NewClient(ClientOptions{
//接入地址,在集群管理-接入点列表完整复制
URL: "pulsar://*.*.*.*:6000",
//替换成角色密钥,位于角色管理页面
Authentication: NewAuthenticationToken("eyJh****"),
//custom:替换成路由ID,位于集群管理-接入点列表
ListenerName: "custom:1300*****0/vpc-******/subnet-********",
})

3. 在 TDMQ Pulsar 版控制台的 命名空间 中,选择需要配置生产消费权限的一个命名空间,单击操作列的配置权限
4. 单击添加角色,在下拉列表中找到刚刚新创建的角色,勾选上需要的权限,单击保存


5. 检查权限是否生效。 您可以运行配置好的客户端访问对应命名空间中的 Topic 资源,按照刚刚配置的权限进行生产或消费,看是否会产生没有权限的报错信息,如果没有即代表配置成功。

批量导入角色

针对用户业务系统比较复杂,需要设置的角色权限较多的场景,TDMQ Pulsar 版提供批量导入角色功能,您可以参考我们提供的配置模板,填写好角色及权限等字段信息后上传到控制台,TDMQ Pulsar 版会自动为您创建角色并配置好相关权限,减少重复操作成本。
说明:
除「说明」字段外,所有字段必填。
权限仅支持“生产消息”,“消费消息”,多个权限用英文逗号间隔。
单次最多可导入 300 条数据。
1. 在角色管理列表页面,点击左上角的批量导入角色
2. 在弹出的对话框中,下载好配置模板,按照要求填写好相关字段后保存。如下为一个填写示例:
角色名称
说明
集群名称
集群ID
命名空间
权限
role-test
test
cluster-test
pulsar-xxxxxxxxxxxxx
env-test
生产消息,消费消息
3. 在文件上传中,上传填写好的角色模板,TDMQ Pulsar 版会自动为您创建角色并配置好相关权限。

编辑权限

1. 在 TDMQ Pulsar 版控制台的 命名空间 中,找到需要配置生产消费权限的一个命名空间,单击操作列的配置权限,进入配置权限列表。
2. 在配置权限列表中,找到需要编辑权限的角色,单击操作列的编辑
3. 在编辑的弹框中,修改权限信息后,单击保存

删除权限

注意
删除权限为危险操作,请确保当前业务已经没有使用该角色进行消息的生产消费再进行此项操作,否则可能会出现客户端无法生产消费而导致的异常。
当角色还有配置在各命名空间中的权限时,不可删除。
1. 在 TDMQ Pulsar 版控制台的 命名空间 中,找到需要配置生产消费权限的一个命名空间,单击操作列的配置权限,进入配置权限列表。
2. 在配置权限列表中,找到需要删除权限的角色,单击操作列的删除
3. 在删除的弹框中,单击确认,即可删除该权限。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈