本頁面定義了精細的存取控管為每個資料庫提供的三種預先定義系統角色的特性、限制和預期用途。每個系統角色都有一組不同的權限,且無法撤銷。這項資訊適用於 GoogleSQL 方言資料庫和 PostgreSQL 方言資料庫。
public 系統角色
根據預設,所有精細存取控管使用者在
public中都具有 Identity and Access Management (IAM) 成員資格。所有資料庫角色都會繼承這個角色的權限。
public一開始沒有任何權限,但您可以授予權限。如果將權限授予public,所有資料庫角色 (包括之後建立的資料庫角色) 都能使用該權限。
spanner_info_reader 系統角色
這個角色具備 GoogleSQL 方言資料庫
INFORMATION_SCHEMA檢視表的SELECT權限,以及 PostgreSQL 方言資料庫information_schema檢視表的權限。您無法將任何其他權限授予
spanner_info_reader。將這個角色的成員資格授予任何資料庫角色,讓該角色能以未篩選的方式,讀取
INFORMATION_SCHEMA檢視表 (GoogleSQL 方言資料庫) 或information_schema檢視表 (PostgreSQL 方言資料庫)。
spanner_sys_reader 系統角色
這個角色具備
SPANNER_SYS資料表的SELECT權限。您無法將任何其他權限授予
spanner_sys_reader。將這個角色的成員資格授予任何必須具備
SPANNER_SYS結構定義讀取權限的資料庫角色。
系統角色的限制
您無法使用
DROP ROLE陳述式刪除系統角色。系統角色無法成為其他資料庫角色的成員。也就是說,下列 GoogleSQL 陳述式無效:
GRANT ROLE pii_access TO ROLE spanner_info_reader;您無法將
public角色的成員資格授予資料庫角色。舉例來說,下列 GoogleSQL 陳述式也無效:GRANT ROLE public TO ROLE pii_access;不過,您可以授予
spanner_info_reader和spanner_sys_reader角色的成員資格。例如,以下是有效的陳述式。GoogleSQL
GRANT ROLE spanner_info_reader TO ROLE pii_access; GRANT ROLE spanner_sys_reader TO ROLE pii_access; ```PostgreSQL
GRANT spanner_info_reader TO pii_access; GRANT spanner_sys_reader TO pii_access;