Redshift 저장 암호화 설정 점검

Redshift의 실제 암호화 상태와 키를 확인하고 기존 비암호화 클러스터를 보호하세요.

설명

Redshift는 대량의 업무 데이터, 로그와 집계 정보를 저장하는 데이터 웨어하우스입니다. 저장 시 암호화는 이러한 데이터와 스냅샷을 보호합니다.

현재 Redshift API는 새 클러스터를 기본적으로 암호화하며 명시적인 Encrypted: false 요청을 거부합니다. 템플릿에 옵션이 없다고 비암호화 상태로 판단하지 말고, 이전에 생성된 클러스터를 포함해 실제 암호화 상태와 키를 확인하세요.

잠재적 영향

실제 비암호화 저장소나 스냅샷을 무단으로 획득하면 분석 데이터와 민감정보가 노출될 위험이 커집니다. 암호화가 켜져 있어도 데이터베이스 접근 권한과 네트워크 제한은 별도로 필요합니다.

해결 방법

  • 새 클러스터에는 Encrypted: true로 요구사항을 명시하고, 조직의 키 관리 요구에 맞는 KMS 키를 선택하세요.
  • 기존 비암호화 클러스터는 지원되는 암호화 전환 절차를 사용하세요. 백업을 확보하고 전환 중 읽기 전용 상태와 운영 영향을 계획하세요.
  • 적용 후 실제 암호화와 정상 데이터 접근을 확인하고 필요한 키 권한을 유지하세요.

예시

생성 설정의 발췌입니다. 전체 템플릿에서 참조하는 값과 안전하게 관리하는 비밀번호를 제공하고, 해당 리전에서 단일 노드를 지원하는 노드 유형을 선택하세요. 예시에 남아 있는 공개 접근과 네트워크 구성도 별도로 검토해야 합니다.

암호화 옵션 생략

yaml
Resources:
  RedshiftCluster:
    Type: AWS::Redshift::Cluster
    Properties:
      DBName: !Sub ${DatabaseName}
      MasterUserPassword: !Ref MasterUserPassword
      MasterUsername: !Ref MasterUsername
      PubliclyAccessible: true
      ClusterType: single-node
      NodeType: !Ref RedshiftNodeType
      Port: 5439

현재 신규 생성에서는 기본 암호화가 적용됩니다. 이 옵션의 생략만으로 평문 저장을 뜻하지 않습니다.

암호화 요구 명시

yaml
Resources:
  RedshiftCluster:
    Type: AWS::Redshift::Cluster
    Properties:
      DBName: !Sub ${DatabaseName}
      MasterUserPassword: !Ref MasterUserPassword
      MasterUsername: !Ref MasterUsername
      PubliclyAccessible: true
      ClusterType: single-node
      NodeType: !Ref RedshiftNodeType
      Port: 5439
      Encrypted: true

암호화 요구를 명시합니다. 기존 클러스터 변경은 실제 상태와 지원되는 전환 절차를 확인한 뒤 수행하세요.

참조