BLOG

[AWS TECH BLOG] AWS Secrets Manager를 사용하여 Amazon RDS 마스터 데이터베이스 자격 증명 보안 향상하기
작성일: 2023-02-24

Amazon Relational Database Service(Amazon RDS)를 사용하면 AWS 클라우드에서 관계형 데이터베이스를 보다 간단하게 설정하고 운영 및 확장할 수 있습니다. AWS Secrets Manager는 데이터베이스 자격 증명, API 키 및 기타 암호를 관리, 검색 및 교체하는 데 도움이 됩니다.

Amazon RDS는 이제 Secrets Manager와의 통합을 제공하여 마스터 데이터베이스 자격 증명을 관리합니다. Amazon RDS가 자동으로 처리하므로 더 이상 Secrets Manager에서 비밀을 생성하거나 교체를 설정하는 것과 같은 마스터 데이터베이스 자격 증명을 관리할 필요가 없습니다.

 

오늘 포스팅에서는 Amazon RDS 데이터베이스 인스턴스를 설정하고 Secrets Manager 통합을 사용하여 마스터 데이터베이스 자격 증명을 관리하는 방법을 알아보겠습니다.  또한 응용 프로그램 자격 증명에 대해 교대 사용자 교체를 설정하는 방법도 함께 소개해 드릴 예정입니다.

 

 

통합의 이점

 

Secrets Manager로 Amazon RDS 마스터 데이터베이스 자격 증명을 관리하면 다음과 같은 이점이 있습니다.

 

  • Amazon RDS는 마스터 데이터베이스 자격 증명을 자동으로 생성하고 보안을 지원하므로 자격 증명을 안전하게 관리하는 힘든 작업을 수행할 필요가 없습니다.
  • Amazon RDS는 Secrets Manager에서 데이터베이스 자격 증명을 자동으로 저장하고 관리합니다.
  • Amazon RDS는 애플리케이션을 변경할 필요 없이 데이터베이스 자격 증명을 정기적으로 교체합니다.
  • Secrets Manager는 사람의 액세스 및 일반 텍스트 보기로부터 데이터베이스 자격 증명을 보호하는 데 도움이 됩니다.
  • Secrets Manager에서는 API 또는 콘솔을 사용하여 데이터베이스 자격 증명을 검색할 수 있습니다.
  • Secrets Manager는 AWS Identity and Access Management(IAM)를 사용하여 암호의 데이터베이스 자격 증명에 대한 액세스를 세밀하게 제어할 수 있습니다.
  • 서로 다른 AWS Key Management Service(AWS KMS) 키를 사용하여 자격 증명 암호화와 데이터베이스 암호화를 분리할 수 있습니다.
  • AWS CloudTrail 및 Amazon CloudWatch를 사용하여 데이터베이스 자격 증명에 대한 액세스를 모니터링할 수 있습니다.

 

실습하기

 

오늘 콘솔을 사용하여 다음을 수행하는 방법을 알아보겠습니다.

 

  • Secrets Manager에서 새 Amazon RDS 인스턴스에 대한 마스터 데이터베이스 자격 증명을 관리합니다. 여기서는 MySQL 엔진을 사용하지만 다른 Amazon RDS 데이터베이스 엔진에도 이 프로세스를 사용할 수 있습니다.
  • 관리형 마스터 데이터베이스 암호를 사용하여 새 데이터베이스 사용자에 대한 교대 사용자 교체를 설정합니다.

Secrets Manager에서 Amazon RDS 마스터 데이터베이스 자격 증명 관리

 

이 섹션에서는 Secrets Manager 통합을 사용하여 데이터베이스 인스턴스를 생성합니다.

 

Secrets Manager에서 Amazon RDS 마스터 데이터베이스 자격 증명을 관리하려면:

1)Amazon RDS 콘솔을 열고 데이터베이스 생성을 선택합니다.

2)데이터베이스 생성 방법 선택에서 표준 생성을 선택합니다.

3)엔진 옵션에서 엔진 유형으로 MySQL을 선택합니다.

4)자격 증명 설정의 AWS Secrets Manager에서 마스터 자격 증명 관리를 선택합니다. 

 

그림 1: Secrets Manager 통합 선택

 

5)관리되는 마스터 데이터베이스 자격 증명을 암호화하는 옵션이 있습니다. 이 예에서는 기본 KMS 키를 사용합니다.

 

그림 2: KMS 키 선택

 

