当前位置: 首页 > news >正文

MQTT:Dashboard访问授权

目录

  • 一、认证
    • 1.1 创建认证器
    • 1.2 多认证器
  • 二、授权
    • 2.1 ACL文件授权配置
    • 2.2 使用内置数据库授权配置


一、认证

认证:就是验证客户端的身份。

1.1 创建认证器

  1. 选择认证方式
  2. 配置数据源
  3. 配置数据源的相关参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
认证器创建之后,在使用客户端连接Dashboard时,就需要用户名以及密码的验证了
在这里插入图片描述

1.2 多认证器

Dashboard可以创建多个认证器,认证的过程从上往下依次执行。

在这里插入图片描述
在这里插入图片描述
建表语句

DROP TABLE IF EXISTS `mqtt_user`;
CREATE TABLE `mqtt_user`  (`id` int(0) NOT NULL,`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of mqtt_user
-- ----------------------------
INSERT INTO `mqtt_user` VALUES (1, 'root', '63a9f0ea7bb98050796b649e85481845', NULL);SET FOREIGN_KEY_CHECKS = 1;

MySQL查看MD5加密之后的数据

SELECT MD5('root');

二、授权

通常情况下,认证只是验证了客户端身份是否合法,而客户端是否具备发布、订阅某些主题的权限,还需要授权系统来判断,在EMQX中,授权是指对MQTT客户端的发布和订阅操作进行权限控制

2.1 ACL文件授权配置

每一条授权独占一行,由四部分组成,使用点(.)进行分割。

{allow, all, subscribe, ["$SYS/#", "#"]}.

第一部分:规则对应的权限,

  • allow:允许
  • deny:禁止

第二部分:适用此规则的客户端

  • all:匹配所有客户端
  • {username, “admin”}:指定单用户
  • {username, {re, “^dash”}}:正则匹配用户
  • {clientid, “admin”}:指定单客户端ID
  • {clientid, {re, “^dash”}}:正则匹配客户端ID
  • {ipaddr, “127.0.0.1”}:指定单IP地址
  • {ipaddr, [“127.0.0.1”, …]}:指定多IP地址
  • {‘and’, [Spec1, Spec2, …]}:满足列表中所有规范的客户端
  • {‘or’, [Spec1, Spec2, …]}:满足列表中任意规范的客户端

第三部分:指定规则对应的操作

  • publish:发布消息
  • subscribe:订阅消息
  • all:发布和订阅

第四部分:指定规则适用的MQTT主题,支持通配符,可以使用主题占位符

  • {allow, all}:允许所有请求
  • {deny, all}:禁止所有请求
  • "t/${clientid}":使用主题占位符,当客户端ID为emqx_c的客户端触发检查时,将精准匹配t/emqx_c主题。
  • "$SYS/#":通配符匹配$SYS开头的所有主题,例如:$SYS/foo$SYS/foo/bar
  • {eq, "foo/#"}:精确匹配foo/#主题,主题foo/bar将无法匹配,此处eq表示全等比较。

2.2 使用内置数据库授权配置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/612883.html

相关文章:

  • MQTT:Dashboard黑名单与连接抖动
  • 【LeetCode】set和map相关算法题 前K个高频单词、随机链表的复制、两个数组的交集、环形链表
  • Flink-1.19.0源码详解9-ExecutionGraph生成-后篇
  • VScode使用jupyter notebook,配置内核报错没有torch解决
  • 贪心算法分析与解决指南
  • 1.电动汽车动力电池系统技术介绍与分类
  • 机器视觉系统工业相机的成像原理及如何选型
  • OpenCV图像处理入门实战指南
  • 为什么需要日志收集系统
  • 【运维】自动化生产环境部署工作流
  • Mac/Windows跨平台PDF与AI高效解决方案
  • day 48 模型的可视化与推理
  • 连续最高天数的销售额(动态规划)
  • 3D 软件在游戏开发中的全链路应用:从原型到上线的实战解析
  • 音乐创作好助手—— 蘑兔音乐
  • 【自动驾驶】《Sparse4Dv3》代码学习笔记
  • uniapp/uniappx实现图片或视频文件选择时同步告知权限申请目的解决华为等应用市场上架审核问题
  • 行业应用案例:MCP在不同垂直领域的落地实践
  • 学深度学习,有什么好的建议或推荐的书籍?
  • 深入解析Java类加载机制:双亲委派模型的设计与实现
  • 开源大模型实战:GPT-OSS本地部署与全面测评
  • Android 之 Jetpack - Lifecycle
  • 告别复杂配置!cpolar让Prometheus监控突破网络限制
  • 【PHP 接口(Interface)完全入门指南】
  • 力控汽车零部件冲压MES系统方案
  • 汽车线束设计—导线的选取
  • 亚远景-ISO 42001:汽车AI安全的行业标准新趋势
  • 数字孪生系统让汽车工厂虚实联动预测维护少停机
  • Flink-1.19.0-核心源码详解
  • Linux图文理解进程