本頁面說明啟用角色型存取控制 (RBAC) 後,Cloud Data Fusion 執行個體使用的角色和權限。
如要在命名空間層級以下強制執行精細的存取權,請搭配 RBAC 使用這些資料平面資源和權限。
資源階層
Cloud Data Fusion 資源的資源階層如下:
這張圖顯示資源階層,依遞減順序排列 (從最廣到最窄): Google Cloud 專案、位置、Cloud Data Fusion 執行個體和命名空間。以下命名空間 (順序不限) 是連線、安全金鑰、管道、構件 (例如外掛程式、驅動程式和應用程式) 和運算設定檔。
下列資源是 Cloud Data Fusion 資料層資源,您可以使用 REST API 或在 Cloud Data Fusion Studio 中控管這些資源:命名空間、連線、安全金鑰、管道、構件和運算設定檔。
RBAC 的預先定義角色
Cloud Data Fusion RBAC 包含多個可用的預先定義角色:
- 執行個體存取角色 (
datafusion.accessor
) - 授予主體 Cloud Data Fusion 執行個體的存取權,但無權存取執行個體內的任何資源。搭配使用這個角色和其他命名空間專屬角色,即可提供命名空間的精細存取權。
- 檢視者角色 (
datafusion.viewer
) - 授予主體命名空間的存取權,可查看管道,但無法撰寫或執行管道。
- 作業員角色 (
datafusion.operator
) - 授予主體命名空間的存取權,以便存取及執行管道、變更運算設定檔、建立運算設定檔,或上傳構件。可執行與開發人員相同的動作,但無法預覽管道。
- 開發人員角色 (
datafusion.developer
) - 授予主體命名空間的存取權,讓主體在命名空間內建立及修改管道等受限資源。
- 編輯者角色 (
datafusion.editor
) - 授予主體 Cloud Data Fusion 執行個體中命名空間內所有 Cloud Data Fusion 資源的完整存取權。除了執行個體存取者角色,您也必須將這個角色授予主體。有了這個角色,主體就能在命名空間中建立、刪除及修改資源。
- 執行個體管理員角色 (
datafusion.admin
) - 授予 Cloud Data Fusion 執行個體內所有資源的存取權。透過 IAM 指派。未透過 RBAC 在命名空間層級指派。
作業 | datafusion.accessor | datafusion.viewer | datafusion.operator | datafusion.developer | datafusion.editor | datafusion.admin |
---|---|---|---|---|---|---|
執行個體 | ||||||
存取執行個體 | ||||||
命名空間 | ||||||
建立命名空間 | * | |||||
存取已明確授予存取權的命名空間 | ||||||
存取命名空間,但未明確授予存取權 | * | |||||
編輯命名空間 | ||||||
刪除命名空間 | ||||||
命名空間服務帳戶 | ||||||
新增服務帳戶 | ||||||
編輯服務帳戶 | ||||||
移除服務帳戶 | ||||||
使用服務帳戶 | ||||||
RBAC | ||||||
授予或撤銷命名空間中其他主體的權限 | * | |||||
時間表 | ||||||
建立排程 | ||||||
查看時間表 | ||||||
變更時間表 | ||||||
運算設定檔 | ||||||
建立運算設定檔 | ||||||
查看運算設定檔 | ||||||
編輯運算設定檔 | ||||||
刪除運算設定檔 | ||||||
連線 | ||||||
建立連結 | ||||||
查看連線 | ||||||
編輯連結 | ||||||
刪除連線 | ||||||
使用連結 | ||||||
Wrangler 工作區 | ||||||
建立工作區 | ||||||
查看工作區 | ||||||
編輯工作區 | ||||||
刪除工作區 | ||||||
使用工作區 | ||||||
管道 | ||||||
建立管道 | ||||||
查看管道 | ||||||
編輯管道 | ||||||
刪除管道 | ||||||
預覽管道 | ||||||
部署管道 | ||||||
執行管道 | ||||||
安全金鑰 | ||||||
建立安全金鑰 | ||||||
查看安全金鑰 | ||||||
刪除安全金鑰 | ||||||
標記 | ||||||
建立標籤 | ||||||
查看代碼 | ||||||
刪除標記 | ||||||
Cloud Data Fusion Hub | ||||||
部署外掛程式 | ||||||
來源控管管理 | ||||||
設定來源控制存放區 | ||||||
從命名空間同步處理管道 | ||||||
血統 | ||||||
查看歷程 | ||||||
記錄 | ||||||
查看記錄 |
如需 Cloud Data Fusion 預先定義角色包含的完整權限清單,請參閱「Cloud Data Fusion 預先定義角色」一文。
RBAC 的自訂角色
部分用途無法透過 Cloud Data Fusion 的預先定義角色實作。在這種情況下,請建立自訂角色。
範例
下列範例說明如何為 RBAC 建立自訂角色:
如要建立自訂角色,僅授予存取命名空間內安全金鑰的權限,請建立具有
datafusion.namespaces.get
和datafusion.secureKeys.*
權限的自訂角色。如要建立自訂角色,授予安全金鑰的唯讀存取權,請建立具有
datafusion.namespaces.get
、datafusion.secureKeys.getSecret
和datafusion.secureKeys.list
權限的自訂角色。
一般動作的權限
單一預先定義的權限可能不足以執行相應動作。舉例來說,如要更新命名空間屬性,您可能也需要 datafusion.namespaces.get
權限。下表說明在 Cloud Data Fusion 執行常見動作時,所需的 IAM 權限:
動作 | 所需權限 |
---|---|
存取執行個體 | datafusion.instances.get |
建立命名空間 | datafusion.namespaces.create |
取得命名空間 | datafusion.namespaces.get |
更新命名空間中繼資料 (例如屬性) |
|
刪除命名空間 (僅限啟用「無法復原的重設」) |
|
查看命名空間的權限 | datafusion.namespaces.getIamPolicy |
授予命名空間權限 | datafusion.namespaces.setIamPolicy |
從命名空間 SCM 設定提取管道 |
|
將管道推送至命名空間的 SCM 存放區 |
|
取得命名空間 SCM 設定 | datafusion.namespaces.get |
更新命名空間 SCM 設定 | datafusion.namespaces.updateRepositoryMetadata |
為命名空間設定服務帳戶 |
|
取消設定命名空間的服務帳戶 |
|
為命名空間佈建服務帳戶憑證 | datafusion.namespaces.provisionCredential |
查看管道草稿 | datafusion.namespaces.get |
建立/刪除管道草稿 |
|
列出運算設定檔 | datafusion.profiles.list |
建立運算設定檔 | datafusion.profiles.create |
查看運算設定檔 | datafusion.profiles.get |
編輯運算設定檔 | datafusion.profiles.update |
刪除運算設定檔 | datafusion.profiles.delete |
建立連線 |
|
查看連線 |
|
編輯連線 |
|
刪除連線 |
|
瀏覽、取樣或查看連線規格 |
|
建立 Wrangler 工作區 |
|
查看 Wrangler 工作區 |
|
編輯或重新取樣 Wrangler 工作區 |
|
刪除 Wrangler 工作區 |
|
在 Wrangler Workspace 上套用一組指令 |
|
可列出管道 |
|
建立管道 |
|
查看管道 |
|
編輯 pipeline |
|
編輯管道屬性 |
|
刪除管道 |
|
預覽管道 | datafusion.pipelines.preview |
可執行管道 | datafusion.pipelines.execute |
建立排程 | datafusion.pipelines.execute |
查看時間表 |
|
變更時間表 | datafusion.pipelines.execute |
列出安全金鑰 |
|
建立安全金鑰 |
|
查看安全金鑰 |
|
刪除安全金鑰 |
|
列出構件* |
|
建立構件* |
|
取得構件* |
|
刪除構件* |
|
偏好設定、標記和中繼資料 | 偏好設定、標記和中繼資料是在特定資源 (datafusion.RESOURCE.update ) 的資源層級設定。
|
資料集權限 (已淘汰) | datafusion.namespaces.update |
後續步驟
- 進一步瞭解 Cloud Data Fusion 中的 RBAC。