用户管理

HSM里面有三种用户:

  • Admin,只有Admin才可以添加用户
  • Crypto user(CU)
  • Appliance user(AU)

我们介绍下后面两种用户:

用户类型 谁用 用途
CU (Crypto User) 用户的应用 使用密钥做加密/签名
AU (Appliance User) AWS 系统 HSM 集群同步

Crypto User (CU) — 应用用户

主要场景如下:

能力 说明
✅ 创建密钥 生成新密钥
✅ 删除密钥 删除自己的密钥
✅ 共享密钥 与其他 CU 共享
✅ 导入/导出密钥 密钥迁移
✅ 加密/解密 使用密钥加密数据
✅ 签名/验签 数字签名操作
用户应用 ──(CU 凭证)──► HSM
                        │
                   执行加密操作

Appliance User (AU) — AWS 系统用户

能力 说明
✅ 克隆操作 集群内 HSM 数据复制
✅ 同步操作 多个 HSM 间密钥同步
❌ 访问密钥 不能查看/使用用户密钥
❌ 加密操作 不能做任何加密操作
HSM 1 (AZ-a) ◄──(AU)──► HSM 2 (AZ-b)
                │
           自动同步密钥
           (AU 只做同步,看不到密钥内容)

上一节我们登录到HSM后,已经有一个AU:

image-20260226162041354

AU 自动存在,我们不用管

权限对比

操作 CU AU
创建密钥
使用密钥
查看密钥
集群同步
克隆 HSM

常见操作

创建用户

首先使用admin用户登录进去,然后根据想要创建的用户角色,执行:

user create --username <username> --role admin
user create --username <username> --role crypto-user

更新密码

用户自身还有admin用户都有权限更新密码:

user change-password --username <username> --role <role>

删除用户

使用admin登录:

user delete --username <username> --role <role>

用户管理的最佳实践

至少两个 Admin 防止锁定

做法 原因
创建 2+ Admin 防止单点故障
互相备份 Admin A 密码丢失,Admin B 可重置

启用 Quorum(多人审批)

做法 原因
所有用户管理操作启用 Quorum 防止单个 Admin 被攻破后造成损害
M of N 控制 需要多人批准才能执行敏感操作

推荐 Quorum 配置:

├── 创建用户:需要 2/3 Admin 批准
├── 删除用户:需要 2/3 Admin 批准
└── 修改密码:需要 2/3 Admin 批准

好处:

├── 1 个 Admin 密码泄露 → 攻击者仍无法独自操作
└── 内部威胁防护 → 单人无法作恶

创建多个 CU,职责分离

做法 原因
多个 CU 用户 不让一个用户控制所有
限制每个 CU 权限 最小权限原则
职责分离 不同 CU 负责不同任务

推荐 CU 分工:

├── CU-KeyManager:负责创建和共享密钥
├── CU-AppEncrypt:只用于加密操作
├── CU-AppSign:只用于签名操作
└── CU-Backup:只用于密钥备份/导出

好处:

├── CU-AppEncrypt 泄露 → 只影响加密功能
├── 无法删除密钥、无法创建新密钥
└── 限制爆炸半径

总结

CloudHSM 集群用户推荐配置:

│
├── Admin 层(管理用户)
│   ├── Admin-Primary
│   ├── Admin-Backup
│   └── Quorum: 2 of 2(所有操作需双人批准)
│
└── CU 层(业务用户)
    ├── CU-KeyManager(创建/管理密钥)
    ├── CU-App-Service-A(服务 A 使用)
    ├── CU-App-Service-B(服务 B 使用)
    └── CU-Backup(备份专用)