IAM 인증을 사용하여 데이터베이스 계정 생성
IAM 데이터베이스 인증 방식에서는 데이터베이스 암호를 사용자 계정에 할당할 필요 없습니다. 데이터베이스 계정에 매핑되어 있는 사용자를 제거할 경우에는 DROP USER
문으로 데이터베이스 계정도 제거해야 합니다.
참고
IAM 인증에 사용되는 사용자 이름은 데이터베이스에 있는 사용자 이름과 대소문자가 일치해야 합니다.
MariaDB 및 MySQL에서 IAM 인증 사용
MariaDB 및 MySQL에서는 AWS에서 제공하는 플러그인인 AWSAuthenticationPlugin
에서 인증을 처리합니다. 이 플러그인은 IAM과 원활하게 연동되어 사용자를 인증합니다. 마스터 사용자 또는 사용자를 생성하고 권한을 부여할 수 있는 다른 사용자로 DB 인스턴스에 연결합니다. 연결한 후 다음 예제와 같이 CREATE USER
문을 실행합니다.
CREATE USER 'jane_doe' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
IDENTIFIED WITH
절을 사용하면 MariaDB 및 MySQL이 AWSAuthenticationPlugin
을 통해 데이터베이스 계정(jane_doe
)을 인증할 수 있습니다. AS 'RDS'
절은 인증 방법을 참조합니다. 지정한 데이터베이스 사용자 이름이 IAM 데이터베이스 액세스에 대한 IAM 정책의 리소스와 같은지 확인합니다. 자세한 내용은 IAM 데이터베이스 액세스를 위한 IAM 정책 생성 및 사용 섹션을 참조하세요.
참고
다음과 같은 메시지가 표시되면 현재 DB 인스턴스에서 AWS 제공 플러그인을 사용할 수 없는 것입니다.
ERROR 1524 (HY000): Plugin 'AWSAuthenticationPlugin' is not
loaded
위와 같은 오류 문제를 해결하려면 지원되는 구성을 사용하고 있는지, 그리고 DB 인스턴스 에서 IAM 데이터베이스 인증이 활성화되어 있는지 확인하십시오. 자세한 내용은 리전 및 버전 사용 가능 여부 및 IAM 데이터베이스 인증의 활성화 및 비활성화 단원을 참조하십시오.
AWSAuthenticationPlugin
을 사용하여 계정을 생성한 이후 계정 관리 방법은 다른 데이터베이스 계정과 동일합니다. 예를 들어 GRANT
및 REVOKE
문으로 계정 권한을 수정하거나, 혹은 ALTER USER
문으로 여러 가지 계정 속성을 변경할 수 있습니다.
IAM을 사용하는 경우 데이터베이스 네트워크 트래픽은 SSL/TLS를 사용하여 암호화됩니다. SSL 연결을 허용하려면 다음 명령을 사용해 사용자 계정을 수정합니다.
ALTER USER 'jane_doe'@'%' REQUIRE SSL;
PostgreSQL에서 IAM 인증 사용
PostgreSQL에서 IAM 인증을 사용하려면 마스터 사용자 또는 사용자를 생성하고 권한을 부여할 수 있는 다른 사용자로 DB 인스턴스에 연결해야 합니다. 연결한 후 데이터베이스 사용자를 생성하고 다음 예제에 나온 것처럼 사용자에게 rds_iam
역할을 부여합니다.
CREATE USER db_userx; GRANT rds_iam TO db_userx;
지정한 데이터베이스 사용자 이름이 IAM 데이터베이스 액세스에 대한 IAM 정책의 리소스와 같은지 확인합니다. 자세한 내용은 IAM 데이터베이스 액세스를 위한 IAM 정책 생성 및 사용 단원을 참조하십시오. IAM 인증을 사용하려면 rds_iam
역할을 부여해야 합니다. 중첩된 멤버십이나 역할의 간접 부여도 사용할 수 있습니다.