tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们

自定义策略

PDF
聚焦模式
字号
最后更新时间: 2025-08-13 15:06:54
注意:
本文档主要介绍__即时通信 Chat__ 访问管理功能的相关内容,其他产品访问管理相关内容请参见 支持 CAM 的产品
在 Chat 访问管理中使用 预设策略 来实现授权虽然方便,但权限控制粒度较粗,不能细化到 Chat 应用和 云 API 粒度。如果开发者要求精细的权限控制能力,则需要创建自定义策略。

自定义策略创建方法

自定义策略有多种创建方法,下方表格展示各种方法的对比,具体操作流程请参考下文。
创建入口
创建方法
效力(Effect)
资源(Resource)
操作(Action)
灵活性
难度
策略生成器
手动选择
语法描述
手动选择
策略语法
语法描述
语法描述
语法描述
CAM 服务端 API
语法描述
语法描述
语法描述
说明:
Chat __不支持__按产品功能或项目来创建自定义策略。
__手动选择__指用户在控制台所展示的候选项列表中选择对象。
__语法描述__指通过 授权策略语法 来描述对象。

授权策略语法

资源语法描述

如上文所述,Chat 权限管理的资源粒度是应用。应用的策略语法描述方式遵循 CAM 资源描述方式。在下文的示例中,开发者的主账号 ID 是12345678,开发者创建了三个应用:SDKAppID 分别是1400000000、1400000001和1400000002。
即时通信 Chat 所有应用的策略语法描述
"resource": [
"qcs::im::uin/12345678:sdkappid/*"
]
单个应用的策略语法描述
"resource": [
"qcs::im::uin/12345678:sdkappid/1400000001"
]
多个应用的策略语法描述
"resource": [
"qcs::im::uin/12345678:sdkappid/1400000000",
"qcs::im::uin/12345678:sdkappid/1400000001"
]

操作语法描述

如上文所述,实时音视频权限管理的操作粒度是云 API。在下文的示例中,以DescribeAppStatList(获取应用列表)、DescribeSdkAppInfo(获取应用信息)等云 API 为例。
即时通信 Chat 所有云 API 的策略语法描述
"action": [
"name/im:*"
]
单个云 API 操作的策略语法描述
"action": [
"name/im:DescribeAppStatList"
]
多个云 API 操作的策略语法描述
"action": [
"name/im:DescribeAppStatList",
"name/im:DescribeTrtcAppAndAccountInfo"
]

自定义策略使用示例

使用策略生成器

在下文示例中,我们将创建一个自定义策略。该策略允许对1400000001这个即时通信 Chat 应用进行任何操作。
1. 以腾讯云 主账号 的身份访问 CAM 控制台的策略,单击新建自定义策略
2. 选择按策略生成器创建,进入策略创建页面。
3. 选择服务和操作。
效果(Effect)配置项选择允许
服务(Service)配置项选择即时通信 Chat
操作(Action)配置项勾选所有项。
资源(Resource)配置项按照 资源语法描述 说明填写qcs::im::uin/12345678:sdkappid/1400000001
条件(Condition)配置项无需配置。
单击添加声明,页面最下方会出现一条“允许对即时通信 Chat 应用1400000001进行任何操作”的声明。
4. 在同个页面中继续添加另一条声明。
效果(Effect)配置项选择拒绝
服务(Service)配置项选择即时通信 Chat
操作(Action)配置项勾选RemoveUser(可通过搜索功能快速查找)。
资源(Resource)配置项按照 资源语法描述 说明填写qcs::im::uin/12345678:sdkappid/1400000001
条件(Condition)配置项无需配置。
单击添加声明,页面最下方会出现一条“拒绝对即时通信 Chat 应用1400000001进行RemoveUser操作”的声明。
5. 单击下一步,按需修改策略名称(也可以不修改)。
6. 单击完成完成自定义策略的创建。
后续将该策略授予其他子账号的方法同 将 Chat 全读写访问权限授予已存在的子账号

使用策略语法

在下文示例中,我们将创建一个自定义策略。该策略允许对1400000001和1400000002这两个即时通信 Chat 应用进行任何操作。
1. 以腾讯云 主账号 的身份访问 CAM 控制台的策略,单击新建自定义策略
2. 选择按策略语法创建,进入策略创建页面。
3. 选择模板类型框下选择空白模板
说明:
策略模板指新策略是现有策略(预置策略或自定义策略)的一个拷贝,然后在此基础上做调整。在实际使用中,开发者可以根据情况选择合适的策略模板,降低编写策略内容的难度和工作量。
4. 单击下一步,按需修改策略名称(也可以不修改)。
5. 编辑策略内容编辑框中填写策略内容。本示例的策略内容为:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"name/im:*"
],
"resource": [
"qcs::im::uin/12345678:sdkappid/1400000001",
"qcs::im::uin/12345678:sdkappid/1400000002"
]
},
{
"effect": "deny",
"action": [
"name/im:RemoveUser"
],
"resource": [
"qcs::im::uin/12345678:sdkappid/1400000001"
]
}
]
}
说明:
策略内容需遵循 CAM 策略语法逻辑,其中资源和操作两个元素的语法请参见上文 资源语法描述操作语法描述 所述。
6. 单击创建策略完成自定义策略的创建。 后续将该策略授予其他子账号的方法同 将 Chat 全读写访问权限授予已存在的子账号

使用 CAM 提供的服务端 API

对于大多数开发者来说,在控制台完成权限管理操作已经能满足业务需求。但如果需要将权限管理能力自动化和系统化,则可以基于服务端 API 来实现。 策略相关的服务端 API 属于 CAM,具体请参见 CAM 官网文档。此处仅列出几个主要接口:

帮助和支持

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

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

文档反馈