

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

# 防止 Amazon Secrets Manager 复制
<a name="replicate-secrets-permissions"></a>

由于密钥可以使用 [https://docs.amazonaws.cn/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html](https://docs.amazonaws.cn/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html) 进行复制或在使用 [https://docs.amazonaws.cn/secretsmanager/latest/apireference/API_CreateSecret.html](https://docs.amazonaws.cn/secretsmanager/latest/apireference/API_CreateSecret.html) 创建时进行复制，因此如果您想防止用户复制密钥，我们建议您阻止包含 `AddReplicaRegions` 参数的操作。您可以在权限策略中使用 `Condition` 语句，以仅允许不添加副本区域的操作。有关您可以使用的条件语句，请参阅以下策略示例。

**Example 防止复制权限**  
以下策略示例演示了如何允许所有不添加副本区域的操作。这可以防止用户同时通过 `ReplicateSecretToRegions` 和 `CreateSecret` 复制密钥。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:*",
      "Resource": "*",
      "Condition": {
        "Null": {
          "secretsmanager:AddReplicaRegions": "true"
        }
      }
    }
  ]
}
```

**Example 仅允许向特定区域提供复制权限**  
以下策略演示了如何允许以下所有操作：  
+ 创建密钥而不复制
+ 创建密钥并复制到仅位于美国和加拿大的区域
+ 仅将密钥复制到位于美国和加拿大的区域   
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret",
        "secretsmanager:ReplicateSecretToRegions"
      ],
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringLike": {
          "secretsmanager:AddReplicaRegions": [
            "us-*",
            "ca-*"
          ]
        }
      }
    }
  ]
}
```