View a markdown version of this page

为离线源配置 S3 访问权限 - AWS Database Migration Service

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

为离线源配置 S3 访问权限

在创建离线源数据提供程序时,您需要提供一个 IAM 角色 ARN (S3AccessRoleArn),允许 DMS 架构转换从 S3 存储桶读取 DDL 脚本。DMS 扮演此角色访问您指定的 S3 路径上的文件。

为离线源配置 S3 权限
  1. 使用允许 DMS 服务委托人代入的信任策略创建 IAM 角色。使用以下信任策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 向角色附加权限策略,授予对 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-bucketprefix替换为您的存储桶名称和 DDL 脚本的路径。

  3. 创建离线源数据提供器时,请提供角色 ARN 作为S3AccessRoleArn参数,并提供 DDL 脚本的 S3 位置作为参数。S3Path

注意

IAM 角色必须与 DMS 资源位于同一个 AWS 账户中。 Cross-account 离线源数据提供者不支持 S3 访问。