6)(선택 사항) 요구 사항에 맞게 다른 설정을 선택합니다. 자세한 내용은  DB 인스턴스 설정을 참조하십시오 .

7)데이터베이스 생성을 선택하고 데이터베이스가 생성될 때까지 몇 분 정도 기다립니다.

8)데이터베이스가 생성된 후 Amazon RDS 콘솔의 인스턴스 대시보드에서 새 Amazon RDS 인스턴스로 이동합니다.

9)구성 탭을 선택하고  마스터 자격 증명 ARN 아래에서 마스터 데이터베이스 자격 증명을 찾을 수 있습니다.

 

 

마스터 데이터베이스 자격 증명을 사용하여 새 데이터베이스 사용자 생성

 

 

이 섹션에서는 애플리케이션에서 데이터베이스에 연결하는 데 사용할 수 있는 자격 증명을 만들고 보호하는 방법을 소개해드릴 텐데요, 마스터 데이터베이스 자격 증명에 액세스하고 마스터 데이터베이스 자격 증명을 사용하여 하위(애플리케이션) 자격 증명에 대한 교체를 만들고 설정하는 방법을 알아보겠습니다.

 

마스터 데이터베이스 자격 증명을 사용하여 새 데이터베이스 사용자를 생성하려면

 

1)다음과 같이 Secrets Manager에서 마스터 데이터베이스 자격 증명을 검색합니다.

  •  RDS 인스턴스 대시보드의 구성 탭을 선택하고 마스터 자격 증명 ARN의 Secrets Manager에서 관리를 선택하여  Secrets Manager 관리형 마스터 데이터베이스 암호를 엽니다.

 

그림 3: DB 구성 보기

 

2)Amazon RDS가 암호에 일부 시스템 태그를 추가하고 해당 교체가 기본적으로 켜져 있는 것을 볼 수 있습니다.

 

 

그림 4: 비밀 정보 보기

 

3)암호를 보려면 암호 값 섹션에서 암호 값 검색을 선택합니다 .

참고: 애플리케이션에 암호를 읽을 수 있는 IAM 권한이 있는 경우 AWS 명령줄 인터페이스(AWS CLI) 또는 AWS SDK를 사용하여 이러한 자격 증명을 검색할 수 있습니다.

4)MySQL Workbench에서 방금 검색한 자격 증명을 사용하여 마스터 데이터베이스로 Amazon RDS 데이터베이스에 로그인합니다. 자세한 내용은  MySQL 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결을 참조하십시오.

5)마스터 데이터베이스의 경우 다음 SQL 명령을 실행하여 원하는 권한을 가진 새 데이터베이스 사용자를 생성합니다. <비밀번호>는 자신의 정보로 변경하고 강력한 비밀번호를 사용하세요.

CREATE USER 'child'@'%' IDENTIFIED by <password>;

 

사용자 생성에 대한 자세한 내용은 MySQL 설명서를 참조하십시오.

 

 

새 데이터베이스 사용자에 대한 교대 사용자 교체 설정

 

 

이 섹션에서는 마스터 데이터베이스 자격 증명을 사용하여 애플리케이션 자격 증명에 대한 다중 사용자 순환을 설정하는 방법을 알아봅니다.

교대 사용자 순환을 설정하려면

 

1)Secrets Manager 콘솔의 Secrets에서 Store a new secret을 선택합니다.

2)비밀 유형에서 Amazon RDS 데이터베이스에 대한 자격 증명을 선택합니다.

3)자격 증명 섹션에서 새 데이터베이스 사용자의 사용자 이름과 암호를 입력합니다.

4)Database 섹션에서 Amazon RDS 인스턴스를 선택한 후 그림 5와 같이 Next를 선택합니다.

 

그림 5: RDS 인스턴스 선택

 

5)암호 구성 페이지에서 암호에 이름과 설명을 지정합니다. 다른 구성은 필요하지 않습니다.

6)순환 구성 – 선택 사항 페이지에서 자동 순환을 켭니다 .

 

 

그림 6: 자동 회전 선택

 

7)순환 일정 섹션에서 필요에 따라 순환 일정을 구성합니다.

8)회전 기능 섹션에서 다음을 수행합니다.

  1. 생성될 Lambda 함수를 설명하는 이름을 입력합니다.
  2. 별도의 자격 증명을 사용하여 이 암호를 교체하려면 예를 선택합니다.
  3. Secrets에서 Amazon RDS에서 생성한 마스터 데이터베이스 암호를 선택합니다.

    참고: 마스터 데이터베이스 암호의 이름을 찾으려면 Amazon RDS 콘솔의 Amazon RDS 인스턴스 세부 정보 페이지에서 구성 을 선택한 다음 마스터 자격 증명 ARN을 확인하십시오.

     

