2. Pure Storage安全模型基础
在Pure Storage的存储安全体系中,FlashArray与FlashBlade虽然共享Purity操作系统的底层基因,但面向的工作负载类型不同——FlashArray以块存储和VMware场景为主,FlashBlade以文件和对象存储为主——因此两者的信任边界、身份主体和权限模型存在显著差异。理解这些差异,是设计安全隔离策略和访问控制规则的前提。
信任边界:从管理面到数据面的分层
Pure Storage的安全模型可以划分为三个信任层级:管理面(Purity管理接口、CLI、REST API、Pure1云端管理)、控制面(阵列内部的服务协调、复制、快照调度)和数据面(主机I/O路径、NFS/SMB/S3数据访问)。信任边界并非单一防线,而是分布在管理入口、阵列间通信、主机接入和客户端访问四个位置。
FlashArray的管理面通过pureuser本地账户、Active Directory/LDAP集成以及RBAC角色控制访问。其数据面则依赖主机与卷之间的主机组(Host Group)和卷连接(Volume Connection)关系来界定哪些主机可以访问哪些卷。FlashBlade的管理面同样支持本地用户和目录服务集成,但其数据面边界由文件系统导出策略、S3访问密钥和快照策略共同定义。
身份主体:谁在访问
Pure Storage中的身份主体分为三类:
- 管理主体:包括本地管理账户(如
pureuser)、目录服务用户和组、API Token。FlashArray的API Token绑定到具体用户,FlashBlade的API Token则与用户和权限级别关联。 - 数据主体:对于FlashArray,数据主体是发起iSCSI/FC/NVMe-oF连接的主机HBA或软件发起端;对于FlashBlade,数据主体是NFS客户端IP、SMB域用户或S3访问密钥对。
- 服务主体:阵列间的复制伙伴、Pure1遥测代理、ActiveCluster仲裁节点等。这些主体通常使用预共享密钥或证书进行认证。
以FlashArray为例,当一台ESXi主机通过iSCSI连接卷时,阵列首先验证发起端的IQN是否在已配置的主机对象中,然后检查该主机是否属于有权访问目标卷的主机组。FlashBlade的NFS访问则先验证客户端IP是否在导出策略的允许列表中,再检查该客户端的UID/GID是否满足文件级权限要求。
资源客体:被访问的对象
资源客体是权限模型的作用对象。FlashArray的客体层次为:阵列 → 卷 → 快照 → 保护组。FlashBlade的客体层次为:阵列 → 文件系统 → 目录/文件 → 快照,以及对象存储账户 → 桶 → 对象。
在权限模型中,客体通常以“资源+操作”的形式被授权。例如,FlashArray的RBAC角色storage_admin允许对卷执行创建、扩容、删除和快照操作,但不允许修改网络配置或阵列间复制关系。FlashBlade的array_admin角色则拥有更广泛的管理权限,而ops_admin角色专注于日常运维操作。
权限模型:RBAC与访问策略的协同
Pure Storage的权限模型采用基于角色的访问控制(RBAC)与资源级访问策略相结合的方式。管理面的RBAC决定“谁能执行什么管理操作”,数据面的访问策略决定“谁能读写哪些数据”。
FlashArray的RBAC角色包括:array_admin(全权)、storage_admin(存储管理)、ops_admin(运维)、readonly(只读)。每个角色对应一组API操作权限。FlashBlade的角色体系类似,但增加了对文件系统和对象存储的细粒度控制。
数据面的访问策略则更为具体。FlashArray通过主机组和卷连接实现LUN级别的访问控制——一台主机只能看到已连接的卷,未连接的卷对其不可见。FlashBlade通过导出策略(Export Policy)控制NFS客户端的访问权限,通过SMB共享权限和NTFS ACL控制Windows客户端的文件访问,通过S3访问密钥和桶策略控制对象存储的访问。
FlashArray与FlashBlade的权限模型对比
下表从管理面权限和数据面权限两个维度,对比两款产品的权限模型差异:
| 维度 | FlashArray | FlashBlade |
|---|---|---|
| 管理面RBAC角色 | array_admin / storage_admin / ops_admin / readonly | array_admin / ops_admin / readonly(支持自定义角色) |
| 数据面访问控制 | 主机组 + 卷连接(LUN Masking) | 导出策略(NFS)/ SMB共享权限 + NTFS ACL / S3桶策略 |
| 身份认证方式 | 本地账户、AD/LDAP、API Token | 本地账户、AD/LDAP、API Token、S3密钥对 |
| 客体粒度 | 卷级别 | 文件系统级别、目录/文件级别、桶/对象级别 |
| 快照访问控制 | 快照继承卷的访问权限 | 快照可独立设置导出策略 |
实际配置中的关键判断点
在FlashArray上创建卷并分配给主机时,管理员需要依次完成:创建主机对象(指定IQN/WWN)→ 创建卷 → 将卷连接到主机或主机组。此时,只有已连接的主机才能在iSCSI发现阶段看到该卷的LUN。如果主机未加入任何主机组,则无法通过组策略继承访问权限。
在FlashBlade上配置文件系统访问时,管理员需要:创建文件系统 → 创建导出策略(指定客户端IP、访问权限rw/ro、root squash规则)→ 将导出策略应用到文件系统。对于SMB访问,还需在文件系统上启用SMB并配置共享级权限和文件级ACL。
安全模型的核心原则
综合以上分析,Pure Storage安全模型的设计遵循四条核心原则:
- 最小权限:管理账户按角色分配权限,数据访问按需连接,避免过度授权。
- 纵深防御:管理面与数据面分离,网络层、认证层、授权层各自独立生效。
- 客体隔离:FlashArray通过卷连接实现LUN级隔离,FlashBlade通过导出策略和桶策略实现文件/对象级隔离。
- 可审计:所有管理操作和关键数据访问均可通过审计日志追溯,Pure1提供云端审计视图。