访问控制
认证和授权是任何系统中的基础安全机制。认证用于验证用户身份,授权用于确定这些用户可以执行哪些操作。在 EMQX Edge 这一轻量级 MQTT Broker 中,这些机制对于保障系统安全、数据完整性和受控访问至关重要。
本节介绍 EMQX Edge 支持的访问控制机制,包括:
- 用户登录认证
- JWT 认证
- 访问控制列表(ACL)
- 基于 HTTP 的授权
基础认证配置示例
EMQX Edge 支持通过声明式语法进行灵活的认证配置。基础示例如下:
bash
auth {
allow_anonymous = true
no_match = allow
deny_action = ignore
password = {include "/etc/nanomq_pwd.conf"}
acl = {include "/etc/nanomq_acl.conf"}
}其中:
allow_anonymous的数据类型为boolean,默认值为true,表示允许匿名登录。no_match定义未找到匹配认证规则时的默认操作。deny_action定义授权检查拒绝请求时的处理方式。可选值为ignore或disconnect。password是密码文件路径。它会将nanomq_pwd.conf文件内容包含到配置中。请确保该文件仅包含正确格式的密码,并使用include引入密码文件。acl是 ACL 文件路径。它会将nanomq_acl.conf文件内容包含到配置中。请确保该文件仅包含正确格式的 ACL,并使用include引入 ACL 文件。
TIP
如果使用默认配置文件,则无需为密码和 ACL 文件使用 include 语法。include 指令主要面向希望单独管理这些配置的用户。