設定跨專案部署作業

您可以為 Dataproc Metastore 設定跨專案部署作業,藉此區隔下列資源:

  • Dataproc Metastore 服務。
  • 附加至 Dataproc Metastore 服務的 Dataproc 叢集。
  • Dataproc 叢集使用的網路。

事前準備

必要的角色

如要取得建立 Dataproc Metastore 和 Dataproc 叢集所需的權限,請要求管理員授予下列 IAM 角色:

  • 如要授予 Dataproc Metastore 資源的完整控制權,請在 Metastore 專案中指派 Dataproc Metastore 編輯者 (roles/metastore.editor)。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

如要進一步瞭解 Dataproc Metastore 的特定角色和權限,請參閱「使用身分與存取權管理功能控管存取權」一文。

關於跨專案部署作業

Dataproc Metastore 的跨專案部署作業可包含下列設定:

  • 兩個專案:

    • 專案一包含 Dataproc 叢集 (叢集專案)。
    • 專案 2 包含 Dataproc Metastore 服務和網路 (Metastore 專案和網路專案)。
  • 兩個專案:

    • 專案一包含 Dataproc 叢集。
    • 專案 2 包含 Dataproc Metastore 服務和網路 (Metastore 專案和網路專案)。
  • 兩個專案:

    • 專案一包含 Dataproc 叢集和 Dataproc Metastore 服務 (叢集專案和 Metastore 專案)。
    • 專案二包含網路 (網路專案)。
  • 三個專案:

    • 專案一包含 Dataproc 叢集 (叢集專案)。
    • 專案 2 包含 Dataproc Metastore 服務 (Metastore 專案)。
    • 專案 3 包含網路 (網路專案)。

下圖概述可用的專案設定。

部署 Dataproc Metastore 和 Dataproc 叢集時,可能專案設定的總覽

跨專案權限

設定跨專案權限前,請先判斷設定是否必要:

您必須設定其他跨專案權限

  • 如果 Dataproc 叢集和 Dataproc Metastore 服務位於不同專案。

  • 如果 Dataproc Metastore 服務和網路位於不同專案。

設定跨專案權限

如果叢集專案和中繼存放區專案位於不同專案中,請授予下列角色:

  • roles/metastore.user 至叢集專案的 Dataproc 服務代理程式帳戶 (包含在 Metastore 專案的 IAM 政策中)。這項設定適用於 Thrift 和 gRPC 端點通訊協定。

如果網路專案和中繼存放區專案位於不同專案,請授予下列角色:

控制台

如要找出專案編號,請按照下列步驟操作:

  1. 前往「IAM & Admin」(IAM 與管理員) 頁面的「Settings」(設定) 分頁。

  2. 從頁面頂端的專案清單中,選取要用於建立 Dataproc 叢集的專案。

  3. 記下專案編號。

設定權限:

  1. 前往「IAM」IAM分頁。

  2. 從頁面頂端的專案清單中,選取中繼存放區專案。

  3. 按一下「新增」

  4. 在「新增主體」欄位中輸入服務帳戶。

  5. 從「角色」選單中,依序選取「Dataproc Metastore」>「Dataproc Metastore 檢視者」

  6. 按一下「新增」

完成上述步驟後,您就可以建立連結至 Dataproc Metastore 服務的 Dataproc 叢集。請注意,如要執行這項操作,Dataproc 叢集的網路或子網路設定必須與 Dataproc Metastore 的網路或子網路相符。

例如:

gcloud metastore services create SERVICE \
     --network=projects/HOST_PROJECT/global/networks/NETWORK_ID

後續步驟