腾讯云消息队列 MQTT 版提供完善的企业级安全防护体系,通过主子账号管理、严格的授权与鉴权机制,构建多层次、全方位的安全防护,确保消息传输的每一个环节都得到可靠保护,全面保障数据安全。
控制面权限(账号级)
通过访问管理服务(Cloud Access Management,CAM)主子账号、协作者等功能,实现主子账号之间以及企业间跨账号的授权服务,同时也可通过账号访问密钥管理实现 API 调用云资源的控制。
身份认证
通过控制台或者调用云 API 对 MQTT 资源进行访问,两种方式都需要先进行身份认证,通过认证后才能访问对应的资源。
调用云 API:需要验证访问密钥(AccessKey),访问密钥是用户访问腾讯云 API 进行身份验证时需要用到的安全凭证,由 SecretId 和 SecretKey 一起组成。详细介绍请参考账号访问密钥管理。
访问控制
通过访问管理服务(Cloud Access Management,CAM)可以在账号层面对 MQTT 资源进行精细化的权限管理。
用户与权限分配:根据企业组织架构,为不同职能部门成员创建独立的用户或角色,并分配专属安全凭证(控制台登录密码、云 API 密钥等)或临时凭证,确保安全可控地访问 MQTT 资源。
精细化权限控制:基于员工职能设置差异化的访问策略,精确控制每个用户/角色可执行的操作类型和可访问的资源范围,实现严格的权限隔离。
数据面权限(MQTT 资源级)
MQTT 通过认证管理和授权策略,实现双重安全防护。认证方式用于验证设备身份,授权策略精细化管控 Topic 的操作权限,实现细粒度资源级别的访问隔离。
认证
MQTT 提供了多种认证方式以保证服务端与客户端之间通信的安全性,客户端接入时,将按照配置的认证方式对客户端的身份进行验证,通过认证后才被允许接入,确保设备的合法接入。
当前支持五种认证方式:用户名+密码认证、X.509 证书认证、JWT 认证、外部 HTTP 认证、一机一密。以上五种方式选择一种使用即可。
授权
MQTT 支持精细的授权策略,可以根据用户名、客户端标识符(Client Identifier)、主题、客户端 IP 地址、动作(连接、发布、订阅)等进行授权。开启授权策略管理后,当 MQTT 客户端连接、发布或者订阅时,服务端将会查询授权数据源,将查询到的访问控制规则与要执行的操作进行匹配,根据匹配结果确定允许或者拒绝本次操作。