Skip to content

访问控制 ​

认证和授权是任何系统中的基础安全机制。认证用于验证用户身份,授权用于确定这些用户可以执行哪些操作。在 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 指令主要面向希望单独管理这些配置的用户。