3. PI System权限模型深度解析

PI System 的权限体系并非一个统一开关,而是由三层彼此独立又相互衔接的安全模型构成:PI Data Archive 负责“数据点与接口层”的访问控制,PI AF 负责“资产模型与元数据层”的访问控制,PI Vision 负责“展示与消费层”的访问控制。理解这三层各自的授权对象、继承规则和判定顺序,是设计最小权限方案与审计策略的前提。本节按“数据层 → 模型层 → 展示层”的顺序逐层拆解,并在最后给出跨层权限的联合判定逻辑。

一、PI Data Archive 安全模型:四类安全对象

PI Data Archive 的安全模型围绕四类安全对象展开,它们分别对应不同的授权粒度:

  • PI 点安全(Point Security):控制单个 PI Point 的读写。每个点有一个 ptsecurity 属性,取值为 piadmin、piworld、piuser 或自定义 PI Identity。它决定谁能写入该点的值、注释、时间戳。
  • PI 模块安全(Module Security / Plug-in Security):控制对 PI 子系统与接口的访问,例如 PI Archive Subsystem、PI Snapshot Subsystem、PI Update Manager、PI Message Log 等。它决定某个身份能否执行归档重算、快照刷新、日志读取等系统级操作。
  • PI 数据库安全(Database Security):控制对 PI Data Archive 整体数据库的访问,包括连接、备份、删除点、修改点属性等。典型对象是 PI Data Archive 数据库本身及其 pidbsecurity 设置。
  • PI 系统安全(System Security):控制对 PI System 全局配置的访问,例如 PI Identities 的创建与修改、PI Mappings 的映射规则、PI Trust 的建立。它决定“谁能定义权限”,是权限体系的根节点。

这四类对象之间存在明确的包含关系:系统安全定义身份,数据库安全定义身份对库的操作,模块安全定义身份对子系统的操作,点安全定义身份对具体点的操作。授权时遵循“就近优先”原则——点级设置优先于数据库级设置,数据库级优先于系统级默认。例如,某 PI Identity 在数据库层被授予 read,但某点显式设置为 piadmin,则该身份对该点无读权限。

审计要点:PI Data Archive 的权限变更不会自动记录到独立审计表,需依赖 PI Audit Trail 或 Windows 事件日志。建议对 piadmin 组成员、PI Identities 变更、点安全属性批量修改建立专项监控。

二、PI AF 安全模型:元素、属性、模板、数据库

PI AF 的安全模型建立在“数据库 → 元素 → 属性”的层级结构上,并引入模板作为权限继承的中间层。其核心对象包括:

  • AF 数据库安全:控制对整个 AF 数据库的访问,包括连接、读取、写入、删除。数据库级权限是元素级权限的默认来源。
  • AF 元素安全:控制对单个 Element 的访问。元素可以继承数据库权限,也可以显式覆盖。元素级权限支持 Read、Write、ReadData、WriteData、Delete 等细粒度操作。
  • AF 属性安全:控制对 Element 下具体 Attribute 的读写。属性级权限通常用于保护关键计算属性或人工录入属性,防止误改。
  • AF 模板安全:控制对 Element Template 的访问。模板是元素实例化的蓝图,模板级权限决定谁能基于该模板创建元素、修改模板定义。模板权限会向下影响由它创建的元素,但元素可再显式覆盖。

AF 权限的继承规则是“自顶向下、就近覆盖”:数据库权限 → 模板权限 → 元素权限 → 属性权限。当某一层未显式设置时,向上查找最近的有效设置。审计时需特别注意“显式拒绝”与“未设置”的区别:未设置表示继承,显式拒绝表示阻断,两者在权限判定中结果完全不同。

PI System 三层安全模型与权限继承关系 PI Data Archive 安全模型 PI 系统安全 Identities / Mappings PI Trust PI 数据库安全 连接 / 备份 / 删点 pidbsecurity PI 模块安全 Archive / Snapshot Update Manager PI 点安全 ptsecurity piadmin / piworld PI AF 安全模型 AF 数据库安全 连接 / 读 / 写 / 删 默认权限来源 AF 模板安全 Element Template 实例化蓝图 AF 元素安全 Read / Write ReadData / WriteData AF 属性安全 Attribute 级读写 保护关键计算值 PI Vision 安全模型 显示安全(Display) 单个显示读写 / 共享 所有者与协作者 文件夹安全(Folder) 目录级权限 向下继承到显示 权限继承(Inheritance) 文件夹 → 显示 显示可覆盖文件夹 数据引用 模型引用

三、PI Vision 安全模型:显示、文件夹与继承

PI Vision 的安全模型面向最终用户,授权对象是“显示(Display)”和“文件夹(Folder)”。其核心规则如下:

  • 显示安全:每个 PI Vision 显示都有所有者(Owner)和协作者(Collaborator)列表。所有者可编辑、删除、共享显示;协作者可查看或编辑,取决于共享时授予的权限。显示级权限是最终判定依据。
  • 文件夹安全:文件夹用于组织显示,并作为权限继承的容器。文件夹权限会向下传递给其中的显示,除非显示显式覆盖。文件夹权限通常按 PI Identity 或 Windows 组授予。
  • 权限继承:PI Vision 遵循“文件夹 → 显示”的继承链。若显示未显式设置权限,则继承所在文件夹的权限;若显示显式设置了权限,则以显示级为准。注意:PI Vision 的继承是“覆盖式”而非“合并式”,显式设置会完全替换继承结果。

在实际部署中,常见的做法是:按业务单元建立文件夹树,在文件夹层授予“查看”权限,在显示层对关键画面授予“编辑”权限。这样既保证了大范围可读,又限制了修改范围。审计时需重点检查“公开共享”的显示和“所有人可编辑”的文件夹,这两类配置是权限泄漏的高发点。

四、跨层权限的联合判定

当用户访问一个 PI Vision 显示时,系统会依次检查:PI Vision 显示/文件夹权限 → PI AF 元素/属性权限 → PI Data Archive 点/模块权限。三层中任何一层拒绝,访问即被阻断。因此,一个用户可能在 PI Vision 中能看到某个显示,但显示中引用的 AF 属性因 AF 权限不足而无法读取,最终表现为“显示打开但数据为空”。这种跨层权限不一致是排障中最常见的问题之一。

排查建议:当用户反馈“看不到数据”时,按“PI Vision 显示权限 → AF 元素/属性权限 → PI Data Archive 点安全”的顺序逐层验证,避免只检查最外层而忽略底层数据权限。

五、权限审计的关键检查项

层级 检查对象 风险点 建议动作
PI Data Archive PI Identities 成员 piadmin 组过大 按角色拆分,定期复核
PI Data Archive 点安全属性 批量设为 piworld 抽查关键点 ptsecurity
PI AF 元素显式拒绝 误设 Deny 导致继承失效 对比模板与元素权限
PI AF 属性级写权限 人工录入属性被覆盖 限制 WriteData 范围
PI Vision 公开共享显示 敏感画面全员可见 改为按 Identity 共享
PI Vision 文件夹继承链 显示覆盖后权限放大 定期导出权限清单比对

三层安全模型的设计目标是一致的:在保证数据可用的前提下,将权限收敛到最小必要范围。理解每层的授权对象、继承规则和判定顺序,才能在实际配置中避免“权限过大”或“权限断裂”两类典型问题,并为后续的审计体系建设提供清晰的检查基线。