将 Amazon Secrets Manager 密钥复制到其他 Amazon Web Services 区域 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 Amazon Secrets Manager 密钥复制到其他 Amazon Web Services 区域

您可以在多个 Amazon Web Services 区域 中复制密钥,为跨这些区域的应用程序提供支持,以满足区域访问和低延迟要求。如果以后需要,您可以将副本密钥升级为独立密钥,然后将其设置为独立复制。Secrets Manager 可以跨指定区域复制加密密钥数据和元数据,例如标签和资源策略。

除区域外,副本密钥的 ARN 与主密钥相同,例如:

  • 主密钥:arn:aws:secretsmanager:Region1:123456789012:secret:MySecret-a1b2c3

  • 副本密钥:arn:aws:secretsmanager:Region2:123456789012:secret:MySecret-a1b2c3

有关副本密钥的定价信息,请参阅 Amazon Secrets Manager 定价

当存储复制到其他区域的源数据库的数据库凭证时,密钥将包含源数据库的连接信息。然后复制密钥时,副本将是源密钥的副本,并且包含相同的连接信息。您可以在密钥中添加其他键值对以记录区域连接信息。

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

您可以在所有已启用的 Amazon 区域复制密钥。但是,如果在特殊的 Amazon 区域使用 Secrets Manager,如 Amazon GovCloud (US) 或中国地区,您只能配置在这些 Amazon 区域中的密钥和副本。您无法将已启用的 Amazon 区域的密钥复制到专门区域,或将专门区域的密钥复制到商业区域。

在将密钥复制到另一个区域之前,您必须启用该区域。有关更多信息,请参阅管理 Amazon 区域

通过调用存储密钥的区域中的 Secrets Manager 端点,则无需复制密钥即可在多个区域中使用密钥。有关 终端节点的列表,请参阅Amazon Secrets Manager 端点。要使用复制提高工作负载的弹性,请参阅Amazon 上的灾难恢复(DR)体系结构,第 I 部分:云端恢复策略

当您复制密钥时,Secrets Manager 会生成一个 CloudTrail 日志条目。有关更多信息,请参阅 使用 Amazon CloudTrail 记录 Amazon Secrets Manager 事件

要将密钥复制到其他地区(控制台)
  1. 通过 https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台。

  2. 从密钥列表上,选择您的密钥。

  3. 在密钥详细信息页面的复制选项卡中,执行以下任意一项操作:

    • 如果未复制密钥,请选择 Replicate secret(复制密钥)。

    • 如果已复制密钥,请在 Replicate secret(复制密钥)部分,选择 Add Region(添加区域)。

  4. Add replica regions 对话框中,执行以下操作:

    1. 针对 Amazon 区域,请选择要将密钥复制粘贴的区域。

    2. (可选)对于加密密钥中,选择用来加密密钥的 KMS 密钥。密钥必须位于副本区域中。

    3. (可选)要添加其他区域,请选择 Add more regions(添加更多区域)。

    4. 选择 Replicate(复制)。

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

Amazon CLI

例 将密钥复制到其他区域

以下 replicate-secret-to-regions 示例将密钥复制到 eu-west-3。副本使用 Amazon 托管密钥 aws/secretsmanager 加密。

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

Amazon 软件开发工具包

要复制密钥,请使用 ReplicateSecretToRegions 命令。有关更多信息,请参阅 Amazon 软件开发工具包

故障排除

以下是可能造成复制失败的一些原因。

选定区域中存在名称相同的密钥。

为此解决此问题,可以覆盖副本区域中的重复名称密钥。重试复制,然后在重试复制对话框中,选择覆盖

KMS 密钥上没有可用的权限来完成复制。

Secrets Manager 首先解密密密钥,然后使用副本区域中的新 KMS 密钥重新加密。如果您在主区域中没有加密密钥的 kms:Decrypt 权限,则会遇到此错误。要使用 aws/secretsmanager 以外的 KMS 密钥对复制的秘密进行加密,您需要对密钥进行 kms:GenerateDataKeykms:Encrypt。请参阅KMS 密钥的权限

KMS 密钥已禁用或者未找到

如果主区域中的加密密钥被禁用或删除,则 Secrets Manager 将无法复制该秘密。即使您更改了加密密钥,如果秘密具有使用已禁用或删除的加密密钥加密的自定义标签版本,也可能发生此错误。有关 Secrets Manager 如何加密的信息,请参阅 Amazon Secrets Manager 中的密钥加密和解密。要解决此问题,您可以重新创建秘密版本,以便 Secrets Manager 使用当前加密密钥对其进行加密。有关更多信息,请参阅更改秘密的加密密钥。然后重试复制。

aws secretsmanager put-secret-value \ --secret-id testDescriptionUpdate \ --secret-string "SecretValue" \ --version-stages "MyCustomLabel"

您尚未启用要复制的区域。

有关如何启用区域的信息,请参阅 Amazon 账户管理参考指南中的管理 Amazon 区域