本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将密钥材料导入到多区域密钥中
您可以将自己的密钥材料导入到多区域对称加密 KMS 密钥中。您使用自己的密钥材料创建的多区域密钥是可互操作的。您可以对一个区域中的数据进行加密,并使用相关的多区域密钥在任何其他区域中解密该数据。
但是,您必须管理密钥材料。
-
Amazon KMS 不会将密钥材料从具有导入密钥材料的主密钥中复制或同步到其副本密钥。您必须将相同的密钥材料导入相关的主密钥和副本密钥中。
-
导入密钥材料时,您可以单独设置每个密钥的到期模型和到期日期。您可以为相关的多区域密钥配置相同或不同的过期模式和过期日期。如果密钥材料接近到期日期,您必须将密钥材料重新导入受影响的多区域密钥。
相关多区域密钥的密钥状态是相互独立的。例如,如果主密钥中的密钥材料过期,则其副本密钥不受影响。
相同的副本密钥的区域要求适用于带导入的密钥材料的多区域密钥。如果您将相同的密钥材料导入到单区域密钥或不相关的多区域密钥中,则这些 KMS 密钥不可互操作。
带有导入密钥材料的多区域密钥必须是密钥材料源为 EXTERNAL 的对称 KMS 密钥。Amazon KMS 不支持非对称 KMS 密钥中的导入密钥材料或自定义密钥存储中的 KMS 密钥。而且,您不能为具有导入密钥材料的 KMS 密钥启用自动密钥轮换。
除了具有多区域功能外,带有导入密钥材料的多区域密钥还与其他带有导入密钥材料的 KMS 密钥相同。有关创建和配置带有导入密钥材料的单区域密钥的详细信息,请参阅 关于导入的密钥材料。
为什么不是所有带有导入密钥材料的 KMS 密钥都可互操作?
带有导入密钥材料的单区域 KMS 密钥不可互操作,即使它们具有相同的密钥材料也是如此。Amazon KMS 使用 KMS 密钥加密数据时,它会以加密方式将某些密钥元数据绑定到密文。这样可以保护密文,以便只有加密数据的 KMS 密钥才能解密该数据。
多区域密钥设计为可互操作。除了具有相同的密钥材料外,它们还具有相同的密钥 ID 和其他元数据。因此,它们生成的密文可以通过任何相关的多区域密钥进行解密。因此,多区域密钥的信任属性与单区域密钥的信任属性不同。但对于某些客户来说,在多个区域中解密的好处超过了依赖单个 Amazon Web Services 区域 中的单个 KMS 密钥的密文的安全值。
创建带导入的密钥材料的主密钥
要创建带导入的密钥材料的主密钥,请先创建不带密钥材料的对称加密 KMS 密钥作为主密钥。然后,将您的密钥材料导入到主密钥中。
创建不包含密钥材料的多区域主密钥的过程几乎与创建不包含密钥材料的单区域对称加密密钥的过程相同。唯一的区别是您同时指定了多区域密钥材料和外部密钥材料。
创建具有导入的密钥材料的多区域主密钥的权限与创建带有 Amazon KMS 密钥材料的多区域主密钥所需的权限相同,包括 IAM 策略中的 kms:CreateKey 和 iam:CreateServiceLinkedRole 权限。您可以使用 kms:MultiRegionKeyType 和 kms:KeyOrigin 条件键以允许或拒绝创建具有导入的密钥材料的多区域主密钥的权限。
在 Amazon KMS 控制台中使用导入的密钥材料创建主密钥时,请使用 Advanced options(高级选项)部分中的设置。创建 KMS 密钥后,这些属性无法更改。
-
将 Key material origin(密钥材料源)设置为 External (Import key material) [外部(导入密钥材料)]。
-
将 Multi-Region replication(多区域复制)设置为 Allow this key to be replicated into other Regions(允许此密钥复制到其他区域中)。
通过 CreateKey 操作使用导入的密钥材料创建主密钥时,请使用 Origin
和 MultiRegion
参数。
$
aws kms create-key --origin EXTERNAL --multi-region true
结果将生成一个不包含密钥材料且密钥状态为 PendingImport
的多区域主密钥。
要启用此 KMS 密钥,您必须下载公有密钥和导入令牌,使用公有密钥加密密钥材料,然后导入密钥材料。有关说明,请参阅 导入 Amazon KMS 密钥中的密钥材料。
创建带导入的密钥材料的副本密钥
您可以在 Amazon KMS 控制台中或使用 Amazon KMS API 操作创建多区域副本密钥。要复制具有导入的密钥材料的多区域主密钥,请使用您用于创建具有 Amazon KMS 密钥材料的副本密钥的相同程序。然而,结果是不同的。复制过程不会返回具有与主密钥相同的密钥材料的副本密钥,而是返回一个不包含密钥材料且密钥状态为 PendingImport
的副本密钥。要启用副本密钥,您必须将相同的密钥材料导入到您导入主密钥的副本密钥中。
虽然不复制密钥材料,但 Amazon KMS 会创建具有相同密钥 ID、密钥规范、密钥用法和密钥材料源的副本密钥作为主密钥。它还可确保您导入到副本密钥中的密钥材料与导入到主密钥中的密钥材料相同。
要创建带导入的密钥材料的副本密钥:
-
创建带已导入密钥材料的多区域主密钥。
-
请执行以下任一操作。
在 Amazon KMS 控制台中,选择带已导入密钥材料的多区域主密钥。然后,在其 Regionality(区域性)选项卡上,选择 Create new replica keys(创建新副本密钥)。有关说明,请参阅 创建副本密钥(控制台)。
或者使用 ReplicateKey 操作。对于
KeyId
参数,输入带导入的密钥材料的多区域主密钥的密钥 ID 或密钥 ARN。有关说明,请参阅 创建副本密钥 (Amazon KMS API)。 -
对于每个新的副本密钥,请按照以下步骤下载公有密钥和导入令牌。使用公有密钥对主密钥的密钥材料进行加密,然后在副本密钥中导入主密钥的密钥材料。您的每个副本密钥都需要不同的公有密钥和导入令牌。
如果您尝试导入到副本密钥中的密钥材料与其主密钥不同,则操作将失败。Amazon KMS 不需要协调过期模式和过期日期,但您可以为多区域密钥建立业务规则。有关说明,请参阅 导入 Amazon KMS 密钥中的密钥材料。
复制带有导入密钥材料的密钥的权限
要创建带导入的密钥材料的副本密钥,您必须具有以下权限。
在主密钥区域中:
-
主密钥上的 kms:ReplicateKey(在主密钥的区域中) 将此权限包含在主密钥的密钥策略或 IAM 策略中。
在副本密钥区域中:
-
IAM 策略中的 kms:CreateKey
-
kms:GetParametersForImport。您可以将此权限包含在副本密钥的密钥策略或 IAM 策略中。
-
kms:ImportKeyMaterial。您可以将此权限包含在副本密钥的密钥策略或 IAM 策略中。
-
在复制时分配标签需要 kms:TagResource。将此权限包含在副本区域的 IAM 策略中。
-
在 Amazon KMS 控制台中复制密钥时需要 kms:CreateAlias。有关详细信息,请参阅控制对别名的访问。