Dataproc Serverless 的权限和 IAM 角色

概览

借助 Identity and Access Management (IAM),您可以控制用户和组对项目资源的访问权限。本文档重点介绍与 Dataproc Serverless 相关的 IAM 权限和授予这些权限的 IAM 角色。

Dataproc Serverless 权限

Dataproc Serverless 权限允许用户(包括服务账号)对 Dataproc Serverless 资源执行操作。例如,dataproc.batches.create 权限允许您在项目中创建 Dataproc Serverless 批处理。您不直接授予用户权限,而是向其授予角色(角色自带一个或多个权限)。

下表列出了调用 Dataproc Serverless API(方法)所需的权限。这些表根据与每个 Dataproc Serverless 资源(批处理、会话、sessionTemplate 和操作)关联的 API 进行整理。如需查看每个角色中包含的 Google Cloud 权限的列表,请参阅 Dataproc 角色

权限范围:下表列出的 Dataproc Serverless 权限范围是所属的 Google Cloud 项目(cloud-platform 范围)。请参阅服务帐号权限

示例:

  • dataproc.batches.create 允许在所属的项目中创建批次。
  • dataproc.sessions.create 允许在包含的项目中创建交互式会话。
  • dataproc.operations.list 允许列出所含项目中的 Dataproc 操作的详细信息。

批处理权限

方法 所需权限
projects.locations.batches.create dataproc.batches.create 1
projects.locations.batches.delete dataproc.batches.delete
projects.locations.batches.get dataproc.batches.get
projects.locations.batches.list dataproc.batches.list
  1. dataproc.batches.create 还需要 dataproc.batches.getdataproc.operations.get 权限才能允许它从 gcloud 命令行工具获取状态更新。

会话权限

方法 所需权限
projects.locations.sessions.create dataproc.sessions.create 1
projects.locations.sessions.delete dataproc.sessions.delete
projects.locations.sessions.get dataproc.sessions.get
projects.locations.sessions.list dataproc.sessions.list
projects.locations.sessions.terminate dataproc.sessions.terminate

1 dataproc.sessions.create 还需要 dataproc.sessions.getdataproc.operations.get 权限,才能通过 gcloud 命令行工具获取状态更新。

会话运行时模板权限

方法 所需权限
projects.locations.sessionTemplates.create dataproc.sessionTemplates.create
projects.locations.sessionTemplates.delete dataproc.sessionTemplates.delete
projects.locations.sessionTemplates.get dataproc.sessionTemplates.get
projects.locations.sessionTemplates.list dataproc.sessionTemplates.list
projects.locations.sessionTemplates.update dataproc.sessionTemplates.update
  1. dataproc.sessionTemplates.create 还需要 dataproc.sessionTemplates.getdataproc.operations.get 权限才能允许它从 gcloud 命令行工具获取状态更新。

操作权限

方法 所需权限
projects.regions.operations.get dataproc.operations.get
projects.regions.operations.list dataproc.operations.list
projects.regions.operations.cancel 1 dataproc.operations.cancel
projects.regions.operations.delete dataproc.operations.delete
projects.regions.operations.getIamPolicy dataproc.operations.getIamPolicy
projects.regions.operations.setIamPolicy dataproc.operations.setIamPolicy
  1. 要取消批处理操作,dataproc.operations.cancel 还需要 dataproc.batches.cancel 权限。

Dataproc Serverless 角色

Dataproc Serverless IAM 角色包含一个或多个权限。您向用户或群组授予角色,以允许他们对项目中的 Dataproc 无服务器资源执行操作。例如,Dataproc Viewer 角色包含 dataproc.batches 以及 dataproc.sessions get 和 list 权限,这些权限可让您获取和列出项目中的 Dataproc Serverless 批次和会话。

下表列出了 Dataproc Serverless IAM 角色以及与每个角色关联的权限:

角色 ID 权限
roles/dataproc.admin dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.batches.cancel
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.session
roles/dataproc.editor dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.gclid.
roles/dataproc.viewer dataproc.batches.get
dataproc.batches.list
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list

项目角色

您还可以使用 IAM 项目角色在项目级层设置权限。以下汇总了与 IAM 项目角色关联的权限:

项目角色 权限
Project Viewer 拥有不会修改状态的只读操作(获取、列出)的所有项目权限
Project Editor 拥有所有“Project Viewer”权限,外加可修改状态的操作(创建、删除、更新、使用、取消、停止、启动)的所有项目权限
Project Owner 拥有所有“项目修改者”权限,外加为项目管理访问控制的权限(获取/设置 IamPolicy)和设置项目结算的权限

自定义角色

您可以通过 Google Cloud 控制台或 gcloud 命令行工具为自定义角色添加 Dataproc 批处理权限。

IAM 管理

您可以使用 Google Cloud 控制台、IAM API 或 gcloud 命令行工具来获取和设置 IAM 政策。

后续步骤