You need to enable JavaScript to run this app.
文档中心
云原生消息引擎

云原生消息引擎

复制全文
下载 pdf
客户端授权
客户端授权概述
复制全文
下载 pdf
客户端授权概述
您可以通过 Dashboard 可视化页面来快速配置 MQTT 的授权机制,无需编写代码或手动编辑配置文件,即可实现对 MQTT 客户端连接后的发布和订阅操作进行权限控制。本文档介绍 MQTT 客户端授权的原理、支持的授权资源以及授权流程。
授权原理
授权指对 MQTT 客户端的发布和订阅操作进行权限控制。当客户端尝试发布或订阅时,MQTT 会根据特定的流程或用户定义的查询语句,从指定数据源中获取该客户端的权限数据,将获取的权限与客户端要执行的操作进行匹配,并根据匹配结果允许或拒绝本次操作。
客户端的权限列表需要提前存储到特定的数据源中,然后在 MQTT 中创建基于相应数据源类型的授权检查器。
授权数据源
授权数据源用于存储客户端授权规则,在 MQTT Dashboard 客户端授权页面中,您可快速创建基于各类数据源的授权检查器。目前支持文件内置数据库以及 MySQL 3种数据源。
  • 文件:使用 ACL 文件来编辑和保存授权规则内容。
  • 内置数据库:使用 MQTT 内置数据库来编辑和保存授权规则内容,支持通过 Dashboard 配置授权规格,具体操作步骤,请参见配置内置数据库授权规则
  • MySQL:使用云数据库(MySQL 版)来编辑和保存授权规则内容,通过指定的 SQL 查询语句获取客户端权限数据。
注意事项
  • 单个 MQTT 实例中创建的授权检查器类型不能重复。
  • 授权数据源需与 MQTT 实例处于相同 VPC 内。
  • 为避免授权检查出错,请在必要时停用或删除基于 ACL 文件的授权检查器,因为 ACL 文件末尾包含的特殊规则 {allow, all} 默认允许所有请求。
授权检查流程
支持在单个 MQTT 实例中创建多个授权检查器构成授权链,以实现更灵活的授权检查。MQTT 将按照授权链中配置的检查器顺序依次执行授权检查。
授权检查流程如下:
  1. 当前授权检查器执行时检索到了客户端的权限信息,匹配当前执行的操作与客户端的权限信息:
  • 操作与权限匹配,根据权限允许或拒绝客户端的操作;
  • 操作与权限不匹配,交由下一授权检查器继续检查。
  1. 当前授权检查器执行时没有检索到客户端的权限信息,继续检查授权链中是否存在其他授权检查器:
  • 如存在,则跳过当前授权检查器,并将请求交由下一授权检查器继续检查。
  • 如不存在,则根据未匹配时执行参数配置,允许或拒绝客户端的操作。
  • 您可在 Dashboard 授权设置面板中配置未匹配时执行参数,具体操作请参见配置授权
最近更新时间:2025.08.04 17:30:04
这个页面对您有帮助吗?
有用
有用
无用
无用