그림 7: 교체할 별도의 자격 증명 선택

 

 

9)다음을 선택한 다음 검토 페이지에서 스토어를 선택합니다.

 

새 데이터베이스 사용자 암호를 교체할 준비가 되기 전에 Secrets Manager 워크플로가 교체 Lambda 기능을 설정하는 데 몇 분 정도 걸립니다.

회전이 활성화되었는지 확인하려면

 

1)Secrets Manager 콘솔에서 새 데이터베이스 사용자 암호로 이동합니다.

그림 8: 자식 암호 보기

 

2)순환 구성 섹션에서 순환 상태가 활성화인지 확인합니다.

그림 9: 회전 상태 확인

 

이 프로세스에 대한 자세한 내용 및 문제 해결은 AWS Secrets Manager에 대한 교대 사용자 교체 설정 단원을 참조하십시오.

 

리소스 정리

 

Amazon RDS 인스턴스를 삭제하면 관리형 마스터 데이터베이스 자격 증명 암호가 자동으로 정리됩니다.

 

Amazon RDS 인스턴스를 삭제하려면

 

1)Amazon RDS 콘솔을 엽니다.

2)탐색 창에서 데이터베이스를 선택한 다음 수정할 DB 클러스터를 선택합니다.

3)작업을 선택한 다음 클러스터 수정을 선택합니다.

4)삭제 방지 비활성화를 선택한 다음 계속을 선택합니다.

5)즉시 적용을 선택합니다.

6)작업 드롭다운에서 삭제를 선택합니다.

7)(선택 사항) 메뉴를 사용하여 Amazon RDS 인스턴스의 최종 스냅샷 또는 자동 백업을 생성합니다.

 

그림 10: 스냅샷 및 백업 생성

 

8)준비가 되면 delete me를 입력합니다.

자세한 내용은 DB 인스턴스 삭제 단원을 참조하십시오.

 

새 데이터베이스 사용자 암호에서 교대 사용자 교체를 정리하려면

 

1)Secrets Manager 콘솔에서 새 데이터베이스 사용자 암호를 엽니다.

 

그림 11: 하위 암호 선택

 

2)교체 구성 섹션에서 Lambda 교체 함수를 선택합니다.

그림 12: 회전 기능 보기

 

3)Lambda 콘솔의 애플리케이션 아래에서 애플리케이션을 선택합니다.

그림 13: 애플리케이션 열기

 

4)배포 탭에서 CloudFormation 스택을 선택합니다.

5)삭제를 선택한 다음 삭제 메뉴 단계를 따릅니다. 루트 스택으로 이동하고 삭제를 다시 선택해야 할 수도 있습니다. 스택에 대한 종료 방지를 비활성화해야 할 수도 있습니다.

 

그림 14: 삭제 선택

 

6)이제 새 데이터베이스 사용자 암호에 대한 교체를 정리했으므로 하위 암호를 삭제해야 합니다. Secrets Manager 콘솔로 이동하여 삭제하려는 암호를 선택합니다.

7)작업 드롭다운에서 암호 삭제를 선택하여 암호를 삭제합니다.

 

그림 15: 하위 암호 삭제

 

요약

 

 

Amazon RDS와 Secrets Manager의 통합을 통해 마스터 DB 자격 증명을 더 잘 보호하고 관리할 수 있습니다. 이 통합은 DB 인스턴스가 생성될 때 자격 증명을 저장하는 데 도움이 되며 자격 증명 교체를 설정하기 위한 수고를 하지 않아도 됩니다.

오늘 소개해 드린 내용을 간단하게 요약해 보겠습니다.

 

  1. Secrets Manager를 사용하여 마스터 데이터베이스 자격 증명을 저장하는 Amazon RDS 인스턴스 설정
  2. Secrets Manager에서 자격 증명을 보고 교체가 설정되었는지 확인
  3. 마스터 데이터베이스 자격 증명을 사용하여 데이터베이스 사용자 자격 증명 생성
  4. 데이터베이스 사용자 자격 증명에 대한 교대 사용자 교체 설정

 

 

참고 자료

 

다른 Amazon RDS 엔진 유형에 대한 데이터베이스 사용자를 생성하는 방법에 대한 지침은 다음 리소스를 참조하십시오.