基本角色和權限

BigQuery 支援將 IAM 基本角色用於專案層級存取權。

專案的基本角色

根據預設,將存取權授予專案的同時,也會將存取權授予該專案中的資料集。您可以覆寫每個資料集的預設存取權。下表說明會將哪些存取權授予基本 IAM 角色的成員。

基本角色 功能
Viewer
  • 可以在專案中啟動工作。不同的工作類型可能還需要其他資料集角色。
  • 可以列出和取得所有工作,並更新角色在專案中啟動的工作。
  • 如果您在含有任何檢視者的專案中建立資料集,則 BigQuery 會將新資料集中預先定義的 bigquery.dataViewer 角色授予那些使用者。
Editor
  • Viewer 擁有相同權限,另外:
    • 可在專案內中建立新資料集
    • 如果您在含有任何編輯者的專案中建立資料集,則 BigQuery 會將新資料集中預先定義的 bigquery.dataEditor 角色授予那些使用者。
Owner
  • Editor 擁有相同權限,另外:
    • 可撤銷或變更任何專案角色
    • 列出專案內的所有資料集
    • 可刪除專案中的任何資料集
    • 可列出和取得在專案中執行的所有工作,包括其他專案使用者執行的工作。
    • 如果您建立資料集,BigQuery 會將新資料集中預先定義的 bigquery.dataOwner 角色授予所有專案擁有者。

      例外狀況:使用者執行查詢時,系統會建立匿名資料集,以儲存快取結果資料表。只有執行該項查詢的使用者具有匿名資料集時的 OWNER 存取權。

您可以透過 Google Cloud 控制台授予或撤銷專案的基本角色。建立專案時,系統會將 Owner 角色授予建立該專案的使用者。

如要進一步瞭解如何授予或撤銷專案角色的存取權,請參閱 IAM 說明文件中的「授予、變更及撤銷資源的存取權」一文。

資料集的基本角色

以下是適用於資料集層級的基本角色。

資料集角色 功能
READER
  • 可以讀取、查詢、複製或匯出資料集裡的資料表。可以讀取資料集裡的處理常式
    • 可以對資料集呼叫 get
    • 可以對資料集裡的資料表呼叫 getlist
    • 可以對資料集裡的處理常式呼叫 getlist
    • 可以對資料集裡資料表的資料呼叫 list
WRITER
  • READER 擁有相同權限,另外:
    • 可以在資料集裡編輯或附加資料
OWNER
  • WRITER 擁有相同權限,另外:
    • 可以對資料集呼叫 update
    • 可以對資料集呼叫 delete

資料集必須至少包含一個具備 OWNER 角色的實體。擁有 OWNER 角色的使用者無法移除自己的 OWNER 角色。

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

建立新資料集時,BigQuery 會在下列實體中新增預設資料集存取權。您在資料集建立時指定的角色會覆寫預設值。

實體 資料集角色
擁有專案 Viewer 存取權的所有使用者 READER
擁有專案 Editor 存取權的所有使用者 WRITER
擁有專案 Owner 存取權的所有使用者,
以及資料集建立者

OWNER

例外狀況:使用者執行查詢時,系統會建立匿名資料集,以儲存快取結果資料表。只有執行該項查詢的使用者具有匿名資料集時的 OWNER 存取權。