本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解 rds_superuser 角色
於 PostgreSQL 中,角色可定義使用者、群組或授予群組或使用者對資料庫中各種物件的一組特定權限。CREATE USER
和 CREATE GROUP
的 PostgreSQL 命令已為更為通用的 CREATE ROLE
所取代,其具有可區分資料庫使用者的特定屬性。資料庫使用者可視為具有 LOGIN 權限的角色。
注意
CREATE USER
和 CREATE GROUP
命令仍可使用。如需詳細資訊,請參閱 PostgreSQL 文件中的資料庫角色
postgres
使用者是 RDS for PostgreSQL 資料庫執行個體上具最高權限的資料庫使用者。其具有下列 CREATE ROLE
陳述式所定義的特性。
CREATE ROLE postgres WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION VALID UNTIL 'infinity'
屬性 NOSUPERUSER
、NOREPLICATION
、INHERIT
,和 VALID UNTIL 'infinity'
為 CREATE ROLE 的預設選項,除非另有指定。
根據預設,postgres
具有授與 rds_superuser
角色的權限,以及建立角色和資料庫的許可。rds_superuser
角色可讓 postgres
使用者執行下列動作:
-
新增可與 Amazon RDS 搭配使用的擴充功能。如需詳細資訊,請參閱 使用 Amazon RDS for PostgreSQL 支援的 Postgre 功能SQL
-
建立使用者的角色,並授予使用者權限。如需詳細資訊,請參閱 PostgreSQL 文件中的 CREATE ROLE
和 GRANT 。 -
建立資料庫。如需詳細資訊,請參閱 PostgreSQL 文件中的 CREATE DATABASE
。 -
將
rds_superuser
權限授予並無這些權限的使用者角色,並視需要撤銷這些權限。建議您僅將此角色授予執行超級使用者任務的使用者。換句話說,您可以將此角色授予資料庫管理員 (DBA) 或系統管理員。 -
對不具
rds_replication
角色的資料庫使用者授予 (和撤銷)rds_superuser
角色。 -
對不具
rds_password
角色的資料庫使用者授予 (和撤銷)rds_superuser
角色。 -
使用
pg_stat_activity
檢視,取得有關所有資料庫連線的狀態資訊。如有需要,rds_superuser
可使用pg_terminate_backend
或pg_cancel_backend
停止任何連線。
於 CREATE ROLE postgres...
陳述式中,您可看到 postgres
使用者角色明確禁止 PostgreSQL superuser
權限。RDS for PostgreSQL 為受管服務,因此您無法存取主機作業系統,也無法使用 PostgreSQL superuser
帳户進行連線。許多需要在獨立 PostgreSQL 上進行 superuser
存取的任務是由 Amazon RDS 自動管理。
如需有關授予權限的詳細資訊,請參閱 PostgreSQL 文件中的 GRANT
rds_superuser
角色是 中數個預先定義角色的其中一個。RDS for PostgreSQL 資料庫執行個體。
注意
在 PostgreSQL 13 和更早版本中,預先定義角色稱為預設角色。
於下列清單中,您可以找到為新的 自動建立的一些其他預先定義角色。RDS for PostgreSQL 資料庫執行個體。預先定義的角色及其權限無法進行變更。您無法為這些預先定義角色停止、重新命名或修改權限。嘗試這麼做會造成錯誤。
-
rds_password – 可變更密碼並為資料庫使用者設定密碼約束的角色。根據預設,該
rds_superuser
角色會使用此角色授予,並且可以將角色授予資料庫使用者。如需詳細資訊,請參閱控制使用者對 PostgreSQL 資料庫的存取。-
對於 14 之前的 RDS for PostgreSQL 版本,
rds_password
角色可以變更密碼,並為資料庫使用者和具有rds_superuser
角色的使用者設定密碼限制。從 RDS for PostgreSQL 第 14 版及更新版本,rds_password
角色可以變更密碼,並僅為資料庫使用者設定密碼限制。只有具有rds_superuser
角色的使用者才能對具有rds_superuser
角色的其他使用者執行這些動作。
-
-
rdsadmin – 為處理具有
superuser
權限的管理員將在獨立 PostgreSQL 資料庫上執行的許多管理任務而建立的角色。此角色由 RDS for PostgreSQL 在內部用於許多管理任務。 -
rdstopmgr— Amazon RDS 內部使用的一個角色,可支援異地同步備份部署。
-
rds_reserved – Amazon RDS 在內部用來保留資料庫連線的角色。