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