

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

# 跨区域复制 AWS Secrets Manager 密钥
<a name="replicate-secrets"></a>

您可以将您的密钥分成多个复制 AWS 区域 ，以支持分布在这些地区的应用程序，从而满足区域访问和低延迟要求。如果以后需要，您可以[将副本密钥升级为独立密钥](standalone-secret.md)，然后将其设置为独立复制。Secrets Manager 可以跨指定区域复制加密密钥数据和元数据，例如标签和资源策略。

除区域外，副本密钥的 ARN 与主密钥相同，例如：
+ 主密钥：`arn:aws:secretsmanager:Region1:123456789012:secret:MySecret-a1b2c3`
+ 副本密钥：`arn:aws:secretsmanager:Region2:123456789012:secret:MySecret-a1b2c3`

有关副本密钥的定价信息，请参阅 [AWS Secrets Manager 定价](https://aws.amazon.com/secrets-manager/pricing/)。

当存储复制到其他区域的源数据库的数据库凭证时，密钥将包含源数据库的连接信息。然后复制密钥时，副本将是源密钥的副本，并且包含相同的连接信息。您可以向密钥中添加其他 key/value 配对以获取区域连接信息。

如果您为主密钥启用轮换，Secrets Manager 将在主区域中进行密钥轮换，新的密钥值会传播到所有关联的副本密钥。您无需单独管理所有副本密钥的轮换。

您可以在所有已启用的 AWS 区域中复制密钥。但是，如果您在特殊 AWS 区域（例如 AWS GovCloud (US) 或中国区域）使用 Secrets Manager，则只能在这些 AWS 特殊区域内配置密钥和副本。您不能将已启用 AWS 区域中的密钥复制到专门区域，也不能将机密从专业区域复制到商业区域。

在将密钥复制到另一个区域之前，您必须启用该区域。有关更多信息，请参阅[管理 AWS 区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

通过调用存储密钥的区域中的 Secrets Manager 端点，则无需复制密钥即可在多个区域中使用密钥。有关 终端节点的列表，请参阅[AWS Secrets Manager 端点](asm_access.md#endpoints)。要使用复制来提高工作负载的弹性，请参阅[第一部分：云端恢复策略中的灾难恢复 (DR) 架构](https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-i-strategies-for-recovery-in-the-cloud/)。 AWS

当您复制密钥时，Secrets Manager 会生成一个 CloudTrail 日志条目。有关更多信息，请参阅 [使用记录 AWS Secrets Manager 事件 AWS CloudTrail](monitoring-cloudtrail.md)。

**要将密钥复制到其他地区（控制台）**

1. 打开 Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)。

1. 从密钥列表上，选择您的密钥。

1. 在密钥详细信息页面的**复制**选项卡中，执行以下任意一项操作：
   + 如果未复制密钥，请选择 **Replicate secret**（复制密钥）。
   + 如果已复制密钥，请在 **Replicate secret**（复制密钥）部分，选择 **Add Region**（添加区域）。

1. 在 **Add replica regions** 对话框中，执行以下操作：

   1. 针对 **AWS 区域**，请选择要将密钥复制粘贴的区域。

   1. （可选）对于**加密密钥**中，选择用来加密密钥的 KMS 密钥。密钥必须位于副本区域中。

   1. （可选）要添加其他区域，请选择 **Add more regions**（添加更多区域）。

   1. 选择 **Replicate**（复制）。

   此时会返回到密钥详细信息页面。**Replicate secret**（复制密钥）部分会显示每个区域的 **Replication status**（复制状态）。

## AWS CLI
<a name="replicate-secrets_CLI"></a>

**Example 将密钥复制到其他区域**  
以下 [https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/replicate-secret-to-regions.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/replicate-secret-to-regions.html) 示例将密钥复制到 eu-west-3。副本使用 AWS 托管密钥加密**aws/secretsmanager**。  

```
aws secretsmanager replicate-secret-to-regions \
        --secret-id MyTestSecret \
        --add-replica-regions Region=eu-west-3
```

**Example 创建密钥并复制它**  
以下[示例](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/create-secret.html)创建一个密钥并将其复制到 eu-west-3。副本使用加密 AWS 托管式密钥 **aws/secretsmanager**。  

```
aws secretsmanager create-secret \
    --name MyTestSecret \
    --description "My test secret created with the CLI." \
    --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
    --add-replica-regions Region=eu-west-3
```

## AWS SDK
<a name="replicate-secrets_SDK"></a>

要复制密钥，请使用 [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html) 命令。有关更多信息，请参阅 [AWS SDKs](asm_access.md#asm-sdks)。