끄적이는 보송

[DB] PROFILE 수정 비밀번호 유효기간 변경 및 AWS CLI를 이용한 RDS master user 비밀번호 변경 본문

STUDY/DB

[DB] PROFILE 수정 비밀번호 유효기간 변경 및 AWS CLI를 이용한 RDS master user 비밀번호 변경

끄적이는 보송 2023. 3. 6. 17:39
반응형

관리하던 RDS의 ADMIN 계정의 비밀번호가 만기일에 가까워져 LOCK 걸릴 예정이었다. 이를 해결하는 겸 포스팅해 본다.

* ADMIN 계정은 디폴트 설정으로 'PASSWORD_LIFE_TIME'가 UNLIMITED로 설정되어 있지만, 회사 내규나 보안감사에 의해 라이프사이클을 걸어두는 경우가 있다. 다른 계정이면, 직접 접속해 UNLOCK 할 수 있지만 ADMIN이 막혀버리면 접속조차 할 수 없기 때문에 문제가 될 수 있다.

LOCK을 풀기 위해선 해당 계정의 암호를 리셋함으로써 이를 해결할 수 있다. 암호 리셋은 AWS CLI 명령어를 사용할 수도, 혹은 AWS Console 환겨에서 할 수도 있다.

 

AWS CLI 이용

'--db-instance-identifier' 옵션 값과 '--master-user-password' 값을 변경해 주면 된다.

aws rds modify-db-instance --db-instance-identifier <rds_name> --apply-immediately --master-user-password <your_new_password>

* 암호 조건: 최소 8개의 ASCII 문자가 들어가야 하고  특수문자 /(슬래시), '(작은따옴표), "(큰따옴표) 및 @(at 기호)를 포함할 수 없음.

 

콘솔환경 이용

RDS Console 환경에서 해당되는 RDS 선태 후, modify로 접근
설정 기입란 중 비밀번호 관련 설정창에서 원하는 비밀번호 입력. 비밀번호는 규칙을 준수해야 함.

반응형

 

계정 암호 정책 변경

매번 비밀번호를 만기에 가까워질 때마다 변경해 줄 필요 없이 UNLIMITED 설정이 가능하다면, 그렇게 해주는 게 일하는데 더 수월할 것이다. 이 설정은 해당 계정이 참고하고 있는 'PROFILE'의 'PASSWORD_LIFE_TIME'을 수정해 주면 된다. 수정하는 쿼리문 예제는 아래와 같다. (ex. 90일간 유지)

ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME 90;

하지만 주의해야 할 것이 있다. 이렇게 하면 해당 PROFILE을 사용하는 모든 DB 계정의 암호 라이프사이클이 변경된다. 실제로 Default PROFILE을 사용하는 계정을 출력해 보았다. Default PROFILE 이용하는 계정이 다수 보이며, 해당 PROFILE 설정을 변경하면 하기 계정 모두 영향을 받는다는 것을 의미한다.

SELECT username 
FROM dba_users 
WHERE profile = 'DEFAULT';

DEFAULT PROFILE을 이용 중인 계정

따라서, 위 쿼리문을 실행하기 전에, 새로운 PROFILE을 생성하고, 그 PROFILE의 값을 원하는 값으로 변경한 후, ADMIN이 새로 생성한 PROFILE을 바라보도록 설정하여 다른 계정에 영향이 없도록 해야 한다.

#신규 PROFILE 생성
CREATE PROFILE ADMIN_PROF LIMIT;
#계정이 신규 PROFILE을 이용하도록 변경
ALTER USER ADMIN PROFILE ADMIN_PROF;

위 쿼리문으로 PROFILE을 새로 생성해, 사용자가 이를 이용하도록 변경할 수 있다. 관련해서 아래 포스팅도 참고할 수 있다.

https://bosungtea9416.tistory.com/entry/DB-%EC%82%AC%EC%9A%A9%EC%9E%90-PROFILE-%EC%A0%95%EB%B3%B4-%EB%B3%80%EA%B2%BD-%EB%B0%8F-LOCK-%EA%B4%80%EB%A0%A8-%EC%BF%BC%EB%A6%AC

 

* PROFILE 이란?
프로파일(Profile)은 AWS RDS 데이터베이스에서 사용자 또는 그룹의 리소스 사용에 대한 제한을 설정하는 기능이라고 한다. CPU, 메모리, 세션 등과 같은 자원을 허용 가능한 최대 사용량을 설정하여 사용자의 부담을 줄이고, 데이터베이스 시스템의 안정성을 유지하는 데 목적이 있다. 물론 암호 정책도 포함한다.

즉, 프로파일은 데이터베이스 사용자가 데이터베이스 시스템을 과도하게 사용하지 않도록 제한하는 역할을 한다.

반응형

'STUDY > DB' 카테고리의 다른 글

[DB] 사용자 PROFILE 정보 변경 및 LOCK 관련 쿼리  (0) 2023.03.06
Comments