설명
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