委派和控制使用者密碼管理 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

委派和控制使用者密碼管理

作為一個DBA,您可能需要委派用戶密碼的管理。或者,您可能想要防止資料庫使用者變更其密碼或重新設定密碼約束 (例如密碼生命週期)。如要確保只有您選擇的資料庫使用者才可變更密碼設定,您可開啟受限制的密碼管理功能。啟動此功能時,只有那些已被授予 rds_password 角色的資料庫使用者才可管理密碼。

注意

若要使用受限密碼管理,您RDS的 Postgre SQL 資料庫執行個體必須執行 Postgre SQL 10.6 或更高版本。

依預設,此功能為 off,如下列所示:

postgres=> SHOW rds.restrict_password_commands; rds.restrict_password_commands -------------------------------- off (1 row)

如要開啟此功能,請使用自訂參數群組,並將 rds.restrict_password_commands 的設定變更為 1。請務必重新啟動RDS適用於 SQL資料庫執行個體,以便設定生效。

啟用此功能後,下列SQL指令需要rds_password權限:

CREATE ROLE myrole WITH PASSWORD 'mypassword'; CREATE ROLE myrole WITH PASSWORD 'mypassword' VALID UNTIL '2023-01-01'; ALTER ROLE myrole WITH PASSWORD 'mypassword' VALID UNTIL '2023-01-01'; ALTER ROLE myrole WITH PASSWORD 'mypassword'; ALTER ROLE myrole VALID UNTIL '2023-01-01'; ALTER ROLE myrole RENAME TO myrole2;

如果密碼使用MD5雜湊演算法,則重新命名角色 (ALTER ROLE myrole RENAME TO newname) 也會受到限制。

啟用此功能時,如果沒有rds_password角色權限的情況下嘗試任何這些SQL命令,都會產生下列錯誤:

ERROR: must be a member of rds_password to alter passwords

建議您僅對專用於密碼管理的一些角色授予 rds_password。若您授予不具 rds_superuser 權限之資料庫使用者 rds_password 權限,則還需要授予其 CREATEROLE 屬性。

確定您驗證用戶端上的密碼需求,例如到期時間和需要的複雜度。若您使用自己的用戶端公用程式進行與密碼相關的變更,則該公用程式必須為 rds_password 的成員並具有 CREATE ROLE 權限。