2. 访问控制基础概念:主体、客体、操作、权限、安全策略、访问控制矩阵
访问控制是工程分析平台安全体系的基石。在深入选型之前,必须精确理解构成访问控制模型的六个核心概念。这些概念构成了所有访问控制模型(DAC、MAC、RBAC、ABAC 等)的共同语言。
2.1 核心概念定义
| 概念 | 英文 | 定义 | 工程分析平台示例 |
|---|---|---|---|
| 主体 | Subject | 发起访问操作的主动实体,可以是用户、进程、服务或设备。 | 登录平台的仿真工程师、数据采集微服务、API 调用方。 |
| 客体 | Object | 被访问的被动实体,是受保护资源的抽象。 | 仿真模型文件、测试数据集、分析报告、计算节点。 |
| 操作 | Operation | 主体对客体执行的动作类型。 | 读取、写入、执行、删除、共享、导出。 |
| 权限 | Permission | 授权执行特定操作的许可,通常表示为 (主体,客体,操作) 三元组。 |
工程师 A 对“碰撞仿真模型 v3”拥有“写入”权限。 |
| 安全策略 | Security Policy | 定义“谁可以做什么”的规则集合,是访问控制的决策依据。 | “只有项目组成员才能读取项目数据”、“仿真结果归档后不可删除”。 |
| 访问控制矩阵 | Access Control Matrix | 以矩阵形式描述所有主体对客体的权限映射关系。 | 行 = 主体,列 = 客体,单元格 = 权限集合。 |
工程提示: 在工程分析平台中,主体 不仅包括自然人用户,还包括 CI/CD 流水线中的自动化代理、数据同步服务等非人实体。客体 的粒度需要精细到“仿真参数集”或“单个测试用例”,而非仅到“项目”级别。
2.2 访问控制矩阵详解
访问控制矩阵(Access Control Matrix)是描述权限关系的经典模型。它将所有主体与所有客体的权限关系组织为一个二维表格,是理解访问控制逻辑的起点。
以下是一个简化的工程分析平台访问控制矩阵示例:
| 主体 \ 客体 | 碰撞仿真模型 v3 | 耐久性测试数据 | 分析报告模板 | 计算节点 cluster-01 |
|---|---|---|---|---|
| 张工(仿真工程师) | 读取、写入、执行 | 读取 | 读取 | 提交作业 |
| 李工(测试工程师) | 读取 | 读取、写入 | 读取、写入 | 查看状态 |
| 王经理(项目主管) | 读取、写入、删除 | 读取、写入、删除 | 读取、写入、删除 | 管理 |
| 数据采集服务 | 无 | 写入 | 无 | 无 |
关键洞察: 访问控制矩阵在理论上完备,但在实际工程中,当主体和客体数量达到数千甚至数万时,矩阵会变得极其稀疏且难以维护。这正是推动我们采用 RBAC、ABAC 等更高效模型的核心原因。
2.3 六要素关系图
下图展示了访问控制六要素之间的逻辑关系与决策流程:
2.4 安全策略的层次结构
安全策略并非单一规则,而是具有层次结构的规则体系。在工程分析平台中,策略通常分为三个层次:
- 全局策略: 适用于整个平台的基础规则,如“禁止未认证用户访问任何资源”、“所有操作必须记录审计日志”。
- 项目级策略: 针对特定工程项目的规则,如“项目 A 的成员只能访问项目 A 的仿真数据”。
- 资源级策略: 针对特定客体的细粒度规则,如“碰撞仿真模型 v3 在归档后仅允许只读访问”。
常见误区: 许多工程平台在初期只定义全局策略,忽略了项目级和资源级策略。这会导致权限过于宽泛或过于严格,无法满足实际工程协作需求。建议在平台设计阶段就建立三层策略框架。
2.5 访问控制矩阵的工程局限性
尽管访问控制矩阵在概念上清晰直观,但在工程实践中存在显著局限:
| 局限性 | 描述 | 工程影响 |
|---|---|---|
| 稀疏性 | 大多数主体只与少数客体有权限关系,矩阵中大量单元格为空。 | 存储效率低,查询性能差。 |
| 维护成本 | 每新增一个主体或客体,都需要更新矩阵。 | 在大型平台中,手动维护几乎不可行。 |
| 缺乏抽象 | 无法表达“角色”或“组”等高级概念。 | 权限管理缺乏灵活性,难以应对组织变更。 |
| 策略分散 | 安全策略隐含在矩阵的每个单元格中,难以统一审计。 | 合规性检查困难,容易产生权限漏洞。 |