AWS RDS提供了可以自定义密码验证策略的功能,例如设置密码最小长度,密码必须包含哪些字符等。以下是自定义密码验证策略的示例。
CREATE EXTENSION IF NOT EXISTS adminpack;
CREATE OR REPLACE FUNCTION custom_password_check(p password) returns boolean AS $$ BEGIN RETURN length(p) >= 8 AND p ~ '[\w\d]' AND p ~ '[^a-zA-Z][A-Z]+' AND p ~ '[^0-9]*[0-9]+'; END; $$ LANGUAGE plpgsql;
创建新的RDS PostgreSQL实例。在Step2: DB Instance Details页面的“Enable Options”中,选择“Administration”选项卡并单击“Enable Enhanced Monitoring”和“Enable Enhanced Password Management”。
在Step3: Configure Advanced Settings页面的“Network & Security”选项卡中设置数据库的访问权限。
在Step4: Database Settings页面的“Database Options”选项卡中设置密码策略。要使用自定义密码验证,请单击“Edit”并选择“Use custom authentication”. 在“Function name”字段中输入custom_password_check并保存更改。
点击“Create Database”按钮等待RDS PostgreSQL实例创建完成。连接到该实例并尝试更改密码以测试自定义密码验证策略。例如:
ALTER USER myuser WITH PASSWORD 'mypassword';
如果密码不符合自定义策略,将无法进行更改并会提示错误消息。