EMQ 认证设置和acl访问控制

配置文件 说明
etc/emqx.conf EMQ X 配置文件
etc/acl.conf EMQ X 默认 ACL 规则配置文件
etc/plugins/*.conf EMQ X 扩展插件配置文件

1、mqtt认证设置

etc/emqx.conf

allow_anonymous = true #默认开启匿名认证,任何客户端都可以连接mqtt服务器

allow_anonymous = false #关闭匿名认证

(注意:连接认证和权限是两回事)

想要客户端client连接mqtt,需要开启emqx_auth_username的插件或者mysql插件认证emqx_auth_mysql

例如在emqx_auth_username插件中配置用户名和密码

auth.user.1.username = admin
auth.user.1.password = public

这样就可以用上面的用户名和密码连接mqtt服务

 

2、mqtt ACL访问控制

ACL 访问控制规则:

"允许(Allow) / 拒绝(Deny)"  "谁(Who)"  "订阅(Subscribe) / 发布(Publish)" "主题列表(Topics)"

EMQ 认证设置和acl访问控制_第1张图片

etc/emqx.conf

## Allow or deny if no ACL rules matched

mqtt.acl_nomatch = allow #ACL未匹配时默认授权,如果匹配不到的权限也都有

mqtt.acl_nomatch = deny #ACL未匹配时默认授权,配置什么权限,客户端就有什么权限

 

mqtt.acl_file = etc/acl.conf #使用文件定义默认ACL规则(内置ACL)

acl.conf 中应只包含一些简单而通用的规则,使其成为系统基础的 ACL 原则。如果需要支持复杂、大量的 ACL 内容,你应该在认证插件中去实现它。

 

mysql插件的访问控制emqx_auth_mysql #使用mysql插件定义ACL规则

 

你可能感兴趣的:(EMQ 认证设置和acl访问控制)