美文网首页
mqtt动态管理acl之redis

mqtt动态管理acl之redis

作者: 有怪兽变身奥特曼 | 来源:发表于2022-05-17 09:28 被阅读0次

在工作使用中,很多场景需要进行acl的动态管理,本文使用redis支持acl的动态管理。

发布订阅 ACL 指对 发布 (PUBLISH)/订阅 (SUBSCRIBE) 操作的 权限控制。

1.配置emqx_auth_redis.conf文件

一般路径为:/etc/emqx/plugins/emqx_auth_redis.conf

auth.redis.server = 127.0.0.1:6379 # redis服务器地址 
auth.redis.pool = 8 # redis连接池
auth.redis.database = 9 # redis库
auth.redis.password = xxxxxxxx # redis连接密码
auth.redis.auth_cmd = HMGET mqtt_user:%u password
auth.redis.password_hash = plain
auth.redis.acl_cmd = HGETALL mqtt_acl:%u

auth.redis.auth_cmd = HMGET mqtt_user:%u password
使用redis的hash,配置acl用户名和密码,例如:mqtt_user:test password 123

配置用户名和密码
auth.redis.password_hash = plain
表示密码使用明文

auth.redis.acl_cmd = HGETALL mqtt_acl:%u
使用redis的hash,配置acl规则,例如:mqtt_acl:test ppp 3

配置acl规则
其中,ppp为主题;3为方式。
方式数字表示
1 订阅
2 发布
3 订阅发布

mqtt_user:%u和mqtt_acl:%u不仅可以配置用户名,也可以用来指定clientid
%u表示用户名
%c表示clientid

2.打开插件emqx_auth_redis

打开插件emqx_auth_redis

插件打开并启动后,就可以使用redis进行acl的规则配置。

相关文章

  • mqtt动态管理acl之redis

    在工作使用中,很多场景需要进行acl的动态管理,本文使用redis支持acl的动态管理。 发布订阅 ACL 指对 ...

  • Redis 6.0 新特性 ACL 介绍

    Redis 6.0 新特性 ACL 介绍 Intro 在 Redis 6.0 中引入了 ACL(Access Co...

  • 基于 MySQL 的 EMQ X Auth & ACL

    基于 MySQL 的 EMQ X Auth & ACL 在阅读该教程之前,假定你已经了解 MQTT、MQTT 5 ...

  • ACL安全策略

    ACL安全策略在redis版本6之后 1、为Redis设置密码 2、新特性ACL安全策略,开启 3,ACL设置 4...

  • MQTT MOSCA ACL

    MQTT ACL 1、ACL 访问控制列表a、用户控制b、发布控制c、订阅控制 客户端代码 自定义访问控制列表 ...

  • 【Redis源码】Redis 6 ACL源码详解

    简介 本文主要是讲解Redis 6的ACL的实现原理。基本使用详见:Redis 6.0新特性——ACLs[/art...

  • Redis | 冰河winner详解redis的前世今生

    1.认识redis 2. Redis之(二)数据类型及存储结构 3. Redis之(三)管理命令 4. Redis...

  • MQTT Broker技术选型

    技术需求 完整的MQTT协议支持; 支持设备认证、发布订阅ACL; 消息能够持久化存储到数据库; 支持集群部署,支...

  • Linux之——ACL

    ACL: 访问控制列表 access control list 实现灵活的权限管理设置ACL权限setfac...

  • Redis 数据结构之SDS

    Redis 数据结构之SDS 简单动态字符串 为了实现对于字符串的高效操作,Redis 自己构建的一种名为简单动态...

网友评论

      本文标题:mqtt动态管理acl之redis

      本文链接:https://www.haomeiwen.com/subject/jlwgurtx.html