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. )
|
提供所有 Storage Transfer Service 权限,包括删除作业。 说明:这是责任最宽泛、级别最高的角色,也是可在其同事执行转移时为他们提供支持的超级用户。该角色最适合转移管理人员,例如 IT 管理员。 |
|
Storage Transfer User ( roles/storagetransfer. )
|
为用户提供在项目中创建、获取、更新和列出转移作业的权限。但是,他们无法删除自己的作业。 说明:此角色允许将创建和维护作业与删除作业分开。此角色最适合需要在工作职能中执行转移的用户,例如员工。此角色不允许删除转移,因此审核人员或安全人员可以查看保存完好的历史传输记录。 |
|
Storage Transfer Viewer ( roles/storagetransfer. )
|
提供在项目中列出和获取作业以及传输操作的权限。用户无法安排、更新或删除作业。 说明:查看者角色适用于查看转移作业和操作的只读权限。此角色允许将报告和审核任务与创建和维护作业分开。此角色最适合审核转移使用情况的用户或内部团队,例如安全、合规或业务部门负责人。 |
|
Storage Transfer Agent
(roles/storagetransfer.transferAgent )
|
向转移代理授予完成转移所需的 Storage Transfer Service 权限。 自 2024 年 5 月 1 日起,不再需要 `pubsub` 权限。 将此角色授予代理使用的用户或服务账号。 |
|
Storage Transfer Service Agent
(roles/storagetransfer.serviceAgent )
|
向 Storage Transfer Service 服务代理授予创建和修改 Pub/Sub 主题所需的权限,以便从 Google Cloud 向转移代理进行通信。 将此角色授予 Storage Transfer Service 服务代理。 |
|
自定义角色
您可以创建和应用自定义 IAM 角色以满足组织的访问权限要求。
创建自定义角色时,建议将预定义角色进行组合,以确保包含正确的权限。
如果自定义角色缺少必需的权限,Google Cloud Console 将无法正常运行。例如,Google Cloud 控制台的某些部分假定角色具有读取权限,可在修改某项之前显示该项,因此仅具有写入权限的角色可能会发现 Google Cloud 控制台界面无法正常使用。