사용자 암호 관리 위임 및 제어
DBA로서 사용자 암호 관리를 위임할 수 있습니다. 또는 데이터베이스 사용자가 암호를 변경하거나 암호 사용 주기와 같은 암호 제약 조건을 재구성하지 못하도록 할 수 있습니다. 선택한 데이터베이스 사용자만 암호 설정을 변경할 수 있도록 하려면 제한된 암호 관리 기능을 켜면 됩니다. 이 기능을 활성화하면 rds_password
역할이 부여된 데이터베이스 사용자만 암호를 관리할 수 있습니다.
참고
제한된 암호 관리를 사용하려면 RDS for PostgreSQL DB 인스턴스가 PostgreSQL 10.6 이상을 실행해야 합니다.
기본적으로 이 기능은 다음과 같이 off
입니다.
postgres=>
SHOW rds.restrict_password_commands;
rds.restrict_password_commands -------------------------------- off (1 row)
이 기능을 켜려면 사용자 정의 파라미터 그룹을 사용하고 rds.restrict_password_commands
에 대한 설정을 1로 변경합니다. RDS for PostgreSQL DB 인스턴스를 재부팅해야 설정이 적용됩니다.
이 기능을 활성화하면 다음 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
권한을 가져야 합니다.