RDS IAM 데이터베이스 인증 사용 검토

지원되는 RDS 환경에서 IAM 인증으로 장기 비밀번호 의존도를 줄이세요.

설명

RDS의 IAM 데이터베이스 인증은 지원되는 MariaDB, MySQL, PostgreSQL 환경에서 단기 인증 토큰으로 접속하게 합니다. 이를 사용하지 않으면 별도 데이터베이스 자격 증명의 보관과 교체가 필요할 수 있습니다.

잠재적 영향

장기 비밀번호가 유출되면 교체 전까지 악용될 수 있으며, 여러 애플리케이션에 배포한 자격 증명의 관리 부담도 늘어납니다.

해결 방법

엔진·버전·인스턴스 유형의 지원 여부와 애플리케이션의 토큰 인증 지원을 확인한 뒤 enable_iam_database_authentication을 활성화하세요. 데이터베이스 사용자와 IAM 권한, TLS 연결도 구성해야 하며 인스턴스 설정만으로 기존 로그인이 전환되지는 않습니다.

예시

예시는 인스턴스의 IAM 인증 설정만 비교합니다. 지원되는 인스턴스 클래스를 입력하고, 사용자 및 애플리케이션 설정은 별도로 구성하세요.

변경 전

yaml
- name: RDS 인스턴스 생성
  amazon.aws.rds_instance:
    engine: mariadb
    id: test-db
    state: present
    db_instance_class: "{{ db_instance_class }}"
    username: "{{ username }}"
    password: "{{ password }}"
    allocated_storage: "{{ allocated_storage }}"
    enable_iam_database_authentication: false

변경 후

yaml
- name: RDS 인스턴스 생성
  amazon.aws.rds_instance:
    engine: mariadb
    id: test-db
    state: present
    db_instance_class: "{{ db_instance_class }}"
    username: "{{ username }}"
    password: "{{ password }}"
    allocated_storage: "{{ allocated_storage }}"
    enable_iam_database_authentication: true

참조