首页/网络/工控与物联网速查/物联网接入的主题权限隔离
物联网协议60 条

物联网接入的主题权限隔离

主题权限隔离用发布订阅主题作为授权边界,让设备只能读写自己的主题前缀,平台服务再按角色获得更宽的订阅范围。隔离设计决定单台设备被攻破后的影响半径。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​‌​​‌​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌‌​‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

用主题前缀划边界

消息协议本身不提供资源级权限,授权通常落在主题上:设备账号被限制为只能发布和订阅自己前缀下的主题,平台服务按角色获得更宽的订阅范围,系统的运行主题只对运维角色开放。这样即使某台设备凭据泄露,攻击者也无法读取其他设备的数据或向他人主题下发指令。

隔离维度

维度做法注意
设备侧只允许发布自己的上报主题,只订阅自己的指令主题避免给设备开放通配符订阅
平台服务按角色分配订阅与发布范围读与写应使用不同凭据
共享订阅组内成员的权限范围保持一致权限不一致会导致部分成员收不到消息
系统主题仅运维角色可访问代理运行主题设备不应能读取系统主题
多租户租户标识作为最高层级并纳入授权规则缺少隔离时一次越权就是跨客户泄露

典型使用场景

  • 设备接入:设备账号权限仅覆盖自身主题前缀
  • 内部分发:采集、存储与告警服务分别使用各自凭据
  • 多租户平台:按租户维度隔离主题与授权规则
  • 安全评审:用越权尝试验证规则有效性
权限规则的有效性靠越权用例验证:尝试订阅他人主题、尝试向他人指令主题发布,都应被拒绝;这类验证比逐条核对配置更接近真实风险。
把租户隔离建立在命名约定而不建立在授权规则上,风险很高:一次命名写错就会造成跨租户的数据读取。

评审要点

权限规则评审时建议列出三类用例:设备读写自身主题、设备尝试访问他人主题、平台服务访问全部主题,逐条确认预期结果,比通读配置更容易发现遗漏。

易错点

  • 设备账号允许通配符订阅:一台设备凭据泄露即可读取全平台数据
  • 读与写共用同一凭据:采集服务被攻破后可直接下发指令
  • 不做越权用例验证:规则写错时在正常运行中很难暴露
  • 租户隔离只靠命名约定:命名失误直接变成跨租户泄露
  • 平台服务权限过大:内部服务被攻破后影响范围覆盖所有设备

数据来源与参考

  • OASIS MQTT Version 5.0 规范(授权相关章节)
  • 主流消息代理访问控制官方文档

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/iot-topic-permission-isolation.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​‌​​‌​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌‌​‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌‌​​‌‌​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​