- 文档首页
云原生消息引擎
MQTT 实例用户指南
Dashboard指南
访问控制
客户端授权
创建客户端授权
创建客户端授权
本文介绍在 MQTT Dashboard 上创建客户端授权检查器的操作步骤。
使用 MySQL 作为数据源时,请先确保以下事项:
- 在 Dashboard 导航栏选择访问控制 > 客户端授权,单击页面右上角的创建。
说明
在创建授权后,授权检查器默认处于启用状态。
内置数据库授权无需配置参数。
说明
在创建内置数据库授权后,您可通过 Dashboard 在内置数据库中配置授权规则,具体操作步骤,请参见配置内置数据库授权规则。
MQTT 支持多种 MySQL 表结构、多个表结构联合查询,或者从视图中查询。您只需要提供一个查询的 SQL 模板,确保查询结果中包含以下字段:
CREATE TABLE `mqtt_acl` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(100) NOT NULL,
`permission` varchar(5) NOT NULL,
`action` varchar(9) NOT NULL,
`topic` varchar(100) NOT NULL,
INDEX username_idx(username),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
说明
当系统中有大量权限数据时,请确保查询使用的表已优化并使用有效的索引,以提升大量连接时的数据查找速度、并降低 MQTT 负载。
- 规则内容:用户名为 mqtt_u,禁止发布到 t/1 主题。
INSERT INTO mqtt_acl(username, permission, action, topic) VALUES ('mqtt_u', 'deny', 'publish', 't/1');
- 规则内容:用户名为 mqtt_u,禁止发布保留消息到 t/2 主题。
INSERT INTO mqtt_acl(username, permission, action, topic, retain) VALUES ('mqtt_u', 'deny', 'publish', 't/2', 1);
- 以 {username} 作为查询条件,在表 mqtt_acl 中查询客户端权限信息的查询语句示例如下:
permission, action, topic, qos, retain
WHERE username = ${username}
最近更新时间:2025.08.04 17:46:11