创建密钥访问策略和角色
按照以下步骤创建您的密钥访问策略和角色,允许 DMS 访问源数据库和目标数据库的用户凭证。
创建密钥访问策略和角色,以允许 Amazon RDS 访问 AWS Secrets Manager,从而访问相应的密钥
-
登录到 AWS Management Console,然后通过以下网址打开 AWS Identity and Access Management(IAM)控制台:https://console.aws.amazon.com/iam/
。 -
选择策略,然后选择创建策略。
-
选择 JSON 并输入以下策略,以启用对密钥的访问和解密。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource":
secret_arn
, }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource":kms_key_arn
, } ] }此处,
是密钥的 ARN,您可以根据需要从任一secret_arn
SecretsManagerSecretId
中获取,
是您用于加密密钥的 AWS KMS 密钥的 ARN,如以下示例所示。kms_key_arn
{ "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 创建的默认加密密钥,则无需为
指定 AWS KMS 权限。kms_key_arn
如果您希望策略提供对两个密钥的访问权限,只需为另一个
secret_arn
指定一个额外的 JSON 资源对象。 -
查看并创建具友好名称和描述(可选)的策略。
-
选择角色,然后选择创建角色。
-
选择 AWS 服务作为可信实体的类型。
-
从服务列表中选择 DMS 作为可信服务,然后选择下一步:权限。
-
查找并附加您在步骤 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