本頁將概述如何在 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 |
CREATEROLE 、CREATEDB 和 LOGIN 。 |
postgres |
CREATEROLE 、CREATEDB 和 LOGIN 。 |
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 驗證」。
後續步驟
瞭解如何使用標準驗證,管理 AlloyDB 的 PostgreSQL 角色、使用者和群組。
瞭解如何管理 IAM 驗證。