Skip to content

客户端认证

FlowMQ 提供统一的客户端认证能力,所有协议(MQTT、Kafka、AMQP、NATS)共享同一套账号与凭据体系。

认证默认开启,初始状态下没有为任何协议配置认证器,此时客户端可匿名访问,确保开箱即用。管理员可随时创建认证器、将其绑定到对应协议,按需收紧安全策略。

认证器

认证器是执行凭据校验的组件。FlowMQ 支持以下认证器类型:

类型说明状态
密码认证(password)用户名/密码认证,凭据存储于 FlowMQ 内部可用
Webhook将认证请求转发至外部 HTTP 服务,由业务系统决定是否放行可用
X.509 证书基于客户端 TLS 证书(mTLS)进行身份识别规划中
OIDC对接 OpenID Connect / OAuth2,验证 JWT 令牌规划中
LDAP对接 LDAP / Active Directory规划中

管理员可以创建任意数量的认证器实例,并分别为每个协议指定使用哪一个。

各协议的凭据承载方式:

协议认证方式
MQTTCONNECT 报文中的 username / password
KafkaSASL/PLAIN
AMQPSASL PLAIN
NATSCONNECT 命令中的认证信息

协议与认证器的绑定

每个协议最多绑定一个认证器。当某个协议绑定了认证器时,该协议的所有连接都必须通过对应的凭据校验;未绑定认证器的协议则允许匿名访问。

这种模型让管理员可以按协议独立配置认证策略。例如,对外的 MQTT 接入使用 Webhook 对接业务系统,内部的 Kafka 接入使用内置的用户名/密码认证,而 NATS 保持匿名开放。

匿名访问

如果某个协议没有绑定认证器,客户端无需提供凭据即可连接,FlowMQ 会以匿名身份接受该连接。这保证了未配置认证器的协议不会被意外中断。

如需强制所有连接必须认证,请为每个对外开放的协议都绑定一个认证器。

Dashboard 操作

在 Dashboard 的 Authentication 页面可以:

  • 创建、编辑和删除认证器实例
  • 为每个协议绑定或解绑认证器
  • 对密码认证器执行用户管理(创建用户、修改密码、删除用户)

客户端认证