本頁說明 Cloud Data Fusion 中的存取權控管選項。
您可以透過下列方式控管 Cloud Data Fusion 中的資源存取權:
如要控管控制平面作業的存取權,例如透過 Google Cloud 控制台、Google Cloud CLI 和 REST API 建立及更新執行個體,請使用本頁所述的 Identity and Access Management (IAM)。
如要將 Google Cloud 資料服務 (例如 BigQuery 或 Cloud Storage) 的存取權授予管道執行所在的服務帳戶,請使用 IAM。
如要瞭解 Cloud Data Fusion 存取權控管的架構和相關資源,請參閱「網路」一文。如要瞭解如何授予角色和權限,請參閱「管理專案、資料夾和機構的存取權」。
關於 Cloud Data Fusion 中的 IAM
您可以將 IAM 角色和權限授予服務帳戶和 Google Cloud 專案中的其他實體,藉此控管 Cloud Data Fusion 功能的存取權。
如要授予使用者帳戶精細的存取權,讓他們可以使用 Cloud Data Fusion 網頁介面,請使用 RBAC。
根據預設,Cloud Data Fusion 會使用下列服務帳戶:
Cloud Data Fusion 服務帳戶
Cloud Data Fusion 服務帳戶是 Google 管理的服務代理人,可在管道設計期間存取客戶資源。啟用 Cloud Data Fusion API 時,系統會自動將這個服務代理人新增至專案。這會用於專案中的所有例項。
服務代理人負有下列責任:
在管道設計期間與其他服務 (例如 Cloud Storage、BigQuery 或 Datastream) 進行通訊。
透過佈建 Dataproc 叢集和提交管道工作,啟用執行作業。
Cloud Data Fusion 服務帳戶的角色
根據預設,Cloud Data Fusion 服務帳戶只有 Cloud Data Fusion API 服務代理人角色 (roles/datafusion.serviceAgent
)。
此服務代理人的主體名稱為 service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
。
下列預設資源與 Cloud Data Fusion API 服務代理人角色相關聯。
角色 | 資源 | 權限 |
---|---|---|
Cloud Data Fusion API 服務代理人 | 相關服務:
|
請參閱 Cloud Data Fusion API 服務代理人權限。 |
Compute Engine 預設服務帳戶或自訂服務帳戶
Compute Engine 服務帳戶是 Cloud Data Fusion 用來部署及執行可存取其他Google Cloud 資源的工作的預設帳戶。根據預設,它會連結至 Dataproc 叢集 VM,讓 Cloud Data Fusion 在管道執行期間存取 Dataproc 資源。
您可以在建立 Cloud Data Fusion 執行個體時,選擇要附加至 Dataproc 叢集的自訂服務帳戶,或是在 Cloud Data Fusion 網頁介面中建立新的運算設定檔。
詳情請參閱「Cloud Data Fusion 中的服務帳戶」。
Compute Engine 服務帳戶的角色
根據預設,Cloud Data Fusion 會使用 Compute Engine 預設服務帳戶,在執行管道時存取資源 (例如來源和接收端)。
發生問題。您可以為 Cloud Data Fusion 執行個體設定使用者管理的自訂服務帳戶,並為此帳戶授予角色。之後,您可以在建立新執行個體時選擇這個服務帳戶。
Cloud Data Fusion Runner 角色
在含有 Cloud Data Fusion 執行個體的專案中,為預設和使用者管理的自訂服務帳戶授予 Cloud Data Fusion Runner 角色 (datafusion.runner
)。
角色 | 說明 | 權限 |
---|---|---|
Data Fusion Runner (datafusion.runner) |
讓 Compute Engine 服務帳戶與租用戶專案中的 Cloud Data Fusion 服務通訊 | datafusion.instances.runtime |
服務帳戶使用者角色
在執行管道時啟動 Dataproc 叢集的專案中,使用預設或使用者管理的服務帳戶,將 Cloud Data Fusion 服務帳戶授予服務帳戶使用者角色 (roles/iam.serviceAccountUser
)。
詳情請參閱「授予服務帳戶權限」。
Dataproc 工作站角色
如要在 Dataproc 叢集中執行工作,請將 Dataproc 工作者角色 (roles/dataproc.worker
) 授予 Cloud Data Fusion 管道使用的預設或使用者管理服務帳戶。
使用者的角色
如要觸發 Cloud Data Fusion 中的任何作業,您 (使用者) 必須具備足夠的權限。個別權限會分組為角色,您可以將角色授予該主體。
如果未啟用 RBAC,或是您使用的 Cloud Data Fusion 版本不支援 RBAC,則任何 Cloud Data Fusion IAM 角色的使用者都能享有 Cloud Data Fusion 網頁介面的完整存取權。管理員角色只允許使用者管理執行個體,例如 Create
、Update
、Upgrade
和 Delete
作業。
根據實體在 Cloud Data Fusion 中需要的權限,授予實體以下角色。
角色 | 說明 | 權限 |
---|---|---|
Cloud Data Fusion 管理員 (roles/datafusion.admin ) |
所有檢視者權限,加上建立、更新及刪除 Cloud Data Fusion 執行個體的權限。 |
|
Cloud Data Fusion 檢視者 (roles/datafusion.viewer ) |
|
|
在設計階段存取其他專案中的資源
本節說明在設計階段,位於不同 Google Cloud 專案中的資源的存取權控管。
在 Cloud Data Fusion 網頁介面中設計管道時,您可以使用 Wrangler 或 Preview 等函式,存取其他專案中的資源。
以下各節將說明如何在環境中判斷服務帳戶,然後授予適當的權限。
判斷環境的服務帳戶
服務帳戶名稱為 Cloud Data Fusion 服務帳戶,而此服務代理人的實體為 service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
。
授予存取其他專案資源的權限
如要授予可存取各種資源的權限角色,請按照下列步驟操作:
- 在目標資源所在的專案中,將 Cloud Data Fusion 服務帳戶 (
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
) 新增為主要使用者。 - 在目標資源所在專案中,將角色授予 Cloud Data Fusion 服務帳戶。
授予角色後,您可以在設計時存取其他專案中的資源,方法與存取執行個體所在專案中的資源相同。
在執行期間存取其他專案中的資源
本節說明在執行時,位於與 Cloud Data Fusion 執行個體不同的 Google Cloud 專案中資源的存取權控管。
在執行時,您會在 Dataproc 叢集中執行管道,而該叢集可能會存取其他專案中的資源。根據預設,Dataproc 叢集本身會在與 Cloud Data Fusion 執行個體相同的專案中啟動,但您也可以在其他專案中使用叢集。
如要存取其他 Google Cloud 專案中的資源,請按照下列步驟操作:
- 決定專案的服務帳戶。
- 在資源所在的專案中,將 IAM 角色授予 Compute Engine 預設服務帳戶,讓該帳戶可存取其他專案中的資源。
判斷 Compute Engine 服務帳戶
如要進一步瞭解 Compute Engine 服務帳戶,請參閱「關於 Cloud Data Fusion 中的 IAM」。
授予 IAM 存取其他專案中的資源
Compute Engine 預設服務帳戶需要存取其他專案資源的權限。這些角色和權限可能因您要存取的資源而異。
如要存取資源,請按照下列步驟操作:
- 授予角色和權限,並指定 Compute Engine 服務帳戶為目標資源所在專案中的實體。
- 新增適當角色以存取資源。
Cloud Data Fusion API 權限
執行 Cloud Data Fusion API 時,需要下列權限。
API 呼叫 | 權限 |
---|---|
instances.create |
datafusion.instances.create |
instances.delete |
datafusion.instances.delete |
instances.list |
datafusion.instances.list |
instances.get |
datafusion.instances.get |
instances.update |
datafusion.instances.update |
operations.cancel |
datafusion.operations.cancel |
operations.list |
datafusion.operations.list |
operations.get |
datafusion.operations.get |
一般工作權限
在 Cloud Data Fusion 中執行一般工作時,需要具備下列權限:
工作 | 權限 |
---|---|
存取 Cloud Data Fusion 網頁介面 | datafusion.instances.get |
在 Google Cloud 控制台中存取 Cloud Data Fusion「Instances」(執行個體) 頁面 | datafusion.instances.list |
存取執行個體的「Details」頁面 | datafusion.instances.get |
建立新執行個體 | datafusion.instances.create |
更新標籤和進階選項以自訂執行個體 | datafusion.instances.update |
刪除執行個體 | datafusion.instances.delete |
後續步驟
- 進一步瞭解多個專案之間的存取權控管。