Amazon DynamoDB의 암호화 모범 사례 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon DynamoDB의 암호화 모범 사례

Amazon DynamoDB는 빠르고 예측 가능하고 확장 가능한 성능을 제공하는 완전관리형 NoSQL 데이터베이스 서비스입니다. DynamoDB 저장 시 암호화는 내구성이 뛰어난 미디어에 데이터가 저장될 때마다 기본 키, 로컬 및 글로벌 보조 인덱스, 스트림, 전역 테이블, 백업, DynamoDB Accelerator(DAX) 클러스터 등의 데이터를 암호화된 테이블에서 보호합니다.

데이터 분류 요구 사항에 따라 서버측 또는 클라이언트측 암호화를 구현하여 데이터 기밀성과 무결성을 유지할 수 있습니다.

서버측 암호화의 경우 새 테이블을 생성할 때 AWS KMS keys 를 사용하여 테이블을 암호화할 수 있습니다. AWS 소유 키, AWS 관리형 키 또는 고객 관리형 키를 사용할 수 있습니다. 조직에서 키를 완전히 제어할 수 있으며 이 키 유형을 사용할 경우 테이블 수준 암호화 키, DynamoDB 테이블, 로컬 및 글로벌 보조 인덱스, 스트림이 모두 동일한 키로 암호화되므로 고객 관리형 키를 사용하는 것이 좋습니다. 이러한 키 유형에 대한 자세한 내용은 고객 키 및 AWS 키를 참조하세요.

참고

언제든지 AWS 소유 키, AWS 관리형 키 및 고객 관리형 키 간에 전환할 수 있습니다.

저장 데이터와 전송 중 데이터의 클라이언트측 암호화 및 엔드 투 엔드 보호를 위해 Amazon DynamoDB Encryption Client를 사용할 수 있습니다. 항목 속성 값의 기밀성을 보호하는 암호화 외에도 DynamoDB Encryption Client는 항목에 서명합니다. 이는 속성 추가 또는 삭제, 암호화된 값을 다른 값으로 대체를 포함하여 항목에 대한 무단 변경을 감지할 수 있도록 하여 무결성 보호를 제공합니다.

이 서비스에 대해 다음 암호화 모범 사례를 고려하세요.

  • 키 비활성화 또는 삭제 예약 권한을 해당 작업을 수행해야 하는 사용자로 제한합니다. 이러한 상태에서는 모든 사용자와 DynamoDB 서비스가 데이터를 암호화 또는 복호화하고 테이블에서 읽기 및 쓰기 작업을 수행할 수 없습니다.

  • DynamoDB는 기본적으로 HTTPS를 사용하여 전송 중 데이터를 암호화하지만 추가 보안 제어가 권장됩니다. 다음 옵션 중 하나를 사용할 수 있습니다.

    • AWS Site-to-Site VPN 암호화를 위해 IPsec을 사용한 연결.

    • AWS Direct Connect 프라이빗 연결을 설정하기 위한 연결입니다.

    • AWS Direct Connect IPsec 암호화 프라이빗 연결을 위한 AWS Site-to-Site VPN 연결과의 연결.

    • Virtual Private Cloud(VPC) 내에서만 DynamoDB에 대한 액세스가 필요한 경우 VPC 게이트웨이 엔드포인트를 사용하고 VPC의 리소스만 액세스하도록 허용할 수 있습니다. 이렇게 하면 트래픽이 퍼블릭 인터넷을 통과하지 못합니다.

  • VPC 엔드포인트를 사용하는 경우 엔드포인트와 연결된 엔드포인트 정책 및 IAM 정책을 권한 있는 사용자, 리소스 및 서비스로 제한합니다. 자세한 내용은 IAM 정책을 사용하여 액세스 제어엔드포인트 정책을 사용하여 VPC 엔드포인트에 대한 액세스 제어을 참조하세요.

  • 암호화 정책에 따라 암호화가 필요한 데이터에 대해 애플리케이션 수준에서 열 수준 데이터 암호화를 구현할 수 있습니다.

  • 클러스터를 설정할 때 캐시, 구성 데이터, 로그 파일의 데이터와 같은 저장 데이터를 암호화하도록 DAX 클러스터를 구성합니다. 기존 클러스터에서는 저장 시 암호화를 사용할 수 없습니다. 이 서버측 암호화는 기본 스토리지를 통한 무단 액세스로부터 데이터를 보호하는 데 도움이 됩니다. 유휴 시 DAX 암호화는 클러스터를 암호화하는 데 사용되는 단일 서비스 기본 키를 관리하기 위해 AWS KMS와 자동으로 통합됩니다. 암호화된 DAX 클러스터가 생성될 때 서비스 기본 키가 없는 경우는 AWS KMS 자동으로 새 AWS 관리형 키를 생성합니다. 자세한 내용은 DAX 저장 시 데이터를 참조하세요.

    참고

    고객 관리형 키는 DAX 클러스터와 함께 사용할 수 없습니다.

  • 클러스터를 설정할 때 전송 중 데이터를 암호화하도록 DAX 클러스터를 구성합니다. 기존 클러스터에서는 전송 중 암호화를 활성화할 수 없습니다. DAX는 TLS를 사용하여 애플리케이션과 클러스터 간의 요청과 응답을 암호화하고 클러스터의 x509 인증서를 사용하여 클러스터의 ID를 인증합니다. 자세한 내용은 전송 중 DAX 암호화를 참조하세요.

  • 에서 dax-encryption-enabled AWS 관리형 규칙을 AWS Config구현하여 DAX 클러스터의 암호화를 검증하고 유지합니다.