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

* 主體必須具備 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
取得命名空間 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
建立 Wrangler 工作區
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.create
查看 Wrangler 工作區
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.get
編輯或重新取樣 Wrangler 工作區
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.update
刪除 Wrangler 工作區
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.delete
在 Wrangler Workspace 上套用一組指令
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.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