Amazon RDS을 사용한 데이터베이스 인증
Amazon RDS은 데이터베이스 사용자를 인증하는 여러 가지 방법을 지원합니다.
암호, Kerberos 및 IAM 데이터베이스 인증은 데이터베이스에 대해 서로 다른 인증 방법을 사용합니다. 따라서 특정 사용자는 하나의 인증 방법만 사용하여 데이터베이스에 로그인할 수 있습니다.
PostgreSQL의 경우, 특정 데이터베이스 사용자에 대해 다음 역할 설정 중 하나만 사용하세요.
-
IAM 데이터베이스 인증을 사용하려면
rds_iam
역할을 사용자에게 할당합니다. -
Kerberos 인증을 사용하려면
rds_ad
역할을 사용자에게 할당합니다. -
암호 인증을 사용하려면
rds_iam
또는rds_ad
역할을 사용자에게 할당하지 않습니다.
rds_iam
및 rds_ad
역할을 직접적으로 또는 중첩된 액세스 권한 부여를 통해 간접적으로 PostgreSQL 데이터베이스 사용자에게 둘 다 할당하지 않도록 합니다. rds_iam
역할이 마스터 사용자에게 추가되면, IAM 인증이 암호 인증보다 우선하므로 마스터 사용자가 IAM 사용자로 로그인해야 합니다.
중요
애플리케이션에서 직접 마스터 사용자를 사용하지 않는 것이 좋습니다. 대신에 애플리케이션에 필요한 최소 권한으로 생성한 데이터베이스 사용자를 사용하는 모범 사례를 준수하십시오.
암호 인증
암호 인증을 통해 데이터베이스는 모든 사용자 계정 관리를 수행합니다. CREATE USER
와 같은 DB 엔진에서 암호를 지정하는 데 필요한 적절한 절이 있는 SQL 문을 사용하여 사용자를 생성합니다. 예를 들어 MySQL에서 명령문은 CREATE
USER
이름
IDENTIFIED BY
암호
이지만 PostgreSQL에서 명령문은 CREATE USER
이름
WITH PASSWORD
암호
입니다.
암호 인증을 통해 데이터베이스는 사용자 계정을 제어하고 인증합니다. DB 엔진에 강력한 암호 관리 기능이 있는 경우 보안을 강화할 수 있습니다. 소규모 사용자 커뮤니티가 있는 경우 암호 인증을 사용하여 데이터베이스 인증을 쉽게 관리할 수 있습니다. 이 경우 일반 텍스트 암호가 생성되므로 AWS Secrets Manager과 통합하면 보안이 강화될 수 있습니다.
Secrets Manager를 Amazon RDS와 함께 사용하는 방법에 대한 자세한 내용은 AWS Secrets Manager 사용 설명서에서 기본 비밀 만들기 및 지원되는 Amazon RDS 데이터베이스의 비밀 교체를 참조하세요. 사용자 지정 애플리케이션에서 프로그래밍 방식으로 비밀을 검색하는 방법에 대한 자세한 내용은 AWS Secrets Manager 사용 설명서의 비밀 값 검색을 참조하세요.
IAM 데이터베이스 인증
AWS Identity and Access Management(IAM) 데이터베이스 인증을 사용하여 DB 인스턴스에 인증할 수 있습니다. 이러한 인증 방식은 DB 인스턴스에 연결할 때 암호를 사용할 필요 없습니다. 대신에 인증 토큰을 사용합니다.
특정 DB 엔진의 가용성에 대한 정보를 포함하여 IAM 데이터베이스 인증에 대한 자세한 내용은 MariaDB, MySQL 및 PostgreSQL IAM 데이터베이스 인증 단원을 참조하십시오.
Kerberos 인증
Amazon RDS에서는 Kerberos 및 Microsoft Active Directory를 사용하여 데이터베이스 사용자의 외부 인증을 지원합니다. Kerberos는 티켓과 대칭 키 암호화를 사용하여 네트워크를 통해 암호를 전송할 필요가 없는 네트워크 인증 프로토콜입니다. Kerberos는 Active Directory에 내장되어 있으며 데이터베이스와 같은 네트워크 리소스에 대해 사용자를 인증하도록 설계되었습니다.
Kerberos 및 Active Directory에 대한 Amazon RDS의 지원은 데이터베이스 사용자에게 SSO(Single Sign-On) 및 중앙 집중식 인증의 이점을 제공합니다. 사용자 자격 증명을 Active Directory에 보관할 수 있습니다. Active Directory는 여러 DB 인스턴스에 대한 자격 증명을 보관하고 관리할 수 있는 중앙 집중식 공간을 제공합니다.
자체 관리형 Active Directory의 자격 증명을 사용하려면 DB 인스턴스가 연결된 Microsoft Active Directory의 AWS Directory Service에 대한 신뢰 관계를 설정해야 합니다.
RDS for PostgreSQL 및 RDS for MySQL 은 포리스트 전체 인증 또는 선택적 인증을 통해 단방향 및 양방향 포리스트 신뢰 관계를 지원합니다.
일부 시나리오에서는 외부 신뢰 관계를 통해 Kerberos 인증을 구성할 수 있습니다. 이를 위해서는 자체 관리형 Active Directory에 추가 설정이 필요합니다. 여기에는 Kerberos 포리스트 검색 순서
Microsoft SQL Server 및 PostgreSQL DB 인스턴스는 단방향 및 양방향 포리스트 신뢰 관계를 지원합니다. Oracle DB 인스턴스는 단방향 및 양방향 외부 및 포리스트 신뢰 관계를 지원합니다. 자세한 내용은 AWS Directory Service 관리 안내서의 신뢰 관계를 생성해야 하는 경우를 참조하십시오.
특정 DB 엔진의 Kerberos 인증에 대한 자세한 내용은 다음을 참조하십시오.
참고
현재 MariaDB DB 인스턴스에 대해서는 Kerberos 인증이 지원되지 않습니다.