产品定价 立即试用
MQTT Broker
文档 > 安全 > 概述
入门
安装 架构 API 常见问题
目录

安全概述

TBMQ提供一系列安全特性,用于保护MQTT通信、控制客户端访问并实施主题级权限。 这些特性覆盖MQTT安全的关键方面——从连接级设置到细粒度授权规则——并为多种部署场景提供灵活配置选项。

概览页介绍TBMQ中MQTT安全的三个核心领域:连接级安全、认证和授权。 以下各节说明这些组件的作用、配置方式及其在broker安全模型中的交互。

连接级安全

连接级安全侧重于配置客户端如何连接broker。 定义支持的传输协议、加密选项和网络级参数——在应用认证和授权之前建立安全通信通道所必需。 在TBMQ中,通过配置 MQTT listeners 实现,支持加密和非加密协议(TCP、TLS、WebSockets)。 每个listener暴露可配置属性——如端口、主机地址和性能调优选项——可通过配置文件设置或使用环境变量覆盖。 对于TLS和WebSocket Secure (WSS) 监听器,还可配置证书和支持的协议等加密参数。

认证

认证验证尝试连接的客户端的身份。即在授予broker访问权限之前验证客户端凭据的过程。 支持的认证方式包括:Basic(username/password)、X.509 Certificate Chain、JWT和SCRAM。

提供者管理

自 TBMQ 版本 2.2 起可用

认证方式以可插拔认证提供者实现:

  • Basic — 使用CONNECT包中的clientId、username和password认证客户端。
  • X.509 Certificate Chain — 在TLS握手中使用客户端X.509证书链进行认证。
  • JWT (JSON Web Token) — 使用在CONNECTpassword字段中传递的签名JWT认证客户端。
  • SCRAM — 使用哈希凭据进行安全challenge-response认证,不传输实际密码(仅MQTT5.0)。

每个提供者可单独启用、禁用和配置,以满足不同部署用例的需求。

文档警告图标

不允许添加或删除认证提供者。用户仅可编辑其配置。

您可直接在TBMQ用户界面中查看认证提供者状态、启用或禁用它们,无需修改配置文件或重启broker即可轻松管理认证行为。

  • 首页Broker Settings 卡片中,可找到每个可用认证提供者的快捷切换按钮。 点击目标提供者旁的按钮即可启用或禁用。
  • Authentication Providers 页面,可进行更精细的控制和查看:
    • 通过点击表格对应行的Switch按钮,可直接启用或禁用提供者。
    • 如需更细致的管理,点击提供者打开详情页,可修改状态或其他参数。

提供者执行顺序

自 TBMQ 版本 2.2 起可用

TBMQ按可配置的执行顺序处理认证提供者。 可从用于配置MQTT认证相关参数的 MQTT Authentication Settings 页面配置。

当前阶段,本节仅有一个参数:Authentication Execution Order。 该参数定义broker使用认证提供者验证MQTT客户端认证的顺序。

关键规则:

  • 已禁用的提供者将在认证流程中被跳过。
  • 认证流程在第一次成功结果处停止,或在所有已启用提供者评估完成后停止。
  • 若所有提供者均已禁用,客户端将在不进行MQTT客户端凭据验证的情况下完成认证。
文档信息图标

SCRAM认证方式始终由broker按照MQTT5.0规范处理,不遵循已配置的认证提供者执行顺序。

授权

授权根据已认证客户端的权限,对特定资源或操作授予或拒绝访问。 为此,通过应用可配置规则定义主题级访问控制,规则决定客户端是否可发布到或订阅特定主题。TBMQ使用基于正则表达式的主题模式执行这些规则。 授权设置通常在 client credentials 级别配置。仅JWT认证支持在提供者级别定义授权规则,从而实现动态、token驱动的访问控制。

下一步