本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
删除具有导入密钥材料的 KMS 密钥
导入的密钥材料允许您在生成的加密密钥下保护您的 AWS 资源。您导入的密钥材料与特定的 KMS 密钥相关联。您可以将相同的密钥材料重新导入相同的 KMS 密钥,但不能将不同的密钥材料导入 KMS 密钥,也无法将专为导入密钥材料设计的 KMS 密钥转换为具有 AWS KMS 密钥材料的 KMS 密钥。
以下概述说明了如何将密钥材料导入 AWS KMS。如需了解该过程中每个步骤的更多详细信息,请参阅相应主题。
-
创建不具有密钥材料的 KMS 密钥 - 源必须是
EXTERNAL
。EXTERNAL
的密钥源表明该密钥专为导入的密钥材料而设计,并且阻止 AWS KMS 为 KMS 密钥生成密钥材料。在后面的步骤中,您会将自己的密钥材料导入此 KMS 密钥中。您导入的密钥材料必须与关联的 AWS KMS 密钥的密钥规范兼容。有关兼容性的更多信息,请参阅 导入密钥材料的要求。
-
下载包装公有密钥和导入令牌 – 在完成步骤 1 后,请下载公有密钥和导入令牌。这些项目可以在密钥材料导入 AWS KMS 的过程中保护您的密钥材料。
在此步骤中,您将选择 RSA 包装密钥的类型(“密钥规范”)以及用于加密向 AWS KMS 传输的传输中数据的包装算法。每次导入或重新导入相同的密钥材料时,您可以选择不同的包装密钥规范和包装密钥算法。
-
加密密钥材料 – 使用在步骤 2 中下载的包装公有密钥加密您在自己的系统上创建的密钥材料。
-
导入密钥材料 – 上传您在步骤 3 中创建的已加密的密钥材料以及您在步骤 2 中下载的导入令牌。
在此阶段,您可以设置可选的过期时间。当导入的密钥材料过期后,AWS KMS 会将其删除,并且 KMS 密钥将变为不可用。要继续使用该 KMS 密钥,您必须重新导入相同的密钥材料。
导入操作成功完成后,KMS 密钥的密钥状态将从
PendingImport
变为Enabled
。现在,您可以在加密操作中使用 KMS 密钥。
AWS KMS 在您创建 KMS 密钥、下载包装公有密钥和导入令牌和导入密钥材料时将一个条目记录在您的 AWS CloudTrail 日志。当您删除导入的密钥材料或 AWS KMS 删除过期的密钥材料时,AWS KMS 也会记录条目。
导入密钥材料的权限
要使用导入的密钥材料创建和管理 KMS 密钥,用户需要在此过程中执行操作的权限。在您创建 KMS 密钥时,您可以在密钥策略中提供 kms:GetParametersForImport
、kms:ImportKeyMaterial
和 kms:DeleteImportedKeyMaterial
权限。在 AWS KMS 控制台中,当您使用外部密钥材料来源创建密钥时,会自动为密钥管理员添加这些权限。
若要使用导入的密钥材料创建 KMS 密钥,委托人需要以下权限。
-
kms:CreateKey(IAM policy)
-
要将此权限限制为具有导入密钥材料的 KMS 密钥,请使用值为
EXTERNAL
的 kms:KeyOrigin 策略条件。{ "Sid": "CreateKMSKeysWithoutKeyMaterial", "Effect": "Allow", "Resource": "*", "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
-
-
kms:GetParametersForImport(密钥策略或 IAM policy)
-
若要将此权限限制到使用特定包装算法和包装密钥规范的请求,请使用 kms:WrappingAlgorithm 和 kms:WrappingKeySpec 策略条件。
-
-
kms:ImportKeyMaterial(密钥策略或 IAM policy)
-
要允许或禁止过期的密钥材料并控制过期日期,请使用 kms:ExpirationModel 和 kms:ValidTo 策略条件。
-
要重新导入导入的密钥材质,委托人需要 kms: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 密钥的密钥规范兼容。对于非对称密钥对,仅导入密钥对的私有密钥。AWS KMS 从私有密钥派生公有密钥。
对于具有导入密钥材料的 KMS 密钥,AWS KMS 支持以下密钥规范。
KMS 密钥的密钥类型 | 密钥材料要求 |
---|---|
对称加密密钥 SYMMETRIC_DEFAULT |
256 位(32 字节)的二进制数据 在中国区域,必须是 128 位(16 字节)的二进制数据。 |
HMAC 密钥 HMAC_224 HMAC_256 HMAC_384 HMAC_512 |
HMAC 密钥材料必须符合 RFC 2104 密钥长度必须与密钥规范指定的长度相匹配。 |
RSA 非对称私有密钥 RSA_2048 RSA_3072 RSA_4096 |
您导入的 RSA 非对称私有密钥必须是符合 RFC 3447 模数:2048 位、3072 位或 4096 位 素数数量:2(不支持多素数 RSA 密钥) 非对称密钥材料必须采用符合 RFC 5208 |
椭圆曲线非对称私有密钥 ECC_NIST_P256 (secp256r1) ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1) ECC_SECG_P256K1 (secp256k1) |
您导入的 ECC 非对称私有密钥必须是符合 RFC 5915 曲线:NIST P-256、NIST P-384、NIST P-521 或 Secp256k1 参数:仅限命名曲线(拒绝带有显式参数的 ECC 密钥) 公共点坐标:可以是压缩坐标、未压缩坐标或投影坐标 非对称密钥材料必须采用符合 RFC 5208 |
SM2 非对称私有密钥(仅限中国区域) |
您导入的 SM2 非对称私有密钥必须是符合 GM/T 0003 的密钥对的一部分。 曲线:SM2 参数:仅限命名曲线(拒绝带有显式参数的 SM2 密钥) 公共点坐标:可以是压缩坐标、未压缩坐标或投影坐标 非对称密钥材料必须采用符合 RFC 5208 |