概述
密钥轮换若要求一次性重加密全部数据,成本和风险都难以承受;若过早退役旧密钥,又会出现解密失败。以版本化密钥配合信封加密,新写入用新版本、旧数据逐步重包裹,待用量归零后再退役,可让轮换既安全又渐进。
关键步骤
- 创建新密钥版本并保留旧版本用于解密。
- 让新写入使用新版本。
- 逐步重包裹或惰性重加密既有数据。
- 用量遥测显示为零后再退役旧版本。
验证
- 轮换期间解密失败为零。
- 新数据使用新密钥版本。
- 旧数据完成迁移或重包裹。
- 退役版本无残留使用。
决策点
信封加密场景应重包裹数据密钥而非重加密明文,仅当数据密钥本身泄露才重加密;旧密钥宜在用量归零后退役。
适用范围
本条目围绕「加密密钥轮换工作流」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
建议在正式环境落地前先在预发或隔离环境演练一遍,把关键观测指标与负责人一并记录,确保出现异常时能快速定位并恢复。
aws kms create-key --description "app data key v2"
# decrypt with old, encrypt with new
aws kms re-encrypt --ciphertext-blob fileb://wrapped.old \
--destination-key-id alias/app-v2 --output wrapped.new