설명
새 RDS 또는 Aurora 데이터베이스를 암호화하면서 KmsKeyId를 생략하면 기본 AWS 관리형 KMS 키를 사용합니다. 기본 키도 데이터를 암호화하므로 고객 관리형 키를 지정하지 않았다는 이유만으로 평문 저장이라고 판단할 수는 없습니다.
조직이 키 정책, 수명 주기 또는 서비스별 키 분리를 직접 통제해야 한다면 고객 관리형 키가 필요할 수 있습니다.
잠재적 영향
- 기본 키 사용이 조직의 별도 키 관리나 권한 분리 요구사항에 맞지 않을 수 있습니다.
- 키를 변경할 때 서비스별 이전 제약을 고려하지 않으면 데이터 접근이나 복구가 중단될 수 있습니다.
해결 방법
- 고객 관리형 키가 필요한 리소스에는
StorageEncrypted: true와 승인된KmsKeyId를 지정하세요. - 해당 서비스와 운영 주체에 필요한 키 권한을 설정하고 키 비활성화·삭제를 통제하세요.
- 기존 암호화 RDS·Aurora의 키는 템플릿 값만 바꿔 교체할 수 없습니다. 지원되는 스냅샷 복사·복원 절차와 애플리케이션 전환을 계획하세요.
예시
새 Aurora MySQL 클러스터의 암호화 설정 일부입니다. DatabaseKeyArn은 같은 리전의 승인된 고객 관리형 키 ARN이며, 인증 정보와 인스턴스·네트워크 구성은 별도로 준비하세요.
변경 전
yaml
Resources:
AppDbCluster:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora-mysql
StorageEncrypted: true
저장 데이터는 암호화되지만 기본 AWS 관리형 키를 사용합니다. 조직의 키 관리 요구사항에 따라 이 구성이 적절할 수도 있습니다.
변경 후
yaml
Resources:
AppDbCluster:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora-mysql
StorageEncrypted: true
KmsKeyId: !Ref DatabaseKeyArn
새 클러스터에 사용할 고객 관리형 키를 명시합니다. 기존 클러스터의 데이터를 자동으로 다른 키로 이전하는 예제는 아닙니다.