授权
授权是指对 MQTT 客户端的发布和订阅操作进行权限控制。EMQX 的授权机制基本原理是:当客户端尝试发布或订阅时,EMQX 会根据特定流程或用户定义的查询语句,从数据源中获取该客户端的权限数据,将权限与要执行的操作进行匹配,根据匹配结果来允许或拒绝本次操作。
单条客户端权限数据由以下部分组成:
权限 | 客户端 | 操作 | 操作详情 |
---|---|---|---|
允许/拒绝 | 客户端 ID/用户名/IP 地址 | 发布/订阅/发布订阅 | 主题/QoS/保留消息 |
默认授权
EMQX Platform 提供默认授权方式,将基于内置数据库存储规则进行授权检查。
扩展授权
除了基于内置数据库的默认授权,还支持通过与多类后端数据库的集成提供授权认证,包括 MySQL、PostgreSQL、Redis 和 HTTP。
不同版本授权方式支持
版本 | 默认授权 | 扩展授权 |
---|---|---|
Serverless | ✓ | ✗ |
专有版 | ✓ | ✓ |
旗舰版 | ✓ | ✓ |