預先定義的角色與權限

本頁面提供有關 BigQuery 的 Cloud Identity and Access Management 角色和權限的資訊。

本頁面包含與下列每個 BigQuery 隨附產品有關的角色和權限:

  • BigQuery ML
  • BigQuery 資料移轉服務
  • BigQuery BI Engine

如要進一步瞭解 BigQuery ML 中的存取權控管功能,請參閱 BigQuery ML 說明文件中的存取權控管

總覽

當某個身分識別呼叫 Google Cloud API 時,BigQuery 會要求該身分識別必須擁有使用相關資源的適當權限。您可以將「角色」授予給使用者、群組或服務帳戶,以便授予權限。

本頁面說明您可為身分識別授予哪些能存取 BigQuery 資源的 BigQuery Cloud IAM 角色。

Cloud IAM 角色類型

Cloud Identity and Access Management 中有三種類型的角色:

  • 原始角色:在 Cloud Identity and Access Management 推出前就存在的角色,包括「擁有者」、「編輯者」和「檢視者」。
  • 預先定義角色:針對特定服務提供精細的存取權限,且是由 Google Cloud 代管的。預先定義角色的用意在於支援常見的用途和存取權控管模式。
  • 自訂角色:根據使用者指定的權限清單,提供精細的存取權限。

如要判斷某個或某幾個權限是否包含在原始、預先定義或自訂角色中,請利用下列其中一種方式:

當您同時把預先定義角色和原始角色指派給某個使用者時,您授予的權限就是這兩個角色權限的聯集。

如要進一步瞭解如何使用 Cloud IAM 存取資源,請參閱 Cloud Identity and Access Management 說明文件中的授予、變更及撤銷資源的存取權

如要進一步瞭解如何建立自訂角色,請參閱 Cloud Identity and Access Management 說明文件中的建立及管理自訂角色

BigQuery 權限和預先定義的 Cloud IAM 角色

如要授予 BigQuery 資源的存取權,請將一或多個角色指派給使用者、群組或服務帳戶。如果您在機構和專案層級指派角色,您將提供能夠執行 BigQuery 工作的權限,或是能夠管理專案中「所有」BigQuery 資源的權限。

您也可以在資料集層級指派角色,以便只提供某個或某幾個資料集的權限。在 Cloud IAM 政策階層中,BigQuery 資料集是專案的子資源。資料表和檢視表是資料集的子項資源,因此會繼承父項資料集的權限。

如要進一步瞭解如何在資料集層級指派角色,請參閱控管資料集存取權

BigQuery 權限

下表說明 BigQuery 中的可用權限。

權限 說明
bigquery.jobs.create 建立新工作。
bigquery.jobs.listAll 列出所有工作,並擷取由任何使用者所提交所有工作的中繼資料。*
bigquery.jobs.list 列出所有工作,並擷取由任何使用者所提交所有工作的中繼資料。*系統會遮蓋由其他使用者所提交工作的詳細資料和中繼資料。
bigquery.jobs.get 取得任何工作的資料和中繼資料。*
bigquery.jobs.update 取消任何工作。*
bigquery.datasets.create 建立新的空資料集。
bigquery.datasets.delete 刪除資料集。
bigquery.datasets.get 取得資料集的中繼資料。
bigquery.datasets.update 更新資料集的中繼資料。
bigquery.tables.create 建立新資料表。
bigquery.tables.list 列出資料表,以及資料表上的中繼資料。
bigquery.tables.delete 刪除資料表。
bigquery.tables.get 取得資料表中繼資料。
如要取得資料表資料,您需要 bigquery.tables.getData 權限。
bigquery.tables.getData 取得資料表資料。您必須要有這個權限,才能查詢資料表資料。
如要取得資料表中繼資料,您需要 bigquery.tables.get 權限。
bigquery.tables.export 從 BigQuery 匯出資料表資料。
bigquery.tables.update

更新資料表中繼資料。
如要更新資料表資料,您需要 bigquery.tables.updateData 權限。

bigquery.tables.updateData

