配置对数据源和数据接收器的访问权限

本页面介绍了如何针对使用 Storage Transfer Service 进行的数据传输,设置对数据源和数据接收器的访问权限。

Storage Transfer Service 使用 Google 管理的服务帐号来迁移数据。如果您通过 Google Cloud Console 创建转移作业并有权更新 Cloud Storage 资源的 IAM 政策,则通过 Google Cloud Console 创建的转移作业会自动为 Storage Transfer Service 使用的 Google 管理的服务帐号授予转移作业所需的权限。

对非 Google Cloud 数据源以及使用 Storage Transfer Service API 创建的转移作业的访问权限需要额外设置。

前提条件

服务帐号权限在存储分区级层进行授予。您必须具备授予这些权限的能力,例如具有 Storage Admin 角色。如需了解详情,请参阅身份和访问权限管理

如果您打算使用 Pub/Sub 进行数据转移,请确保向服务帐号授予所需 Pub/Sub 主题的 IAM 角色 roles/pubsub.publisher。分配角色后,可能会延迟几秒钟,您的服务帐号才会获得相应角色。如果您以编程方式授予此权限,请等待 30 秒再配置 Storage Transfer Service。

如果您在 Cloud Storage 源存储分区或目标存储分区启用了 Cloud Key Management Service,请检查项目的配额页面中列出的 Cloud KMS 配额是否与 Storage Transfer 的读取配额写入配额相匹配。如不兼容,请从项目的配额页面申请增加配额。

详情请参阅以下内容:

设置对数据源的访问权限

Cloud Storage

Storage Transfer Service 使用 Google 管理的服务帐号来迁移数据。 accountEmail 字段中列出了 Google 管理的服务帐号。

如需将 Storage Transfer Service 设置为使用 Cloud Storage 作为数据源,请为源存储分区的 accountEmail 字段中的 Google 管理的服务帐号分配以下角色等效权限

角色 用途 备注
roles/storage.objectViewer 允许服务帐号读取存储分区的内容,以及读取对象数据和元数据。
roles/storage.legacyBucketReader 允许服务帐号读取存储分区的内容和其元数据,以及读取对象元数据。 如果您不打算从 Cloud Storage 中删除源对象,请向服务帐号分配 roles/storage.legacyBucketReader
roles/storage.legacyBucketWriter 允许服务帐号创建、覆盖和删除对象;列出存储分区中的对象;列出时读取对象元数据;以及读取存储分区元数据(不包括 IAM 政策)。 如果您要从 Cloud Storage 中删除源对象,请将 roles/storage.legacyBucketWriter 分配给服务帐号。

如需了解高级数据转移,请参阅 Storage Transfer Service 的 IAM 权限

Amazon S3

请按照以下步骤设置对 Amazon S3 存储分区的访问权限:

  1. 创建 AWS IAM(身份识别与访问管理服务)用户,并设置便于识别的用户名,如 transfer-user。确保名称遵循 AWS IAM 用户命名指南(请参阅 IAM 实体和对象的限制)。
  2. 授予 AWS IAM 用户执行以下操作的权限:
    • 列出 Amazon S3 存储分区。
    • 获取存储分区的位置。
    • 读取存储分区中的对象。
    • 如果您计划在对象转移后从来源删除对象,请授予用户“删除对象”权限。
  3. 为您要设置的转移作业创建至少一个访问/密钥对。您还可以为每个转移作业创建单独的访问/密钥对。

  4. 恢复归档到 Amazon Glacier 的任意对象。在恢复归档到 Amazon Glacier 的 Amazon S3 对象之前,您无法访问这些对象如需了解详情,请参阅“从 Amazon Glacier 迁移到 Cloud Storage”白皮书

Microsoft Azure Blob Storage

要配置对 Microsoft Azure Storage 容器的访问权限,请按以下步骤操作:

  1. 创建或使用现有的 Microsoft Azure Storage 用户来访问 Microsoft Azure Storage Blob 容器的存储帐号。
  2. 在容器级层创建一个 SAS 令牌。请参阅使用共享访问签名授予对 Azure Storage 资源的有限访问权限

    SAS 令牌的默认到期时间为 8 小时。在创建 SAS 令牌时,请确保设置合理的到期时间,以便成功完成转移。

网址列表

如果您的数据源是网址列表,请确保网址列表中的每个对象都可公开访问。

设置对数据接收器的访问权限

Storage Transfer Service 使用 Google 管理的服务帐号来迁移数据。 accountEmail 字段中列出了 Google 管理的服务帐号。数据转移的接收器始终是 Cloud Storage 存储分区。

如需将 Storage Transfer Service 设置为使用 Cloud Storage 作为数据接收器,请为目标存储分区的 accountEmail 字段中的 Google 管理的服务帐号分配以下角色等效权限

角色 用途
roles/storage.legacyBucketWriter 允许 Google 管理的服务帐号创建、覆盖和删除对象;列出目标存储分区中的对象;读取存储分区元数据。
roles/storage.objectViewer 允许 Google 管理的服务帐号列出和获取目标存储分区中的对象。

如需详细了解所需权限,请参阅 Storage Transfer Service 的 IAM 权限

后续步骤