权限和角色

Storage Transfer Service 使用 Identity and Access Management (IAM) 权限和角色来控制哪些用户可以访问 Storage Transfer Service 资源。Storage Transfer Service 中可用的主要资源类型是作业、操作和代理池。在 IAM 政策层次结构中,作业是项目的子资源,而操作则是作业的子资源。

要授予对某项资源的访问权限,请为用户,群组或服务账号分配一个或多个权限角色

权限

您可以授予以下 Storage Transfer Service 权限:

转移项目权限

权限 说明
storagetransfer.projects.getServiceAccount 可以读取 Storage Transfer Service 用于访问 Cloud Storage 存储桶的 GoogleServiceAccount。

转移作业权限

下表介绍 Storage Transfer Service 作业的权限:

权限 说明
storagetransfer.jobs.create 可以新建转移作业。
storagetransfer.jobs.delete 可以删除现有的传输作业。

通过调用 patch 函数删除转移作业。但是,用户在删除传输作业时必须具有此权限,以避免出现权限错误。
storagetransfer.jobs.get 可以检索特定作业。
storagetransfer.jobs.list 可以列出所有传输作业。
storagetransfer.jobs.run 可以运行所有转移作业。
storagetransfer.jobs.update 可以更新传输作业配置,而不删除这些配置。

转移操作权限

下表介绍了 Storage Transfer Service 操作的权限:

权限 说明
storagetransfer.operations.assign 供转移代理用于分配操作。
storagetransfer.operations.cancel 可以取消传输操作。
storagetransfer.operations.get 可以获取传输操作的详细信息。
storagetransfer.operations.list 可以列出所有传输作业操作。
storagetransfer.operations.pause 可以暂停传输操作。
storagetransfer.operations.report 供转移代理用于报告操作状态。
storagetransfer.operations.resume 可以恢复暂停的传输操作。

转移代理池权限

下表介绍了文件系统转移代理池的权限:

权限 说明
storagetransfer.agentpools.create 可以创建代理池。
storagetransfer.agentpools.update 可以更新代理池。
storagetransfer.agentpools.delete 可以删除代理池。
storagetransfer.agentpools.get 可以获取特定代理池的相关信息。
storagetransfer.agentpools.list 可以列出项目中所有代理池的信息。
storagetransfer.agentpools.report 供转移代理用于报告状态。

预定义角色

本部分介绍 Storage Transfer Service 的预定义角色。角色是设置 IAM 权限的首选方式。

角色比较

您可以分配以下项目角色或 Storage Transfer Service 预定义角色:

能力 Editor (roles/editor) Storage Transfer (roles/storagetransfer.)
Admin (admin) User (user) Viewer (viewer)
列出/获取作业
创建作业
运行作业
更新作业
删除作业
列出/获取传输操作
暂停/恢复传输
读取 Storage Transfer Service 用于访问 Cloud Storage 存储分区的 Google 服务账号详细信息。
列出代理
列出代理池
创建代理池
更新代理池
删除代理池
获取代理池
读取或设置项目带宽

角色详情

下表详细描述了 Storage Transfer Service 的预定义角色:

角色 说明 包含的权限
Storage Transfer Admin
(roles/storagetransfer.
admin
)

提供所有 Storage Transfer Service 权限,包括删除作业。

说明:这是责任最宽泛、级别最高的角色,也是可在其同事执行转移时为他们提供支持的超级用户。该角色最适合转移管理人员,例如 IT 管理员。

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.*
Storage Transfer User
(roles/storagetransfer.
user
)

为用户提供在项目中创建、获取、更新和列出转移作业的权限。但是,他们无法删除自己的作业。

说明:此角色允许将创建和维护作业与删除作业分开。此角色最适合需要在工作职能中执行转移的用户,例如员工。此角色不允许删除转移,因此审核人员或安全人员可以查看保存完好的历史传输记录。

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.agentpools.create
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
  • storagetransfer.agentpools.report
  • storagetransfer.agentpools.update
  • storagetransfer.jobs.create
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.jobs.run
  • storagetransfer.jobs.update
  • storagetransfer.operations.*
  • storagetransfer.projects.getServiceAccount
Storage Transfer Viewer
(roles/storagetransfer.
viewer
)

提供在项目中列出和获取作业以及传输操作的权限。用户无法安排、更新或删除作业。

说明:查看者角色适用于查看转移作业和操作的只读权限。此角色允许将报告和审核任务与创建和维护作业分开。此角色最适合审核转移使用情况的用户或内部团队,例如安全、合规或业务部门负责人。

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.operations.get
  • storagetransfer.operations.list
  • storagetransfer.projects.getServiceAccount
Storage Transfer Agent (roles/storagetransfer.transferAgent)

向转移代理授予完成转移所需的 Storage Transfer Service 和 Pub/Sub 权限。

将此角色授予代理使用的用户或服务账号。

  • storagetransfer.operations.get
  • storagetransfer.operations.report
  • storagetransfer.operations.assign
  • storagetransfer.agentpools.report
  • pubsub.topics.create
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.subscriptions.create
  • pubsub.subscriptions.get
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.consume
  • pubsub.topics.attachSubscription
  • pubsub.topics.publish
Storage Transfer Service Agent (roles/storagetransfer.serviceAgent)

Storage Transfer Service 服务代理授予创建和修改 Pub/Sub 主题所需的权限,以便从 Google Cloud 向转移代理进行通信。

将此角色授予 Storage Transfer Service 服务代理

  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.get
  • pubsub.topics.publish
  • pubsub.topics.update

自定义角色

您可以创建和应用自定义 IAM 角色以满足组织的访问权限要求。

创建自定义角色时,建议将预定义角色进行组合,以确保包含正确的权限。

如果自定义角色缺少必需的权限,Google Cloud Console 将无法正常运行。例如,Google Cloud 控制台的某些部分假定角色具有读取权限,可在修改某项之前显示该项,因此仅具有写入权限的角色可能会发现 Google Cloud 控制台界面无法正常使用。