更新資料表資料。
如要更新資料表中繼資料,您需要 bigquery.tables.update 權限。

bigquery.routines.create (Beta 版) 建立新處理常式 (函式和預存程序)。
bigquery.routines.list (Beta 版) 列出處理常式,以及處理常式上的中繼資料。
bigquery.routines.delete (Beta 版) 刪除處理常式。
bigquery.routines.get (Beta 版) 取得處理常式定義和中繼資料。
bigquery.routines.update (Beta 版)

更新處理常式定義和中繼資料。

bigquery.transfers.get 取得移轉作業中繼資料。
bigquery.transfers.update 建立、更新及刪除移轉作業。
bigquery.savedqueries.create 建立已儲存的查詢。
bigquery.savedqueries.get 取得已儲存查詢上的中繼資料。
bigquery.savedqueries.list 列出已儲存的查詢。
bigquery.savedqueries.update 更新已儲存的查詢。
bigquery.savedqueries.delete 刪除已儲存的查詢。
bigquery.readsessions.create (Beta 版) 透過 BigQuery Storage API 建立新的讀取工作階段。
bigquery.connections.create (Beta 版) 在專案中建立新的連線。
bigquery.connections.get (Beta 版) 取得連線中繼資料。不包含憑證。
bigquery.connections.list (Beta 版) 列出專案中的連線。
bigquery.connections.use (Beta 版) 使用連線設定連線至遠端資料來源。
bigquery.connections.update (Beta 版) 更新連線及連線憑證。
bigquery.connections.delete (Beta 版) 刪除連線。
bigquery.reservations.create (Beta 版) 在專案中建立新的保留項目。
bigquery.reservations.list (Beta 版) 列出專案中的所有保留項目。
bigquery.reservations.get (Beta 版) 擷取保留項目的詳細資料。
bigquery.reservations.delete (Beta 版) 刪除保留項目。
bigquery.reservations.update (Beta 版) 更新保留項目的屬性。
bigquery.capacityCommitments.create (Beta 版) 在專案中建立容量使用承諾。
bigquery.capacityCommitments.list (Beta 版) 列出專案中的所有容量使用承諾。
bigquery.capacityCommitments.get (Beta 版) 擷取容量使用承諾的詳細資料。
bigquery.capacityCommitments.delete (Beta 版) 刪除容量使用承諾。
bigquery.reservationAssignments.create (Beta 版)

建立保留項目指派作業。對於擁有者專案和指派對象資源,這是必要的權限。
如要移動保留項目指派作業,您必須要有新的擁有者專案和指派對象資源的 bigquery.reservationAssignments.create 權限。

bigquery.reservationAssignments.delete (Beta 版)

刪除保留項目指派作業。對於擁有者專案和指派對象資源,這是必要的權限。
如要移動保留項目指派作業,您必須要有舊的擁有者專案和指派對象資源的 bigquery.reservationAssignments.delete 權限。

bigquery.reservationAssignments.list (Beta 版)

列出保留項目指派作業。
如要搜尋特定專案、資料夾或機構的保留項目,您必須要有指派對象資源的 bigquery.reservationAssignments.list 權限。

* 對於您建立的任何工作,您會自動取得該工作中與 bigquery.jobs.getbigquery.jobs.update 權限對等的權限。

BigQuery 的預先定義 Cloud IAM 角色

下表列出預先定義的 BigQuery Cloud IAM 角色,以及各個角色包含的所有權限對應清單。請注意,每個權限只適用於某個特定的資源類型。

roles/
bigquery.connectionAdmin
BigQuery 連線管理員 Beta 版 bigquery.connections.*
roles/
bigquery.connectionUser
BigQuery 連線使用者 Beta 版 bigquery.connections.get
bigquery.connections.getIamPolicy
bigquery.connections.list
bigquery.connections.use
roles/
bigquery.dataEditor
BigQuery 資料編輯者

套用於資料集時,dataEditor 提供以下權限:

  • 讀取資料集的中繼資料,以及列出資料集中的表格。
  • 建立、更新、取得及刪除資料集的表格。

