精細的存取權控管系統角色

本頁面定義了精細的存取控管為每個資料庫提供的三種預先定義系統角色的特性、限制和預期用途。每個系統角色都有一組不同的權限,且無法撤銷。這項資訊適用於 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;
    

後續步驟