

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 中的多区域密钥 Amazon KMS
<a name="multi-region-keys-overview"></a>

Amazon KMS 支持*多区域密钥*，这些 Amazon KMS keys 密钥不同 Amazon Web Services 区域 ，可以互换使用，就好像您在多个区域中使用相同的密钥一样。每组*相关的*多区域密钥都具有相同的密钥材料和密[钥 ID](concepts.md#key-id-key-id)，因此您可以将数据合二为一， Amazon Web Services 区域 然后使用不同的密钥进行解密， Amazon Web Services 区域 而无需重新加密或进行跨区域调用。 Amazon KMS

与所有 KMS 密钥一样，多区域密钥永远不会处于 Amazon KMS 未加密状态。您可以创建用于加密或签名的对称或非对称多区域密钥，创建用于生成和验证 HMAC 标签的 HMAC 多区域密钥，并创建[带导入密钥材料的多区域密钥](importing-keys.md)或 Amazon KMS 生成的密钥材料。您必须独立管理每个多区域密钥，包括创建别名和标签、设置其密钥策略和授权以及有选择性地启用和禁用它们。您可以在可使用单区域密钥进行的所有加密操作中使用多区域密钥。

多区域密钥是一个灵活而强大的解决方案，适用于许多常见的数据安全场景。

**灾难恢复 **  
在备份和恢复架构中，即使发生中断，多区域密钥也允许您不间断地处理加密数据。 Amazon Web Services 区域 备份区域中维护的数据可以在备份区域中解密，备份区域中新加密的数据可以在恢复该区域后在主区域中解密。

**全球数据管理**  
在全球运营的企业需要将全球分布的数据一致地提供到各个 Amazon Web Services 区域。您可以在数据所在的所有区域中创建多区域密钥，然后将密钥用作单区域密钥，而不会出现跨区域调用的延迟或在每个区域中使用不同密钥重新加密数据的成本。

**分布式签名应用程序**  
需要跨区域签名功能的应用程序可以使用多区域非对称签名密钥以在不同的 Amazon Web Services 区域一致、反复地生成同样的数字签名。  
如果您使用带有单个全局信任存储的证书链（用于单个根证书颁发机构 (CA)，以及由根 CA CAs 签名的区域中间证书，则不需要多区域密钥。但是，如果您的系统不支持中间 CAs认证（例如应用程序签名），则可以使用多区域密钥来保持区域认证的一致性。

**跨多个区域的双活应用程序**  
某些工作负载和应用程序可以跨越双活架构中的多个区域。对于这些应用程序，多区域密钥可以通过提供相同的密钥材料对可能跨区域边界移动的数据进行并发加密和解密操作来降低复杂性。

您可以将多区域密钥与客户端加密库结合使用，例如 [Amazon Encryption SDK](https://docs.amazonaws.cn/encryption-sdk/latest/developer-guide/)、[Amazon 数据库加密 SDK](https://docs.amazonaws.cn/dynamodb-encryption-client/latest/devguide/) 和 [Amazon S3 客户端加密](https://docs.amazonaws.cn/AmazonS3/latest/userguide/UsingClientSideEncryption.html)。

目前[，大多数与之集成的 Amazon KMS用于静态加密或数字签名的Amazon 服务](https://www.amazonaws.cn/kms/features/)都将多区域密钥视为单区域密钥。他们可能会重新包装或重新加密在区域之间移动的数据。例如，即使复制受多区域密钥保护的对象，Amazon S3 跨区域复制也会解密和重新加密目标区域中 KMS 密钥下的数据。请参阅特定服务的文档，了解服务如何复制加密数据，以及它是否以不同的方式对待多区域密钥。

多区域键不是全局键。创建一个多区域主键，然后将其复制到您在 [Amazon 分区](https://docs.amazonaws.cn/general/latest/gr/aws-arns-and-namespaces.html)中选择的区域。然后单独管理每个区域中的多区域键。 Amazon 也 Amazon KMS 不会自动代表您创建多区域密钥或将多区域密钥复制到任何区域。 [Amazon 托管式密钥](concepts.md#aws-managed-key)，即 Amazon 服务在您的账户中为您创建的 KMS 密钥，始终是单区域密钥。

对于中国区域，您可以使用多区域密钥功能在中国区域分区 (`aws-cn`) 内复制 KMS 密钥。例如，您可以将密钥从中国（北京）区域复制到中国（宁夏）区域，反之亦然。将密钥从一个中国地区复制到另一个中国地区，即表示您同意使用目标地区的密钥并遵守目标地区的所有适用协议条款。 Amazon Key Management Service 您不能将密钥从北京和宁夏区域复制到中国 Amazon 区域分区之外的区域。同样，也不能将密钥从中国区域分区之外的区域复制到北京和宁夏区域。

您不能将现有的单区域密钥转换为多区域密钥。此设计可确保使用现有单区域密钥保护的所有数据都保持相同的数据驻留和数据主权属性。

对于大多数数据安全需求，区域资源的区域隔离和容错能力使标准的 Amazon KMS 单区域密钥成为最合适的解决方案。但是，当您需要跨多个区域加密或对客户端应用程序中的数据进行签名时，多区域密钥可能是解决方案。



**区域**

所有 Amazon Web Services 区域 支持的密钥都支持多区域密钥。 Amazon KMS 

**定价和配额**

一组相关的多区域密钥中的每个密钥都被视为一个 KMS 密钥，用于定价和配额。[Amazon KMS 配额](limits.md)是针对账户的每个区域单独计算的。每个区域中的多区域密钥的使用和管理将计入该区域的配额。

**支持的 KMS 密钥类型**

您可以创建以下类型的多区域 KMS 密钥：
+ 对称加密 KMS 密钥
+ 非对称 KMS 密钥
+ HMAC KMS 密钥
+ 具有导入密钥材料的 KMS 密钥

您不能在自定义密钥存储中创建多区域密钥。

**了解详情**
+ 要了解如何控制对多区域 KMS 密钥的访问，请参阅 [控制对多区域密钥的访问](multi-region-keys-auth.md)。
+ 要创建任何类型的多区域主 KMS 密钥，请参阅 [创建多区域主密钥](create-primary-keys.md)。
+ 要创建多区域副本 KMS 密钥，请参阅 [创建多区域副本密钥](multi-region-keys-replicate.md)。
+ 要更新主区域，请参阅 [更改一组多区域密钥中的主密钥](multi-region-update.md)。
+ 要识别和查看多区域 KMS 密钥，请参阅 [识别 HMAC KMS 密钥](identify-key-types.md#hmac-view)。
+ 要了解删除多区域 KMS 密钥的特殊注意事项，请参阅 [Deleting multi-Region keys](deleting-keys.md#deleting-mrks)。

## 术语和概念
<a name="multi-region-concepts"></a>

以下术语和概念用于多区域密钥。

### 多区域密钥
<a name="multi-Region-concept"></a>

*多区域密钥*是不同 Amazon Web Services 区域中具有相同的密钥 ID 和密钥材料（以及其他[共享属性](#mrk-replica-key)）的一组 KMS 密钥之一。每个多区域密钥都是一个功能齐全的 KMS 密钥，可以完全独立于其相关的多区域密钥使用。由于所有*相关的*多区域密钥都具有相同的密钥 ID 和密钥材料，因此它们具有*互操作性*，也就是说，任何密钥中的任何相关多区域密钥 Amazon Web Services 区域 都可以解密由任何其他相关多区域密钥加密的密文。

您可以在创建 KMS 密钥时设置其多区域属性。您不能更改现有密钥的多区域属性。您不能将单区域密钥转换为多区域密钥，或将多区域密钥转换为单区域密钥。要将现有工作负载移动到多区域方案中，您必须重新加密数据或使用新的多区域密钥创建新的签名。

多区域密钥可以是对[称的，也可以是非对称](symmetric-asymmetric.md)的，它可以使用 Amazon KMS 密钥材料或[导入](importing-keys.md)的密钥材料。您不能在[自定义密钥存储](key-store-overview.md#custom-key-store-overview)中创建多区域密钥。

在一组相关的多区域密钥中，任何时候都只有一个[主键](#mrk-primary-key)。您可以在其他 Amazon Web Services 区域中创建该主键的[副本密钥](#mrk-replica-key)。您还可以[更新主区域](multi-region-update.md#update-primary-console)，从而将主键更改为副本密钥，并将指定的副本密钥更改为主键。但是，每个主键或副本密钥中只能保留一个主键或副本密钥 Amazon Web Services 区域。所有区域都必须位于同一个 [Amazon 分区](https://docs.amazonaws.cn/general/latest/gr/aws-arns-and-namespaces.html)。

您可以在相同或不同的 Amazon Web Services 区域中拥有多组相关多区域密钥。尽管相关的多区域密钥是可互操作的，但不相关的多区域密钥不可互操作。

### 主键
<a name="mrk-primary-key"></a>

多区域*主密钥*是一个 KMS 密钥，可以复制到同一分区 Amazon Web Services 区域 中的其他密钥。每组多区域密钥只有一个主键。

主键与副本密钥的区别在以下几方面：
+ 只有主键可以[复制](multi-region-keys-replicate.md)。
+ 主键是其[副本密钥](#mrk-replica-key)的[共享属性](#mrk-replica-key)的来源，包括密钥材料和密钥 ID。
+ 您只能在主键上启用和禁用[自动密钥轮换](rotate-keys.md)。
+ 您可以随时[计划删除主键](deleting-keys.md#deleting-mrks)。但是在删除主键的所有副本密钥之前， Amazon KMS 不会将其删除。

不过，主密钥和副本密钥在任何加密属性中都没有区别。您可以互换使用主键及其副本密钥。

您不需要复制主键。您可以像使用任何 KMS 密钥一样使用它，并在有用时复制它。但是，由于多区域密钥与单区域密钥具有不同的安全属性，因此我们建议您仅在计划复制多区域密钥时才创建多区域密钥。

### 副本密钥
<a name="mrk-replica-key"></a>

多区域*副本密钥*是一个 KMS 密钥，它具有与其[主密钥](#mrk-primary-key)和相关副本密钥相同的[密钥 ID](concepts.md#key-id-key-id) 和密钥材料，但位于不同的 Amazon Web Services 区域中。

副本密钥是功能齐全的 KMS 密钥，具有其自己的密钥策略、授权、别名、标签和其他属性。它不是主键或任何其他密钥的副本或指针。即使某个副本密钥的主键及所有相关的副本密钥都被禁用，您也可以使用该副本密钥。您还可以将副本密钥转换为主键，将主键转换为副本密钥。副本密钥被创建后，仅依赖于其主键进行[密钥轮换](rotate-keys.md#multi-region-rotate)和[更新主区域](multi-region-update.md)。

主密钥和副本密钥在任何加密属性中都没有区别。您可以互换使用主键及其副本密钥。通过主密钥或副本密钥加密的数据可以通过相同的密钥或任何相关的主密钥或副本密钥进行解密。

### 复制
<a name="replicate"></a>

您可以*将多区域[主键](#mrk-primary-key)复制*到同一分区 Amazon Web Services 区域 中的其他主键中。完成后，在指定区域 Amazon KMS 创建多区域[副本密钥](#mrk-replica-key)，其[密钥 ID](concepts.md#key-id-key-id) 和其他[共享属性](#mrk-sync-properties)与其主键相同。对于带有`AWS_KMS`来源的 KMS 密钥， Amazon KMS 可以安全地跨区域边界传输密钥材料，并将其与新的副本密钥相关联，所有这些都在区域边界内 Amazon KMS。对于带有 `EXTERNAL` Origin 的 KMS 密钥，您必须将导入主区域密钥的相同密钥材料单独导入到每个副本区域密钥中。

### 共享属性
<a name="mrk-sync-properties"></a>

*共享属性*是与其副本密钥共享的多区域主键的属性。 Amazon KMS 使用与主键相同的共享属性值创建副本密钥。然后，它会定期将主键的共享属性值与其副本密钥同步。您不能在副本密钥上设置这些属性。

以下是多区域密钥的共享属性。
+ [密钥 ID](concepts.md#key-id-key-id) —（[密钥 ARN](concepts.md#key-id-key-ARN) 的 `Region` 元素不同。）
+ [密钥材料](create-keys.md#key-origin) — 一组相关的多区域密钥中的主密钥和副本密钥共享相同的密钥材料。对于密钥材料由 Amazon KMS （`AWS_KMS`来源）生成的多区域密钥，在创建副本或通过自动或按需轮换创建新的密钥材料时，将所有密钥材料从主密钥材料 Amazon KMS 安全地传输到每个副本。对于具有导入密钥材料（`EXTERNAL`来源）的多区域密钥，会 Amazon KMS 同步主密钥中的密钥材料标识符，但您必须将密钥材料单独导入每个副本密钥。
+ [密钥材料源](create-keys.md#key-origin)
+ [密钥规范](create-keys.md#key-spec)和加密算法
+ [密钥用法](create-keys.md#key-usage)
+ [自动密钥轮换](rotating-keys-enable.md) — 您只能在主键上启用和禁用自动密钥轮换。将使用共享密钥材料的所有版本创建新的副本密钥。有关更多信息，请参阅 [Rotating multi-Region keys](rotate-keys.md#multi-region-rotate)。
+ [按需轮换](rotating-keys-on-demand.md) – 您只能在对主密钥执行按需轮换。对于密钥材料由 Amazon KMS （`AWS_KMS`来源）生成的多区域密钥，使用共享密钥材料的所有版本 Amazon KMS 创建副本密钥。对于具有导入密钥材料（`EXTERNAL`来源）的多区域密钥，会将密钥材料 ID 和密钥材料描述从主密钥 Amazon KMS 传播到副本密钥，但不传播密钥材料。您必须将正确的密钥材料分别导入到每个副本密钥中。有关更多信息，请参阅 [Rotating multi-Region keys](rotate-keys.md#multi-region-rotate)。

您还可以将相关多区域密钥的主名称和副本名称视为共享属性。当您[创建新的副本密钥](#mrk-replica-key)或[更新主密钥时，会将更改 Amazon KMS 同步到所有相关的多区域密](multi-region-update.md#update-primary-console)钥。完成这些更改后，所有相关的多区域密钥都会准确列出其主键和副本密钥。

[多区域密钥的所有其他属性都是*独立的属性*，包括密钥描述、密[钥策略](key-policies.md)、[授权](grants.md)、[启用和禁用的密钥状态](enabling-keys.md)、[别名](kms-alias.md)和标签。](tagging-keys.md)您可以在所有相关的多区域密钥上为这些属性设置相同的值，但如果更改独立属性的值， Amazon KMS 不会同步它。

您可以跟踪多区域密钥的共享属性的同步情况。在您的 Amazon CloudTrail 日志中，查找[SynchronizeMultiRegionKey](ct-synchronize-multi-region-key.md)事件。