Skip to content

客户端认证

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

认证默认开启,初始状态下所有认证器处于禁用状态,此时客户端可匿名访问,确保开箱即用。管理员可随时通过 API 启用认证器、创建用户,按需收紧安全策略。

认证器

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

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

每个认证器可独立启用、禁用。内置认证器(builtin)不可删除,但可以禁用。

内置认证器

内置认证器是 FlowMQ 自带的用户名/密码认证方式,凭据存储在 FlowMQ 内部。它作为单例始终存在于认证链中,不可删除,但可以启用或禁用。

各协议使用内置认证器的方式:

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

认证链

多个认证器可组成链式结构,按顺序依次评估。FlowMQ 提供两种链模式:

模式跳过(不支持该凭据类型)失败(凭据校验不通过)成功
first-success(默认)继续下一个终止,认证失败终止,认证成功
try-all继续下一个继续下一个终止,认证成功

管理员可通过 API 调整认证器的顺序和链模式,灵活适配不同场景。

匿名访问

当认证已开启但没有任何认证器处于启用状态时,FlowMQ 默认允许匿名访问,客户端无需提供凭据即可连接。这保证了开启认证不会中断尚未配置认证器的集群。

如需严格要求所有连接必须认证,可将 --knob-allow-anonymous-auth 设为 false

Dashboard 操作

FlowMQ Dashboard 提供可视化的认证管理界面,支持认证器管理、认证链配置和用户管理。

认证器概览

进入 Authentication 页面,可查看所有认证器的统计信息与列表。页面顶部显示认证器总数、已启用数量和认证器类型数量。

认证器概览

启用 / 禁用认证器

点击认证器列表中的认证器名称进入详情页,点击右上角的 启用 / 禁用 按钮切换认证器状态。详情页同时显示该认证器在链中的位置和管理的用户数量。

认证器详情与启禁用

认证链配置

在 Authentication 页面切换到 认证链 标签页,可查看和调整认证器的评估顺序,以及切换链模式(first-success / try-all)。通过拖拽可调整认证器顺序。

认证链配置

用户管理

点击内置认证器(builtin)进入详情页,下方展示用户管理界面。支持创建、编辑密码和删除用户。

点击 添加用户 按钮,在弹窗中输入用户名和密码即可创建新用户。

创建用户