

# 创建密钥访问策略和角色
<a name="USER_DMS_migration-IAM.secret-iam-role-policy"></a>

按照以下步骤创建您的密钥访问策略和角色，允许 DMS 访问源数据库和目标数据库的用户凭证。

**创建密钥访问策略和角色，以允许 Amazon RDS 访问 AWS Secrets Manager，从而访问相应的密钥**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 AWS Identity and Access Management（IAM）控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 选择**策略**，然后选择**创建策略**。

1. 选择 **JSON** 并输入以下策略，以启用对密钥的访问和解密。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333}}:secret:SecretName-ABCDEF"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:{{us-east-1}}:111122223333:key/{{1234abcd-12ab-34cd-56ef-1234567890ab}}"
           }
       ]
   }
   ```

------

   此处，`{{secret_arn}}` 是密钥的 ARN，您可以根据需要从任一 `SecretsManagerSecretId` 中获取，`{{kms_key_arn}}` 是您用于加密密钥的 AWS KMS 密钥的 ARN，如以下示例所示。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH"
           },
           {
                "Effect": "Allow",
                "Action": [
                           "kms:Decrypt",
                           "kms:DescribeKey"
                         ],
                "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd"
           }
        ]
   }
   ```

------
**注意**  
如果您使用 AWS Secrets Manager 创建的默认加密密钥，则无需为 `{{kms_key_arn}}` 指定 AWS KMS 权限。  
如果您希望策略提供对两个密钥的访问权限，只需为另一个 {{secret\_arn}} 指定一个额外的 JSON 资源对象。

1. 查看并创建具友好名称和描述（可选）的策略。

1. 选择**角色**，然后选择**创建角色**。

1. 选择 **AWS 服务**作为可信实体的类型。

1. 从服务列表中选择 **DMS** 作为可信服务，然后选择**下一步：权限**。

1. 查找并附加您在步骤 4 中创建的策略，然后继续添加所有标签并查看角色。此刻，编辑角色的信任关系，以使用 Amazon RDS 区域服务主体作为可信实体。此主体采用以下格式。

   ```
   dms.{{region-name}}.amazonaws.com
   ```

   此处，{{`region-name`}} 是区域的名称，如 `us-east-1`。因此，此区域的 Amazon RDS 区域服务主体如下。

   ```
   dms.us-east-1.amazonaws.com
   dms-data-migrations.amazonaws.com
   ```