本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
删除具有导入密钥材料的 KMS 密钥
导入的密钥材料允许您在生成的加密密钥下保护您的 Amazon 资源。以下概述说明了如何将密钥材料导入 Amazon KMS。有关流程中每个步骤的更多详细信息,请参阅相应的主题。
-
创建不具有密钥材料的 KMS 密钥 - 源必须是
EXTERNAL
。密钥来源为EXTERNAL
表示密钥是为导入的密钥材料设计的,因此无法 Amazon KMS 为 KMS 密钥生成密钥材料。在后面的步骤中,您会将自己的密钥材料导入此 KMS 密钥中。您导入的密钥材料必须与关联 Amazon KMS 密钥的密钥规范兼容。有关兼容性的更多信息,请参阅导入密钥材料的要求。
-
下载包装公有密钥和导入令牌 – 在完成步骤 1 后,请下载公有密钥和导入令牌。当您的密钥材料导入时,这些物品可以保护您的密钥材料 Amazon KMS。
在此步骤中,您将选择 RSA 包装密钥的类型(“密钥规范”)以及用于加密向 Amazon KMS传输的传输中数据的包装算法。每次导入或重新导入相同的密钥材料时,您可以选择不同的包装密钥规范和包装密钥算法。
-
加密密钥材料 – 使用在步骤 2 中下载的包装公有密钥加密您在自己的系统上创建的密钥材料。
-
导入密钥材料 – 上传您在步骤 3 中创建的已加密的密钥材料以及您在步骤 2 中下载的导入令牌。
在此阶段,您可以设置可选的过期时间。导入的密钥材料过期后,将其 Amazon KMS 删除,KMS 密钥将无法使用。要继续使用该 KMS 密钥,您必须重新导入相同的密钥材料。
导入操作成功完成后,KMS 密钥的密钥状态将从
PendingImport
变为Enabled
。现在,您可以在加密操作中使用 KMS 密钥。
Amazon KMS 在创建 KMS 密钥、下载封装公钥和导入令牌以及导入密钥材料时,会在 Amazon CloudTrail 日志中记录一个条目。 Amazon KMS 还会在您删除导入的密钥材料或 Amazon KMS 删除过期的密钥材料时记录一个条目。
导入密钥材料的权限
要使用导入的密钥材料创建和管理 KMS 密钥,用户需要在此过程中执行操作的权限。在您创建 KMS 密钥时,您可以在密钥策略中提供 kms:GetParametersForImport
、kms:ImportKeyMaterial
和 kms:DeleteImportedKeyMaterial
权限。在 Amazon KMS 控制台中,当您使用外部密钥材料来源创建密钥时,会自动为密钥管理员添加这些权限。
若要使用导入的密钥材料创建 KMS 密钥,委托人需要以下权限。
-
kms: CreateKey(IAM 策略)
-
要将此权限限制为使用已导入密钥材料的 KMS 密钥,请使用值为 kms: KeyOrigin 策略条件
EXTERNAL
。{ "Sid": "CreateKMSKeysWithoutKeyMaterial", "Effect": "Allow", "Resource": "*", "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
-
-
kms: GetParametersForImport(密钥策略或 IAM 策略)
-
要将此权限限制为使用特定包装算法和封装密钥规范的请求,请使用 k ms: WrappingAlgorithm 和 k ms: WrappingKeySpec 策略条件。
-
-
kms: ImportKeyMaterial(密钥策略或 IAM 策略)
-
要允许或禁止过期的密钥材料并控制过期日期,请使用 kms: ExpirationModel 和 kms: ValidTo 策略条件。
-
要重新导入导入的密钥材料,委托人需要 k ms: GetParametersForImport 和 kms: ImportKeyMaterial 权限。
要删除导入的密钥材料,委托人需要 kms: DeleteImportedKeyMaterial 权限。
例如,要授予示例使用导入的密钥材料管理 KMS 密钥所有方面的 KMSAdminRole
权限,请在 KMS 密钥的密钥策略中加入如下所示的密钥策略声明。
{ "Sid": "Manage KMS keys with imported key material", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": [ "kms:GetParametersForImport", "kms:ImportKeyMaterial", "kms:DeleteImportedKeyMaterial" ] }
导入密钥材料的要求
您导入的密钥材料必须与相关 KMS 密钥的密钥规范兼容。对于非对称密钥对,仅导入密钥对的私钥。 Amazon KMS 从私钥派生公钥。
Amazon KMS 支持使用导入的密钥材料的 KMS 密钥的以下密钥规范。
-
对称加密密钥
-
关键规格:
-
对称_默认。
-
-
要求:
-
256 位(32 字节)的二进制数据。
-
在中国区域,必须是 128 位(16 字节)的二进制数据。
-
-
-
HMAC 密钥
-
关键规格:
-
HMAC_224
-
HMAC_256
-
HMAC_384
-
HMAC_512
-
-
要求:
-
HMAC 密钥材料必须符合 RFC 2104
。 -
密钥长度必须至少与密钥规范指定的长度相同。最大密钥长度为 1024 位。
-
如果您的密钥材料超过 1024 位,则可以对密钥材料进行哈希处理并导入哈希输出。哈希算法必须与您正在创建的 HMAC KMS 密钥的密钥规格相匹配。
-
-
示例:
-
要将 2048 位密钥材料导入 HMAC_256 密钥,请先计算 2048 位密钥材料的 SHA-256 哈希值,然后将生成的 256 位哈希输出导入 KMS 密钥。
-
-
有效的密钥长度:
-
HMAC_224:224—1024 位
-
HMAC_256:256—1024 位
-
HMAC_384:384—1024 位
-
HMAC_512:512—1024 位
-
-
-
RSA 非对称私有密钥
-
椭圆曲线非对称私有密钥
-
关键规格:
-
ECC_NIST_P256 (secp256r1)
-
ECC_NIST_P384 (secp384r1)
-
ECC_NIST_P521 (secp521r1)
-
ECC_SECG_P256K1 (secp256k1)
-
-
要求:
-
-
ML-DSA 密钥
-
关键规格:
-
ML_DSA_44
-
ML_DSA_65
-
ML_DSA_87
-
重要
不支持导入 ML-DSA 密钥。
-
-
SM2 非对称私钥(仅限中国区域)
-
要求:
-
您导入的 SM2 非对称私钥必须是符合 0003 的密钥对的一部分。 GM/T
-
曲线: SM2。
-
参数:仅限命名曲线(拒绝带有显式参数的SM2 关键帧)。
-
公共点坐标:可以是压缩的、未压缩的或投影的。
-
非对称密钥材料必须采用符合 RFC 5208
的公有密钥加密标准(PKCS)#8 格式进行 BER 编码或 DER 编码。
-
-