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

本頁面定義了精細存取權控管機制為每個資料庫提供的三種預先定義系統角色,包括這些角色的特徵、限制和預期用途。每個系統角色都有一組不同的權限,且無法撤銷。這項資訊適用於 GoogleSQL 方言資料庫和 PostgreSQL 方言資料庫。

public 系統角色

  • 根據預設,所有精細存取控管使用者都會在 public 中擁有 IAM 成員資格。

  • 所有資料庫角色都會繼承這個角色的權限。

  • public 一開始沒有任何權限,但您可以授予權限。如果您將權限授予 public,所有資料庫角色 (包括之後建立的資料庫角色) 都能使用該權限。

spanner_info_reader 系統角色

  • 這個角色在 GoogleSQL 方言資料庫的 INFORMATION_SCHEMA 檢視畫面,以及 PostgreSQL 方言資料庫的 information_schema 檢視畫面中,都具有 SELECT 權限。

  • 你無法授予 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_readerspanner_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;
    

後續步驟