데이터베이스 저장 암호화 확인 필요

데이터베이스의 실제 저장 암호화와 키를 확인하세요. 서비스 기본값, 클러스터 설정, 복원·복제 시 상속되는 설정을 구분해야 합니다.

설명

RDS, Aurora, DocumentDB, Neptune, Redshift의 저장 암호화는 데이터와 관련 백업·스냅샷을 보호합니다. 필요한 암호화와 키 관리 방식을 명시하고 실제 배포 상태를 확인하세요.

속성 생략을 모든 서비스의 비암호화 상태로 해석해서는 안 됩니다. Aurora 인스턴스의 암호화는 클러스터에서 관리하고, 복원·복제는 원본 설정을 상속할 수 있습니다. 현재 Redshift의 새 클러스터 생성 API는 기본 암호화를 사용합니다. 고객 관리형 키가 없다는 사실과 저장 데이터가 암호화되지 않았다는 사실도 다릅니다.

잠재적 영향

  • 실제 비암호화 데이터나 요구에 맞지 않는 키 관리가 저장 데이터 보호 기준을 충족하지 못할 수 있습니다.
  • 잘못된 키 권한이나 준비되지 않은 리소스 교체는 데이터 접근과 서비스 운영을 방해할 수 있습니다.

해결 방법

  • 실제 DB·클러스터·스냅샷의 암호화와 키를 확인하고 해당 서비스의 생성·복원 요건을 적용하세요. 새 RDS DB에는 StorageEncrypted: true를 명시하고 필요하면 승인된 KmsKeyId를 지정하세요.
  • 기존 비암호화 RDS 인스턴스는 스냅샷의 암호화 사본을 만든 뒤 새 인스턴스로 복원하는 등의 지원 절차로 이전하세요. 비암호화 원본의 읽기 복제본에 암호화 옵션만 추가하는 방식은 사용할 수 없습니다.
  • 변경 세트, 데이터 보존, 백업과 애플리케이션 연결 전환을 검토하고 실제 암호화 및 데이터 접근을 검증하세요. 네트워크·DB 권한과 TLS도 유지하세요.

예시

새 MySQL 인스턴스의 대안입니다. 리전과 엔진에서 지원하는 인스턴스 유형 및 안전하게 관리하는 자격 증명을 제공하고, 서브넷과 보안 그룹은 환경에 맞게 추가하세요. 실행 중인 DB의 무손실 암호화 전환 절차가 아닙니다.

암호화와 키를 명시하지 않은 구성

yaml
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  DBInstanceClass:
    Type: String
  DBUsername:
    Type: String
  DBPassword:
    Type: String
    NoEcho: true
Resources:
  MyDB:
    Type: AWS::RDS::DBInstance
    DeletionPolicy: Snapshot
    UpdateReplacePolicy: Snapshot
    Properties:
      DBInstanceClass: !Ref DBInstanceClass
      AllocatedStorage: 50
      Engine: mysql
      MasterUsername: !Ref DBUsername
      MasterUserPassword: !Ref DBPassword

암호화 요구를 명시하지 않습니다. 실제 설정과 적용되는 생성 기본값을 확인해야 합니다.

암호화와 키를 지정한 구성

yaml
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  DBInstanceClass:
    Type: String
  DBUsername:
    Type: String
  DBPassword:
    Type: String
    NoEcho: true
  DatabaseKmsKeyArn:
    Type: String
Resources:
  MyDB:
    Type: AWS::RDS::DBInstance
    DeletionPolicy: Snapshot
    UpdateReplacePolicy: Snapshot
    Properties:
      DBInstanceClass: !Ref DBInstanceClass
      AllocatedStorage: 50
      Engine: mysql
      StorageEncrypted: true
      KmsKeyId: !Ref DatabaseKmsKeyArn
      MasterUsername: !Ref DBUsername
      MasterUserPassword: !Ref DBPassword

새 인스턴스의 암호화와 키를 지정합니다. 같은 리전의 승인된 KMS 키 ARN과 필요한 권한을 준비하세요. 스냅샷 보존만으로 애플리케이션 데이터 이전이 완료되지는 않습니다.

참조