IAM 인증을 사용하여 데이터베이스 계정 생성 - Amazon Relational Database Service

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을 사용하여 계정을 생성한 이후 계정 관리 방법은 다른 데이터베이스 계정과 동일합니다. 예를 들어 GRANTREVOKE 문으로 계정 권한을 수정하거나, 혹은 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 정책 생성 및 사용 섹션을 참조하세요.