

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

# 排除 AWS Secrets Manager 复制故障
<a name="replicate-secrets_troubleshoot"></a>

AWS Secrets Manager 复制可能由于各种原因而失败。要检查密钥复制失败的原因，您可以执行以下操作之一：
+ 调用 `DescribeSecret` API 操作
+ 查看 AWS CloudTrail 活动

在复制失败时：
+ 如果没有可用的密钥版本，Secrets Manager 会将该密钥从副本区域中移除。
+ 如果成功复制密钥版本，则它们将保留在副本区域中，直到您使用 `RemoveRegionsFromReplication` API 操作将其明确移除。

以下各部分将介绍复制失败的一些常见原因。

## 选定区域中存在名称相同的密钥。
<a name="w2aac17c33c13"></a>

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

## KMS 密钥上没有可用的权限来完成复制。
<a name="w2aac17c33c15"></a>

Secrets Manager 首先解密密密钥，然后使用副本区域中的新 KMS 密钥重新加密。如果您在主区域中没有加密密钥的 `kms:Decrypt` 权限，则会遇到此错误。要使用 `aws/secretsmanager` 以外的 KMS 密钥对复制的秘密进行加密，您需要对密钥进行 `kms:GenerateDataKey` 和 `kms:Encrypt`。请参阅[KMS 密钥的权限](security-encryption.md#security-encryption-authz)。

## KMS 密钥已禁用或者未找到
<a name="w2aac17c33c17"></a>

如果主区域中的加密密钥被禁用或删除，则 Secrets Manager 将无法复制该秘密。即使您更改了加密密钥，如果秘密具有使用已禁用或删除的加密密钥加密的[自定义标签版本](whats-in-a-secret.md#term_version)，也可能发生此错误。有关 Secrets Manager 如何加密的信息，请参阅 [中的秘密加密和解密 AWS Secrets Manager](security-encryption.md)。要解决此问题，您可以重新创建秘密版本，以便 Secrets Manager 使用当前加密密钥对其进行加密。有关更多信息，请参阅[更改秘密的加密密钥](manage_update-encryption-key.md#manage_update-encryption-key_CLI)。然后重试复制。

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

## 您尚未启用要复制的区域。
<a name="w2aac17c33c19"></a>

有关如何启用区域的信息，请参阅 *AWS 账户管理参考指南*中的[管理 AWS 区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。