# 访问控制(ACL)

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

访问控制对三个粒度进行权限控制

  1. 客户端 ID
  2. 用户名
  3. 全部用户:即对主题进行权限控制,不区分客户端 ID 和用户名

特别说明:访问控制默认采用黑名单模式,且 clientid/username + topic 唯一,即同一 clientid/username + topic 记录,仅最新一条记录有效

acl

# 查看访问控制信息

在左侧 认证鉴权访问控制 页面,可以查看访问控制信息,可以在上方切换三种粒度查看对应的访问控制信息

view_acl

# 添加访问控制信息

依次填入客户端 ID,主题,选择是否允许,选择动作:sub/pub/pubsub,点击添加按钮,完成添加

你可以在主题中使用以下占位符,请求时 EMQX Cloud将自动填充为客户端信息:

  • %u:用户名
  • %c:客户端 ID

add_acl

用户名全部用户 的操作相同

# 批量导入访问控制信息

可以通过 CSV 文件批量导入访问控制信息

全部用户不支持

  1. 点击导入按钮

  2. 下载模板

  3. 填写访问控制信息后上传文件

    username 示例模板文件如下图所示

    acl_username_csv

    clientid 示例模板文件如下图所示

    acl_clientid_csv

  4. 点击导入按钮导入

    import_acl

导入字段说明

  • clientid: 客户端 ID
  • username:用户名
  • topic:访问控制的主题
  • action:动作(sub/pub/pubsub)
  • access:是否允许(allow/deny)

# 删除访问控制信息

点击访问控制信息右侧的删除图标即可删除

delete_acl