套用於專案或機構層級時,此角色還可以建立新的資料集。

bigquery.datasets.create
bigquery.datasets.get bigquery.datasets.getIamPolicy bigquery.datasets.updateTag bigquery.models.* bigquery.routines.* bigquery.tables.create bigquery.tables.delete bigquery.tables.export bigquery.tables.get bigquery.tables.getData bigquery.tables.list bigquery.tables.update bigquery.tables.updateData bigquery.tables.updateTag resourcemanager.projects.get resourcemanager.projects.list 資料集 roles/
bigquery.dataOwner
BigQuery 資料擁有者

套用於資料集時,dataOwner 提供以下權限:

  • 讀取、更新及刪除資料集。
  • 建立、更新、取得及刪除資料集的表格。

套用於專案或機構層級時,此角色還可以建立新的資料集。

bigquery.datasets.*
bigquery.models.* bigquery.routines.* bigquery.tables.* resourcemanager.projects.get resourcemanager.projects.list 資料集 roles/
bigquery.dataViewer
BigQuery 資料檢視者

套用於資料集時,dataViewer 提供以下權限:

  • 讀取資料集的中繼資料,以及列出資料集中的表格。
  • 讀取資料集表格的資料和中繼資料。

套用於專案或機構層級時,這個角色也可以列舉專案中的所有資料集,但還需要其他角色才能執行工作。

bigquery.datasets.get
bigquery.datasets.getIamPolicy bigquery.models.getData bigquery.models.getMetadata bigquery.models.list bigquery.routines.get bigquery.routines.list bigquery.tables.export bigquery.tables.get bigquery.tables.getData bigquery.tables.list resourcemanager.projects.get resourcemanager.projects.list 資料集 roles/
bigquery.jobUser
BigQuery 工作使用者 提供在專案中執行工作 (包括查詢) 的權限。jobUser 角色可以列舉各自的工作,以及取消自己的工作。 bigquery.jobs.create
resourcemanager.projects.get
resourcemanager.projects.list
專案 roles/
bigquery.metadataViewer
BigQuery 中繼資料檢視者

套用於機構或專案層級時,metadataViewer 提供以下權限:

  • 列出專案中的所有資料集,以及讀取所有資料集的中繼資料。
  • 列出專案中的所有資料表和檢視表,以及讀取所有資料表和檢視表的中繼資料。

如要執行工作,則還需要其他角色。

bigquery.datasets.get
bigquery.datasets.getIamPolicy bigquery.models.getMetadata bigquery.models.list bigquery.routines.get bigquery.routines.list bigquery.tables.get bigquery.tables.list resourcemanager.projects.get resourcemanager.projects.list 專案 roles/
bigquery.readSessionUser
BigQuery 讀取工作階段使用者 Beta 版 具備建立及使用讀取工作階段的存取權限 bigquery.readsessions.*
resourcemanager.projects.get
resourcemanager.projects.list
roles/
bigquery.user
BigQuery 使用者 提供在專案中執行工作 (包括查詢) 的權限。使用者角色可以列舉各自的工作、取消自己的工作,以及列舉專案中的資料集。此外,還可以在專案中建立新的資料集;系統會將這些新資料集的 bigquery.dataOwner 角色授予給建立者。bigquery.config.get
bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.jobs.create
bigquery.jobs.list
bigquery.models.list
bigquery.readsessions.*
bigquery.routines.list
bigquery.savedqueries.get
bigquery.savedqueries.list
bigquery.tables.list
bigquery.transfers.get
resourcemanager.projects.get
resourcemanager.projects.list
專案
角色 名稱 說明 權限 最低資源

BigQuery 原始角色

如要瞭解 BigQuery 原始角色,請參閱 BigQuery 原始角色與權限

BigQuery 自訂角色

如要為 BigQuery 建立自訂 Cloud IAM 角色,請按照 Cloud IAM 自訂角色說明文件中的步驟進行。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
需要協助嗎?請前往我們的支援網頁