클라이언트측 및 서버 측 암호화 - AWS 데이터베이스 암호화 SDK

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

클라이언트측 및 서버 측 암호화

클라이언트 측 암호화 라이브러리는 데이터베이스 암호화로 이름이 변경되었습니다. AWS SDK 이 개발자 안내서는 여전히 DynamoDB Encryption Client에 대한 정보를 제공합니다.

SDKDynamoDB용 AWS 데이터베이스 암호화는 테이블 데이터를 데이터베이스로 보내기 전에 암호화하는 클라이언트 측 암호화를 지원합니다. 하지만 DynamoDB는 테이블을 디스크에 보관할 때 테이블을 사용자 모르게 암호화하고 사용자가 테이블에 액세스할 때 복호화하는 서버 측 저장 데이터 암호화 기능을 제공합니다.

선택하는 도구는 데이터의 민감도와 애플리케이션의 보안 요구 사항에 따라 달라집니다. SDKDynamoDB용 AWS 데이터베이스 암호화와 저장 중 암호화를 모두 사용할 수 있습니다. 암호화 및 서명된 항목을 DynamoDB로 전송하는 경우 DynamoDB는 항목을 보호 중인 상태로 인식하지 못하며, 이진 속성 값을 가진 일반적인 테이블 항목만 탐지합니다.

서버 측 저장 데이터 암호화

DynamoDB는 테이블을 디스크에 보관할 때 DynamoDB에서 테이블을 사용자 모르게 암호화하고 사용자가 테이블 데이터에 액세스할 때 복호화하는 저장 중 암호화, 서버 측 암호화 기능을 지원합니다.

를 사용하여 DynamoDB와 상호 작용하는 경우 기본적으로 데이터는 연결을 통한 HTTPS 전송 중에 암호화되고 DynamoDB 엔드포인트에서 복호화된 다음 DynamoDB에 저장되기 전에 다시 암호화됩니다. AWS SDK

  • 암호화 기본 제공. DynamoDB는 모든 테이블을 작성할 때 투명하게 암호화하고 복호화합니다. 저장 데이터 암호화를 활성화하거나 비활성화할 수 없습니다.

  • DynamoDB는 암호화 키를 만들고 관리합니다. 각 테이블의 고유 키는 AWS Key Management Service(AWS KMS)을 암호화되지 않은 상태로 남기지 않는 AWS KMS key로 보호됩니다. 기본적으로 DynamoDB는 DynamoDB 서비스 계정의 AWS 소유 키를 사용하지만, 계정에서 AWS 관리형 키 또는 고객 관리 키를 선택하여 일부 또는 모든 테이블을 보호할 수 있습니다.

  • 디스크에 대한 모든 테이블 데이터는 암호화됩니다. 암호화된 테이블이 디스크에 저장될 때 는 프라이머리 키와 로컬 및 글로벌 보조 인덱스를 포함하여 모든 테이블 데이터를 암호화합니다. 테이블에 정렬 키가 있는 경우 범위 경계를 표시하는 정렬 키 중 일부가 테이블 메타데이터에 일반 텍스트 형태로 저장됩니다.

  • 테이블과 관련된 객체도 암호화됩니다. 저장 데이터 암호화는 DynamoDB 스트림, 전역 테이블, 백업이 내구성 있는 미디어에 기록될 때마다 보호합니다.

  • 항목에 액세스하면 해당 항목의 암호가 복호화됩니다. 테이블에 액세스할 때 DynamoDB는 대상 항목을 포함하는 테이블의 부분을 복호화하고 일반 텍스트 항목을 사용자에게 반환합니다.

AWS SDKDynamoDB를 위한 데이터베이스 암호화

클라이언트 측 암호화는 원본에서 DynamoDB 스토리지에 이르기까지 전송 중인 데이터와 저장 중인 데이터를 end-to-end 보호합니다. 일반 텍스트 데이터는 다음을 포함한 제3자에게 절대 노출되지 않습니다. AWS새 DynamoDB 테이블에 DynamoDB AWS 데이터베이스 암호화를 SDK 사용하거나 기존 Amazon DynamoDB 테이블을 버전 3으로 마이그레이션할 수 있습니다. DynamoDB용 자바 클라이언트측 암호화 라이브러리의 x.

  • 데이터가 전송 및 저장 시 보호되며, 를 포함한 어떤 제3자에게도 절대 노출되지 않습니다. AWS

  • 테이블 항목에 서명할 수 있습니다. DynamoDB AWS 데이터베이스 암호화에 SDK 지시하여 기본 키 속성을 포함하여 테이블 항목 전체 또는 일부에 대한 서명을 계산할 수 있습니다. 이 서명을 사용하면 속성 추가 또는 삭제, 속성 값 바꾸기 등 항목에 대한 무단 변경 내용을 전체적으로 감지할 수 있습니다.

  • 키링을 선택하여 데이터 보호 방법을 결정합니다. 키링에 따라 데이터 키, 궁극적으로 데이터를 보호하는 래핑 키가 결정됩니다. 작업에 가장 적합한 가장 안전한 래핑 키를 사용하세요.

  • DynamoDB의 AWS 데이터베이스 암호화는 SDK 전체 테이블을 암호화하지 않습니다. 항목에서 암호화할 속성을 선택할 수 있습니다. DynamoDB의 AWS 데이터베이스 암호화는 SDK 전체 항목을 암호화하지 않습니다. 속성 이름 또는 프라이머리 키(파티션 키 및 정렬 키) 속성의 이름 또는 값은 암호화하지 않습니다.

AWS Encryption SDK

DynamoDB에 저장하는 데이터를 암호화하는 경우 DynamoDB용 AWS 데이터베이스 암호화를 사용하는 것이 좋습니다. SDK

AWS Encryption SDK는 일반 데이터를 암호화 및 복호화할 수 있도록 도와주는 클라이언트측 암호화 라이브러리입니다. 모든 유형의 데이터를 보호할 수 있지만 데이터베이스 레코드와 같은 정형 데이터에는 사용할 수 있도록 설계되지 않았습니다. SDKDynamoDB용 AWS 데이터베이스 암호화와 달리 는 항목 수준의 무결성 검사를 제공할 수 없으며 속성을 인식하거나 기본 키의 암호화를 방지하는 로직이 없습니다. AWS Encryption SDK

를 사용하여 테이블의 요소를 AWS Encryption SDK 암호화하는 경우 SDK DynamoDB용 AWS 데이터베이스 암호화와 호환되지 않는다는 점을 기억하십시오. 한 라이브러리로는 암호화하고 다른 라이브러리로는 복호화할 수 없습니다.