IAM 인증을 사용한 데이터베이스 계정 생성
IAM 인증을 사용한 데이터베이스 계정 생성
IAM 데이터베이스 인증을 사용하면 생성하는 사용자 계정에 데이터베이스 암호를 할당할 필요가 없어요. 데이터베이스 계정에 매핑된 사용자를 제거한다면 DROP USER 문으로 데이터베이스 계정도 제거해야 해요.
출처: 문서
본문
IAM 데이터베이스 인증을 사용하면 생성하는 사용자 계정에 데이터베이스 암호를 할당할 필요가 없어요. 데이터베이스 계정에 매핑된 사용자를 제거한다면 DROP USER 문으로 데이터베이스 계정도 제거해야 해요.
참고
IAM 인증에 사용되는 사용자 이름은 데이터베이스의 사용자 이름과 대소문자가 일치해야 해요.
주제 (Topics)
- MariaDB 및 MySQL에서 IAM 인증 사용
- PostgreSQL에서 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 정책 생성 및 사용" 문서를 참고하세요.
참고
다음 메시지가 보이면 AWS가 제공하는 플러그인이 현재 DB 인스턴스에서 사용할 수 없다는 뜻이에요.
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 역할을 부여해야 해요. 역할의 중첩 구성원 또는 간접 부여도 사용할 수 있어요.