Serverless for Apache Spark 權限和 IAM 角色

Identity and Access Management (IAM) 可讓您控管使用者和群組的專案資源存取權。本文著重說明與 Serverless for Apache Spark 相關的 IAM 權限,以及授予這些權限的 IAM 角色。

Serverless for Apache Spark 權限

使用者 (包括服務帳戶) 只要具備 Serverless for Apache Spark 權限,就能對 Serverless for Apache Spark 資源執行動作。舉例來說,dataproc.batches.create 權限可讓您在專案中建立 Serverless for Apache Spark 批次。您無法直接授予使用者權限,而是將隨附一或多個權限的角色指派給他們。

下表列出呼叫 Serverless for Apache Spark API (方法) 必須具備的權限。這些表格是按照與各個 Serverless for Apache Spark 資源 (批次、工作階段、sessionTemplates 和作業) 有關的 API 進行編排。如要查看每個角色包含的 Google Cloud 權限清單,請參閱「Dataproc 角色」。

權限範圍:下表中列出的 Serverless for Apache Spark 權限範圍是指其包含的 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 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.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 權限。

Serverless for Apache Spark 角色

Serverless for Apache Spark IAM 角色是由一或多個權限集合而成。您為使用者或群組授予角色,讓他們能夠對您專案中的 Serverless for Apache Spark 資源執行動作。舉例來說,Dataproc 檢視者角色包含 dataproc.batchesdataproc.sessions 取得及列出權限,可讓您取得及列出專案中的 Serverless for Apache Spark 批次和工作階段。

下表列出與各角色有關的 Apache Spark 無伺服器 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 專案角色有關的權限:

專案角色 權限
專案檢視者 保留狀態的唯讀動作的所有專案權限 (取得、表列)
專案編輯者 所有專案檢視者權限,加上修改狀態動作的所有專案權限 (建立、刪除、更新、使用、取消、停止、啟動)
專案擁有者 所有專案編輯者權限,加上管理專案存取權 (取得/設定 IAM 政策) 及設定專案帳單的權限

自訂角色

您可以透過 Google Cloud 控制台或 gcloud 指令列工具,將 Dataproc 批次權限新增至自訂角色。

管理 IAM 政策

您可以使用 Google Cloud 主控台、IAM API 或 gcloud 指令列工具取得及設定 IAM 政策。

後續步驟