借助 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.get
和 dataproc.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.get
和 dataproc.operations.get
权限才能允许它从 gcloud
命令行工具获取状态更新。
会话运行时模板权限
方法 | 所需权限 |
---|---|
projects.locations.sessionTemplates.create | dataproc.sessionTemplates.create 1 |
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.get
和 dataproc.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 Serverless 资源执行操作。例如,Dataproc Viewer 角色包含 dataproc.batches
和 dataproc.sessions
获取和列出权限,这些权限允许您获取和列出项目中的 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.sessionTemplates.delete dataproc.sessionTemplates.get dataproc.sessionTemplates.list dataproc.sessionTemplates.update |
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.sessionTemplates.list dataproc.sessionTemplates.update |
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 政策。
- 对于 Google Cloud 控制台,请参阅使用 Google Cloud 控制台进行访问控制。
- 有关该 API,请参阅使用 API 进行访问控制。
- 有关
gcloud
命令行工具,请参阅使用 Google Cloud CLI 命令行工具进行访问控制。