本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 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 事件。
要将密钥复制到其他地区(控制台)
通过 https://console.aws.amazon.com/secretsmanager/
打开 Secrets Manager 控制台。 -
从密钥列表上,选择您的密钥。
-
在密钥详细信息页面的复制选项卡中,执行以下任意一项操作:
-
如果未复制密钥,请选择 Replicate secret(复制密钥)。
-
如果已复制密钥,请在 Replicate secret(复制密钥)部分,选择 Add Region(添加区域)。
-
-
在 Add replica regions 对话框中,执行以下操作:
-
针对 Amazon 区域,请选择要将密钥复制粘贴的区域。
-
(可选)对于加密密钥中,选择用来加密密钥的 KMS 密钥。密钥必须位于副本区域中。
-
(可选)要添加其他区域,请选择 Add more regions(添加更多区域)。
-
选择 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:GenerateDataKey
和 kms: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 区域。