如果您需要对 MQTT 资源进行精细化的权限管理,可以使用访问管理服务(Cloud Access Management,CAM)来实现以下功能:
用户与权限分配:根据企业组织架构,为不同职能部门成员创建独立的用户或角色,并分配专属安全凭证(控制台登录密码、云 API 密钥等)或请求临时安全凭证,确保安全可控地访问 MQTT 资源。
精细化权限控制:基于员工职能设置差异化的访问策略,精确控制每个用户/角色可执行的操作类型和可访问的资源范围,实现严格的权限隔离。
账号体系介绍
不同账号类型的能力差异和相关参考文档如下:
账号类型 | 主账号 | 子账号 | |||
| | 子用户 | 企业微信子用户 | 协作者 | 消息接收人 |
定义 | 拥有腾讯云所有资源,可以任意访问其任何资源。 | 由主账号创建,完全归属于创建该子用户的主账号。 | 由主账号通过企业微信可见范围导入,完全归属于创建该企业微信子用户的主账号。 | 本身拥有主账号身份,被添加作为当前主账号的协作者,则为当前主账号的子账号之一,可切换回主账号身份。 | 仅拥有消息接收功能。 |
控制台访问 | ✔ | ✔ | 默认支持控制台登录 | ✔ | - |
编程访问 | ✔ | ✔ | ✔ | ✔ | - |
策略授权 | 默认已拥有全部策略 | ✔ | ✔ | ✔ | - |
消息通知 | ✔ | ✔ | ✔ | ✔ | ✔ |
参考文档 |
注意:
为了确保您的腾讯云账号及云资源使用安全,如非必要都应避免直接使用腾讯云主账号对资源进行操作,应创建子账号并按照最小权限原则赋予策略,使用权限范围有限的子账号操作您的云资源。
策略
策略用于定义和描述一条或多条权限的语法规范。默认情况下,主账号拥有其名下所有资源的访问权限,而子账号没有主账号下任何资源的访问权限。
主账号可以通过将策略关联到用户/用户组使其具备查看和使用特定资源的权限。腾讯云的策略类型分为预设策略和自定义策略。
预设策略
MQTT 为子账号提供了两种预设策略:
策略 | 描述 |
QcloudMQTTFullAccess | 全读写访问权限,可以在产品控制台进行读写等相关操作 |
QcloudMQTTReadOnlyAccess | 只读访问权限,仅能查看控制台的相关信息 |
自定义策略
如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权,策略设置可精确到 [API,资源,用户/用户组,允许/拒绝,条件] 维度,使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。
目前腾讯云提供以下两种灵活的自定义策略创建方式,满足不同使用习惯和需求:
可视化视图:采用向导式操作,用户无需了解策略语法即可通过界面选择云服务、操作、资源、条件等要素,由系统自动生成策略,降低使用门槛。
JSON 视图:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写 JSON 格式的策略内容。适合有一定技术基础的用户。
自定义策略示例
被授予该权限策略的子账户只具有实例 mqtt-xxx 的查询证书详情、查询 MQTT 客户端列表、查询 MQTT 实例详情信息的权限。
{"version": "2.0","statement": [{"effect": "allow","action": ["mqtt:DescribeClientList","mqtt:DescribeInstance","mqtt:DescribeCaCertificate"],"resource": ["qcs::mqtt::uin/1000****5002:instance/mqtt-****"]}]}
子账号授权操作
子账号使用 MQTT 时,需要对两方面进行授权:
类型 | 说明 | 参考文档 |
访问其他云产品权限 | 使用 MQTT 的过程中,需访问用户其他的云产品资源(VPC、CVM 等),如查看用户子网所在的可用区信息等场景。 | |
MQTT 资源的读写权限 | 获取 MQTT 资源的读写权限。 |
相关文档
目标 | 链接 |
了解策略和用户之间关系 | |
了解策略的基本结构 | |
了解还有哪些产品支持 CAM |