密钥管理服务(Key Management Service,KMS)让应用在不接触主密钥材料的情况下完成加解密、签名验签、消息认证码和摘要计算。主密钥只能在系统内使用,不能查看或导出。
核心名词
| 名词 | 含义 |
|---|---|
| 主密钥(Master Key) | 应用执行密码操作时引用的受管密钥。创建时需要确定用途和算法。 |
| 密钥版本(Key Version) | 每次轮转主密钥都会产生新版本;新操作使用当前版本,历史结果按原版本读取。 |
| 最小可读版本 | 低于该版本的历史密文或签名不再允许读取或验证,只能向前调整。 |
| 数据密钥(Data Key) | 为一次业务加密临时生成的密钥,同时返回明文和受保护副本,适合信封加密。 |
支持的操作
| 操作 | 典型用途 |
|---|---|
| 加密与解密(Encrypt / Decrypt) | 保护小段业务数据或包装应用自己的数据密钥。 |
| 签名与验签(Sign / Verify) | 证明消息来源并检查内容是否被修改。 |
| 消息认证码(HMAC) | 在共享密钥场景中校验消息完整性和真实性。 |
| 摘要(Digest) | 计算不可逆摘要,不需要创建主密钥。 |
| 数据密钥(Data Key) | 为大量数据生成一次性密钥,并保存其受保护副本。 |
使用流程
创建主密钥
打开“KMS 密码管理 → 主密钥”,填写名称,选择用途和算法。用途和算法创建后不能修改,应根据调用方兼容性提前确定。
授予调用权限
通过访问策略只授予应用所需的操作,例如只允许某个应用使用指定主密钥进行加密和解密。
执行测试操作
在对应操作台提交非生产测试数据,确认输入编码、算法和结果交付方式满足业务要求。
接入业务应用
应用通过主密钥标识调用接口。密文和签名结果应作为不可拆解的完整字符串保存,不要自行修改其中内容。
轮转并验证历史数据
轮转主密钥后,新操作使用新版本。抽查轮转前的密文或签名,确认仍能按策略读取或验证。
主密钥状态
| 状态 | 业务影响 |
|---|---|
| 启用 | 允许策略范围内的密码操作。 |
| 禁用 | 暂停使用,可在排查或临时停用后重新启用。 |
| 退役 | 永久停止新的使用,适合确认不再需要的主密钥;执行前应核对历史数据依赖。 |
数据密钥使用提醒
数据密钥操作会在本次响应中返回临时明文密钥和受保护副本。应用应立即使用明文密钥完成本地数据加密并从内存清除,只长期保存受保护副本和业务密文。
在管理端打开“KMS 密码管理”完成密钥配置;业务系统在线使用密钥时参见 加密数据。