2. 基础概念:主体、客体、操作、权限、安全策略、信任模型
在工程分析平台中,访问控制并非简单的“谁可以做什么”,而是一套由主体、客体、操作、权限、安全策略和信任模型六大核心概念构成的逻辑体系。理解这些基础概念是设计权限验证系统的前提。
2.1 六大核心概念定义
| 概念 | 英文 | 定义 | 工程分析平台示例 |
|---|---|---|---|
| 主体 | Subject | 发起访问请求的主动实体 | 用户、API 客户端、服务账号、自动化脚本 |
| 客体 | Object | 被访问的被动资源实体 | 仿真模型文件、分析报告、数据集、计算节点 |
| 操作 | Operation | 主体对客体执行的动作类型 | 读取、写入、提交计算、删除、导出 |
| 权限 | Permission | 允许主体在客体上执行特定操作的授权 | “用户 A 对模型 X 有读取权限” |
| 安全策略 | Security Policy | 定义权限分配规则的集合 | “只有项目成员才能写入项目文件” |
| 信任模型 | Trust Model | 决定如何验证主体身份与授权的底层假设 | 基于令牌的 OAuth 2.0、基于证书的 mTLS |
关键区分:权限是具体授权实例(张三可以读文件A),安全策略是授权规则(只有文件所有者可以删除文件)。策略是静态规则,权限是策略执行后的动态结果。
2.2 概念关系与访问控制流程
下图展示了六大概念在典型访问请求中的交互关系:
2.3 信任模型:访问控制的基石
信任模型决定了平台如何验证“你是谁”以及“你是否可信”。在工程分析平台中,常见的信任模型包括:
- 基于密码的信任:传统用户名+密码验证,适用于内部低风险操作。
- 基于令牌的信任:使用 JWT 或 OAuth 2.0 令牌,适用于微服务间调用和第三方集成。
- 基于证书的信任:使用 mTLS(双向 TLS)证书,适用于高安全要求的计算节点间通信。
- 基于角色的信任:通过角色间接授予权限,简化管理但粒度较粗。
- 基于属性的信任:根据用户属性(部门、职级、项目)动态计算信任级别。
工程实践建议:工程分析平台通常采用混合信任模型——用户登录使用 OAuth 2.0 + JWT,服务间调用使用 mTLS 证书,自动化脚本使用 + 签名。单一模型无法覆盖所有场景。
2.4 安全策略的典型分类
| 策略类型 | 核心原则 | 适用场景 | 工程分析平台示例 |
|---|---|---|---|
| 自主访问控制 (DAC) | 资源所有者决定权限 | 个人文件共享、团队协作 | 模型作者可分享给指定同事 |
| 强制访问控制 (MAC) | 系统根据标签强制控制 | 涉密数据、合规要求 | “机密”级别报告只能由高级工程师访问 |
| 基于角色的访问控制 (RBAC) | 角色作为权限中介 | 企业级权限管理 | “仿真工程师”角色可提交计算任务 |
| 基于属性的访问控制 (ABAC) | 根据多维度属性动态决策 | 复杂、动态的权限需求 | “项目A的成员且在办公时间内可修改模型” |
2.5 权限验证的原子操作
在工程分析平台的权限验证引擎中,每次访问请求都会经历以下原子步骤:
- 身份识别:从请求中提取主体标识(用户 ID、令牌、证书 DN)。
- 信任验证:验证凭证有效性(令牌签名、证书链、密码哈希)。
- 客体定位:确定被访问的资源路径和类型(文件路径、API 端点、计算队列)。
- 操作解析:将 HTTP 方法或 API 调用映射为内部操作类型(GET → 读取,POST → 创建)。
- 策略匹配:查询安全策略引擎,获取适用于该主体-客体-操作组合的规则。
- 权限裁决:根据策略规则返回允许/拒绝/需要额外审批。
- 审计记录:将裁决结果写入审计日志,用于事后追溯。
常见误区:很多平台将“身份验证”与“权限验证”混为一谈。身份验证只回答“你是谁”,权限验证回答“你能做什么”。两者必须分离,否则会导致权限绕过漏洞。例如,一个已登录的用户可能没有删除生产数据的权限。
2.6 概念落地对照表
以下表格将六大概念映射到工程分析平台的具体实现组件:
| 概念 | 实现组件 | 数据存储 | 关键接口 |
|---|---|---|---|
| 主体 | 用户管理模块、IAM 系统 | 用户表、服务账号表 | /api/v1/auth/login |
| 客体 | 资源管理器、文件系统 | 资源元数据表、文件索引 | /api/v1/resources/{id} |
| 操作 | API 网关、操作映射器 | 操作字典、API 权限映射表 | HTTP 方法 + 路径模式 |
| 权限 | 权限缓存、策略决策点 (PDP) | 权限表、Redis 缓存 | hasPermission(subject, object, operation) |
| 安全策略 | 策略引擎 (如 OPA、Casbin) | 策略文件 (YAML/Rego)、策略数据库 | /v1/policies/evaluate |
| 信任模型 | 认证中间件、证书管理 | 令牌黑名单、证书吊销列表 | JWT 验证中间件、mTLS 握手 |