RBAC 角色和權限

本頁面說明啟用角色型存取權控管 (RBAC) 的 Cloud Data Fusion 執行個體所使用的角色和權限。

如要在命名空間層級和更低層級實施精細的存取權,請搭配使用這些資料平面資源和權限,以及 RBAC。

資源階層

Cloud Data Fusion 資源的資源階層如下:

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
授予或撤銷命名空間中其他主體的權限 *
時程表
建立排程
查看時間表
變更時間表
運算設定檔
建立運算設定檔
查看運算設定檔
編輯運算資源設定檔
刪除運算設定檔
連線
建立連線
查看連線
編輯連線
刪除連線
使用連線
管道
建立管道
查看管道
編輯管道
刪除管道
預覽管道
部署管道
執行管道
安全金鑰
建立安全金鑰
查看安全金鑰
刪除安全金鑰
標記
建立代碼
查看代碼
刪除標記
Cloud Data Fusion Hub
部署外掛程式
來源控管管理
設定來源控管存放區
從命名空間同步處理管道
Lineage
查看歷程
記錄
查看記錄

* 實體必須具備 Data Fusion 管理員 IAM 角色,而非執行個體管理員 RBAC 角色。

如需 Cloud Data Fusion 預先定義角色包含權限的完整清單,請參閱「Cloud Data Fusion 預先定義角色」。

RBAC 的自訂角色

某些用途無法使用 Cloud Data Fusion 的預先定義角色實作。在這種情況下,請建立自訂角色

範例

以下範例說明如何為 RBAC 建立自訂角色:

  • 如要建立自訂角色,只授予對命名空間內安全金鑰的存取權,請建立具有 datafusion.namespaces.getdatafusion.secureKeys.* 權限的自訂角色。

  • 如要建立自訂角色,讓使用者僅能讀取安全金鑰,請建立具有 datafusion.namespaces.getdatafusion.secureKeys.getSecretdatafusion.secureKeys.list 權限的自訂角色。

常見動作的權限

單一預先定義的權限可能不足以執行對應的動作。舉例來說,您可能也需要 datafusion.namespaces.get 權限,才能更新命名空間屬性。下表說明在 Cloud Data Fusion 執行個體中執行的常見動作,以及所需的 IAM 權限:

動作 所需權限
存取執行個體 datafusion.instances.get
建立命名空間 datafusion.namespaces.create
取得命名空間 datafusion.namespaces.get
更新命名空間中繼資料 (例如屬性)
  • datafusion.namespaces.get
  • datafusion.namespaces.update
刪除命名空間 (僅限啟用無法復原的重設功能)
  • datafusion.namespaces.get
  • datafusion.namespaces.delete
查看命名空間的權限 datafusion.namespaces.getIamPolicy
授予命名空間權限 datafusion.namespaces.setIamPolicy
從命名空間 SCM 設定中拉取管道
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
將管道推送至命名空間的 SCM 存放區
  • datafusion.namespaces.get
  • datafusion.namespaces.writeRepository
取得 Namespace SCM 設定 datafusion.namespaces.get
更新命名空間 SCM 設定 datafusion.namespaces.updateRepositoryMetadata
為命名空間設定服務帳戶
  • datafusion.namespaces.get
  • datafusion.namespaces.setServiceAccount
取消設定命名空間的服務帳戶
  • datafusion.namespaces.get
  • datafusion.namespaces.unsetServiceAccount
為命名空間佈建服務帳戶憑證 datafusion.namespaces.provisionCredential
查看管道草稿 datafusion.namespaces.get
建立/刪除管道草稿
  • datafusion.namespaces.get
  • datafusion.namespaces.update
可列出運算設定檔 datafusion.profiles.list
建立運算設定檔 datafusion.profiles.create
查看運算設定檔 datafusion.profiles.get
編輯運算資源設定檔 datafusion.profiles.update
刪除運算資源設定檔 datafusion.profiles.delete
建立連線
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.create
查看連線
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.get
編輯連線
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.update
刪除連線
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.delete
瀏覽、取樣或查看連線規格
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
可列出管道
  • datafusion.namespaces.get
  • datafusion.pipelines.list
建立管道
  • datafusion.namespaces.get
  • datafusion.pipelines.create
查看管道
  • datafusion.namespaces.get
  • datafusion.pipelines.get
編輯 pipeline
  • datafusion.namespaces.get
  • datafusion.pipelines.create
編輯管道屬性
  • datafusion.namespaces.get
  • datafusion.pipelines.update
刪除管道
  • datafusion.namespaces.get
  • datafusion.pipelines.delete
預覽管道 datafusion.pipelines.preview
可執行管道 datafusion.pipelines.execute
建立排程 datafusion.pipelines.execute
查看時間表
  • datafusion.namespaces.get
  • datafusion.pipelines.get
變更排程 datafusion.pipelines.execute
列出安全金鑰
  • datafusion.namespaces.get
  • datafusion.secureKeys.list
建立安全金鑰
  • datafusion.namespaces.get
  • datafusion.secureKeys.update
查看安全金鑰
  • datafusion.namespaces.get
  • datafusion.secureKeys.getSecret
刪除安全金鑰
  • datafusion.namespaces.get
  • datafusion.secureKeys.delete
列出構件*
  • datafusion.namespaces.get
  • datafusion.artifacts.list
建立構件*
  • datafusion.namespaces.get
  • datafusion.artifacts.create
  • datafusion.artifacts.update
取得構件*
  • datafusion.namespaces.get
  • datafusion.artifacts.get
刪除構件*
  • datafusion.namespaces.get
  • datafusion.artifacts.delete
偏好設定、標記和中繼資料 偏好設定、標記和中繼資料會在特定資源 (datafusion.RESOURCE.update) 的資源層級設定。
資料集權限 (已淘汰) datafusion.namespaces.update

* 構件 (例如外掛程式和驅動程式) 是您在 Cloud Data Fusion 中上傳的項目,用於開發管道。

後續步驟

  • 進一步瞭解 Cloud Data Fusion 中的 RBAC