基本角色和權限

BigQuery 支援 IAM 基本角色,可提供專案層級存取權。

專案的基本角色

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

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

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

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

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

資料集的基本角色

下列基本角色適用於資料集層級。

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

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

如要進一步瞭解如何在資料集層級指派角色,請參閱「使用資料集存取控管機制」。

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

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

OWNER

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