1. 课程导入与全景认知

ThingWorx 作为工业物联网平台,其权限体系并不是一张简单的“用户—角色—权限”表,而是由组织(Organization)、用户组(User Group)、用户(User)、角色(Role)、权限(Permission)以及可见性(Visibility)共同构成的多层授权结构。当平台从单租户走向多租户时,这套结构会进一步叠加租户隔离边界,使“谁能看到什么、谁能改什么、数据归属谁”成为必须显式设计的问题。本课程的目标,是让学员能够读懂 ThingWorx 的授权链路,并能独立完成多租户场景下的权限规划、配置与排障。

一、先建立术语坐标系

在动手配置之前,必须先把几个高频术语的含义固定下来,否则后续讨论很容易混淆:

  • Organization(组织):ThingWorx 中承载用户与实体的顶层容器,通常对应一个租户或一个业务单元。组织是隔离的第一道边界。
  • User Group(用户组):组织内的用户集合,用于批量授权。用户组可以嵌套,权限沿组链继承。
  • User(用户):实际登录主体,必须归属于至少一个组织,可同时属于多个用户组。
  • Role(角色):权限的集合载体,如 Administrator、Developer、Operator、Viewer 等,角色决定“能做什么”。
  • Permission(权限):对具体实体(Thing、ThingTemplate、DataShape、Mashup、Service 等)的读、写、执行、删除等操作许可。
  • Visibility(可见性):控制实体在导航、搜索、列表中的可见范围,与权限共同决定“看得到”和“改得动”。
  • Tenant(租户):多租户治理中的逻辑隔离单元,通常一个租户对应一个 Organization,并拥有独立的用户、实体与数据空间。
记忆要点:组织定边界,用户组做批量,角色定能力,权限定实体,可见性定呈现。五者缺一,授权模型就不完整。

二、整体知识地图

本课程 30 个章节围绕四条主线展开:权限模型基础 → 多租户隔离机制 → 治理与运维 → 实战与排障。下图给出全景知识地图,帮助你在学习每一节时都能定位到整体中的位置。

ThingWorx 权限模型 与多租户治理 ① 权限模型基础 • Organization / UserGroup / User • Role 与 Permission 映射 • Visibility 与实体授权 • 继承链与优先级判定 ② 多租户隔离机制 • 租户边界与数据归属 • 组织级实体隔离 • 跨租户访问控制 • 共享资源与例外策略 ③ 治理与运维 • 用户生命周期管理 • 权限审计与合规 • 最小权限原则落地 • 租户配额与资源限制 ④ 实战与排障 • 典型授权场景配置 • 权限拒绝问题定位 • 多租户上线检查 • 治理复盘与优化 学习路径:术语 → 模型 → 隔离 → 治理 → 实战 → 复盘

三、权限判定的基本链路

理解 ThingWorx 权限,关键是理解一次访问请求的判定顺序。当用户尝试打开一个 Mashup 或调用一个 Service 时,平台会依次检查:用户是否属于该实体所在组织 → 用户所在用户组是否被授予该实体的权限 → 用户角色是否包含所需操作 → 实体可见性是否允许其出现在当前上下文。任一环节不通过,请求即被拒绝。这个顺序决定了排障时的检查方向:先看组织归属,再看组授权,最后看角色与可见性。

需要特别注意的是,ThingWorx 的权限是叠加而非覆盖的。如果用户同时属于多个用户组,只要其中一个组授予了某权限,该权限即生效;但如果某处显式拒绝了权限,拒绝通常优先。这一规则在多租户环境中尤其重要,因为跨租户的共享资源往往需要额外的显式授权。

四、多租户治理的核心问题

多租户治理要回答三个问题:数据归谁、谁能访问、资源如何分配。在 ThingWorx 中,最自然的做法是“一租户一组织”,即每个租户拥有独立的 Organization,其下的 Thing、Mashup、DataShape 等实体默认不跨组织可见。这样做的优点是隔离清晰、审计简单;代价是共享资源需要额外设计,例如公共模板、公共字典等。

实际项目中常见的折中方案是:核心模板与公共组件放在平台级组织,租户组织通过显式授权引用。此时必须严格控制平台级组织的授权范围,避免一个租户的误操作影响其他租户。下表给出三种典型隔离策略的对比,供规划时参考。

隔离策略 组织划分 优点 风险点
完全独立 一租户一组织,无共享 隔离最强,审计最清晰 公共资源重复建设,维护成本高
平台共享 + 租户独立 平台组织 + 租户组织 公共组件复用,租户数据隔离 平台组织授权过宽会引发越权
混合分组 按业务线划分组织,租户为用户组 适合租户数量多、业务相近的场景 租户间边界变弱,需靠用户组精细控制

五、学习建议与检查清单

本课程强调“能配置、能判断、能排障”。建议在学习每一节时,都对照以下检查清单自问:

  1. 这个权限点属于哪个组织?跨组织了吗?
  2. 授权是给用户、用户组还是角色?继承链是否清晰?
  3. 可见性与权限是否一致?是否存在“看得到但改不动”或“改得动但看不到”的异常?
  4. 如果拒绝访问,应该按什么顺序排查?
  5. 这个配置在多租户环境下会不会影响其他租户?
常见误区:把“可见性”当成“权限”。可见性只控制实体是否出现在列表或导航中,真正决定能否读写的是权限。只调可见性而不调权限,往往导致“看不到但能通过 URL 访问”的安全漏洞。

接下来,课程将从 Organization 与 User Group 的具体配置开始,逐步展开到角色映射、实体授权、多租户隔离与治理审计。你在本节建立的知识地图和判定链路,将贯穿后续所有章节。