설명
DocumentDB에서 저장소 암호화를 활성화하고 kms_key_id를 생략하면 서비스의 기본 AWS 관리형 KMS 키를 사용합니다. 키 식별자의 생략이 KMS 암호화의 부재를 뜻하지는 않습니다.
조직이 독자적인 키 정책과 수명주기를 통제해야 한다면 고객 관리형 키를 지정하세요. 어떤 키를 쓰든 필요한 권한과 실제 암호화 상태를 확인해야 합니다.
잠재적 영향
기본 키가 조직의 키 관리 요구사항을 충족하지 못할 수 있습니다. 필요한 키 권한을 제거하거나 키를 사용할 수 없게 만들면 데이터 접근과 복구가 중단될 수 있습니다.
해결 방법
- 새 클러스터에서
storage_encrypted = true와 필요한 고객 관리형kms_key_id를 함께 지정하세요. 조직 기준을 충족하면 기본 키를 사용할 수도 있습니다. - 같은 리전의 사용 가능한 키를 선택하고 키 권한을 필요한 범위로 제한하세요.
- 기존 클러스터의 키는 직접 바꿀 수 없습니다. 필요한 키로 암호화한 스냅샷 복사본을 새 클러스터로 복원하는 절차와 Terraform 교체 계획을 검토하세요.
예시
생성 설정의 발췌입니다. 비밀번호는 안전하게 공급하고 Terraform 상태를 보호하세요. 인스턴스·네트워크와 백업 정책은 별도로 구성하며, 예시의 skip_final_snapshot = true도 운영 기준에 맞게 검토하세요.
기본 AWS 관리형 키
hcl
resource "aws_docdb_cluster" "docdb_cluster" {
cluster_identifier = "my-docdb-cluster"
engine = "docdb"
master_username = "foo"
master_password = var.docdb_password
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
skip_final_snapshot = true
storage_encrypted = true
}
암호화를 켜고 기본 KMS 키를 사용합니다. 별도의 키 통제가 필요한지 확인하세요.
고객 관리형 키 지정
hcl
resource "aws_docdb_cluster" "docdb_cluster" {
cluster_identifier = "my-docdb-cluster"
engine = "docdb"
master_username = "foo"
master_password = var.docdb_password
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
skip_final_snapshot = true
storage_encrypted = true
kms_key_id = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
예시 ARN을 실제 승인된 키 ARN으로 바꾸세요. 기존 클러스터가 이 설정만으로 새 키로 이전되는 것은 아닙니다.