本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为离线源配置 S3 访问权限
在创建离线源数据提供程序时,您需要提供一个 IAM 角色 ARN (S3AccessRoleArn),允许 DMS 架构转换从 S3 存储桶读取 DDL 脚本。DMS 扮演此角色访问您指定的 S3 路径上的文件。
为离线源配置 S3 权限
-
使用允许 DMS 服务委托人代入的信任策略创建 IAM 角色。使用以下信任策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
向角色附加权限策略,授予对 S3 存储桶的读取权限。该角色需要以下权限:
所需的 S3 权限 处理建议 用途 s3:GetObject从存储桶读取 DDL 脚本文件内容 s3:ListBucket列出指定前缀下的对象以发现文件夹和 .sql文件注意
如果您的 S3 存储桶使用 AWS KMS (SSE-KMS) 的服务器端加密,请向 IAM 角色添加 KMS 密钥的
kms:Decrypt权限。如果您的存储桶使用默认 Amazon S3 托管加密 (SSE-S3) 或未加密,则无需其他权限。以下示例策略授予这些权限的范围仅限于特定的存储桶和前缀:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" } ] }将
amzn-s3-demo-bucket和prefix替换为您的存储桶名称和 DDL 脚本的路径。 -
创建离线源数据提供器时,请提供角色 ARN 作为
S3AccessRoleArn参数,并提供 DDL 脚本的 S3 位置作为参数。S3Path
注意
IAM 角色必须与 DMS 资源位于同一个 AWS 账户中。 Cross-account 离线源数据提供者不支持 S3 访问。