저장 데이터 암호화가 없는 AWS Neptune Cluster

Neptune 저장 데이터와 백업을 암호화하고 기존 데이터의 이전·복구를 준비하세요.

설명

그래프 데이터베이스에는 관계 데이터, 사용자 연결 정보, 업무 데이터가 저장될 수 있어 저장 암호화가 필요합니다. Neptune 암호화는 클러스터 스토리지, 로그, 백업과 스냅샷을 보호합니다.

실제로 암호화되지 않은 클러스터는 이 저장 데이터 보호가 부족합니다. IAM 데이터베이스 인증과 네트워크·전송 구간 보호는 저장 암호화와 별도로 관리해야 합니다.

잠재적 영향

비암호화 저장 데이터나 백업을 권한 없는 주체가 확보하면 민감한 그래프 데이터가 노출될 수 있습니다. 데이터베이스 암호화 요구사항도 충족하지 못할 수 있습니다. 사용 중인 KMS 키가 사용 불가능해지면 데이터 접근과 복구에도 영향을 줄 수 있습니다.

해결 방법

  • 새 클러스터에 storage_encrypted = true를 명시하고 조직에 맞는 KMS 키와 권한을 확인하세요.
  • 기존 비암호화 클러스터의 설정만 바꾸어 데이터를 암호화할 수는 없습니다. 비암호화 스냅샷을 새 클러스터로 복원할 때 KMS 키를 지정해 암호화하는 이전 절차를 계획하세요.
  • Terraform 교체 여부, 데이터 일관성, 애플리케이션 연결과 백업 복구를 검증하고 원본 데이터와 필요한 키를 보존하세요.

예시

새 클러스터 설정의 발췌입니다. 필요한 인스턴스와 네트워크 설정은 별도로 준비하세요.

변경 전

hcl
resource "aws_neptune_cluster" "neptune_cluster" {
  cluster_identifier                  = "neptune-cluster-demo"
  engine                              = "neptune"
  iam_database_authentication_enabled = true
  storage_encrypted                   = false
}

IAM 인증을 켜더라도 저장 암호화를 비활성화한 설정을 대신하지는 않습니다.

변경 후

hcl
resource "aws_neptune_cluster" "neptune_cluster" {
  cluster_identifier                  = "neptune-cluster-demo"
  engine                              = "neptune"
  iam_database_authentication_enabled = true
  storage_encrypted                   = true
}

새 클러스터에 저장 암호화를 요청합니다. 기존 데이터의 이전 절차를 대신하는 예시는 아닙니다.

참조