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

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

後續步驟