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,则该身份对该点无读权限。
piadmin 组成员、PI Identities 变更、点安全属性批量修改建立专项监控。
二、PI AF 安全模型:元素、属性、模板、数据库
PI AF 的安全模型建立在“数据库 → 元素 → 属性”的层级结构上,并引入模板作为权限继承的中间层。其核心对象包括:
- AF 数据库安全:控制对整个 AF 数据库的访问,包括连接、读取、写入、删除。数据库级权限是元素级权限的默认来源。
- AF 元素安全:控制对单个 Element 的访问。元素可以继承数据库权限,也可以显式覆盖。元素级权限支持
Read、Write、ReadData、WriteData、Delete等细粒度操作。 - AF 属性安全:控制对 Element 下具体 Attribute 的读写。属性级权限通常用于保护关键计算属性或人工录入属性,防止误改。
- AF 模板安全:控制对 Element Template 的访问。模板是元素实例化的蓝图,模板级权限决定谁能基于该模板创建元素、修改模板定义。模板权限会向下影响由它创建的元素,但元素可再显式覆盖。
AF 权限的继承规则是“自顶向下、就近覆盖”:数据库权限 → 模板权限 → 元素权限 → 属性权限。当某一层未显式设置时,向上查找最近的有效设置。审计时需特别注意“显式拒绝”与“未设置”的区别:未设置表示继承,显式拒绝表示阻断,两者在权限判定中结果完全不同。
三、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 Data Archive | PI Identities 成员 | piadmin 组过大 | 按角色拆分,定期复核 |
| PI Data Archive | 点安全属性 | 批量设为 piworld | 抽查关键点 ptsecurity |
| PI AF | 元素显式拒绝 | 误设 Deny 导致继承失效 | 对比模板与元素权限 |
| PI AF | 属性级写权限 | 人工录入属性被覆盖 | 限制 WriteData 范围 |
| PI Vision | 公开共享显示 | 敏感画面全员可见 | 改为按 Identity 共享 |
| PI Vision | 文件夹继承链 | 显示覆盖后权限放大 | 定期导出权限清单比对 |
三层安全模型的设计目标是一致的:在保证数据可用的前提下,将权限收敛到最小必要范围。理解每层的授权对象、继承规则和判定顺序,才能在实际配置中避免“权限过大”或“权限断裂”两类典型问题,并为后续的审计体系建设提供清晰的检查基线。