關於 PostgreSQL 適用的 AlloyDB 資料庫使用者管理

本頁將概述如何在 AlloyDB for PostgreSQL 中管理資料庫使用者,以及為這些資料庫使用者啟用 Identity and Access Management (IAM) 驗證。

資料庫使用者管理功能運作方式

AlloyDB 與 PostgreSQL 採用相同的角色、使用者和群組概念。如需簡要說明,請參閱下列說明:

  • 角色:頂層指定項目,用於描述叢集中的資料庫使用者和資料庫使用者群組。角色可提供及限制資料庫物件的存取權,例如表格和函式。

  • 使用者:獲派 LOGIN 屬性的角色。使用者可以驗證並登入 AlloyDB 資料庫叢集。

  • 群組:授予一或多位使用者的角色。群組的用途是控管許多使用者整體的權限。

資料庫驗證的運作方式

如要驗證及登入 AlloyDB 資料庫叢集,有兩種做法:

  • 標準 PostgreSQL 密碼驗證: 比較提供的憑證與儲存的雜湊密碼,驗證使用者身分。支援的方法包括 md5、scram-sha-256 和密碼。
  • IAM 驗證: 資料庫使用者可透過 IAM 驗證,提升安全性,並集中控管其他Google Cloud 服務的存取權。

預先定義的角色

PostgreSQL 提供具有各種權限的預先定義角色。除了這些預先定義的角色,AlloyDB 還提供更多預先定義的使用者和群組角色。

下表列出 AlloyDB 提供的角色和角色權限。

角色名稱 權限
alloydbsuperuser CREATEROLECREATEDBLOGIN
postgres CREATEROLECREATEDBLOGIN
alloydbimportexport CREATEROLE」和「CREATEDB」。
alloydbagent CREATEROLE」和「CREATEDB」。
alloydbreplica REPLICATION
alloydbiamuser 根據預設,這個角色沒有任何權限。

以下小節將說明部分角色的用途。

alloydbsuperuser 群組角色

alloydbsuperuser 可讓您設定資料庫系統,以及執行其他超級使用者工作。這個角色具備下列權限:

  • 建立需要超級使用者權限的擴充功能
  • 建立事件觸發條件
  • 建立複製使用者
  • 建立複製發布作業和訂閱項目

AlloyDB 是代管服務,因此不允許您授予使用者 PostgreSQL superuser 角色。您可以改為授予資料庫使用者 alloydbsuperuser 角色,讓他們具備 AlloyDB 超級使用者權限。

postgres 使用者角色

postgres 使用者角色是 alloydbsuperuser 的一部分。建立 AlloyDB 叢集時,請為 postgres 指派密碼。接著,您可以使用 postgres 登入系統,執行建立資料庫或額外角色等工作。

alloydbimportexport 使用者角色

建立 AlloyDB 叢集時,AlloyDB 會建立 alloydbimportexport,並授予匯入和匯出作業所需的最低權限。

您可以選擇自行建立使用者來執行這些作業。如果您未建立自訂 alloydbimportexport 使用者,系統會使用預設 alloydbimportexport 使用者執行匯入和匯出作業。

alloydbimportexport」是系統使用者。也就是說,您無法直接使用 alloydbimportexport 使用者登入 PostgreSQL 資料庫或執行其他作業。

alloydbagent 使用者角色

alloydbagent 角色是 AlloyDB 內部系統角色。這項角色由 AlloyDB 服務管理,無法手動授予資料庫帳戶,確保資料庫及其功能正常運作。

alloydbreplica 使用者角色

alloydbreplica 角色是 AlloyDB 內部系統角色。這項角色由 AlloyDB 服務管理,無法手動授予資料庫帳戶,確保資料庫及其功能正常運作。

alloydbiamuser 群組角色

alloydbiamuser 群組中的資料庫使用者會使用 IAM 驗證 AlloyDB 執行個體,而不是使用標準 PostgreSQL 的密碼驗證

AlloyDB 不允許您使用 GRANT PostgreSQL 指令或類似方法,將 alloydbiamuser 授予使用者。您可以改用 AlloyDB 管理工具建立及管理以 IAM 為基礎的資料庫使用者。詳情請參閱「管理 IAM 驗證」。

後續步驟