Azure Cosmos DB의 데이터 암호화

적용 대상: Nosql Mongodb 카산드라 그렘린 (미국) 테이블

"미사용 데이터 암호화"는 일반적으로 SSD(반도체 드라이브) 및 HDD(하드 디스크 드라이브)와 같은 비휘발성 스토리지 디바이스의 데이터 암호화를 참조하는 구입니다. Azure Cosmos DB는 해당 주 데이터베이스를 SSD에 저장합니다. 미디어 첨부 파일 및 백업은 일반적으로 HDD에서 백업되는 Azure Blob Storage에 저장됩니다. Azure Cosmos DB에 대한 미사용 암호화가 릴리스됨에 따라 모든 데이터베이스, 미디어 첨부 파일 및 백업이 암호화됩니다. 이제 데이터가 전송 중(네트워크를 통해) 및 미사용(비휘발성 스토리지)에서 암호화되어 엔드투엔드 암호화를 제공합니다.

PaaS(Platform as a Service)로 Azure Cosmos DB는 사용하기 쉽습니다. Azure Cosmos DB에 저장된 모든 사용자 데이터는 미사용 및 전송 시 암호화되므로 아무 작업도 수행할 필요가 없습니다. 즉, 미사용 암호화는 기본적으로 "켜기"입니다. 끄거나 켤 컨트롤이 없습니다. Azure Cosmos DB는 계정이 실행되는 모든 지역에서 AES-256 암호화를 사용합니다.

가용성 및 성능 SLA(서비스 수준 계약)를 계속 충족하는 동안 이 기능을 제공합니다. Azure Cosmos DB 계정에 저장된 데이터는 Microsoft에서 관리하는 키(서비스 관리형 키)로 자동으로 원활하게 암호화됩니다. 필요에 따라 고객 관리형 키 문서에 설명된 대로 고유한 키를 사용하여 두 번째 암호화 계층을 추가하도록 선택할 수 있습니다.

Azure Cosmos DB에 대한 미사용 암호화 구현

미사용 암호화는 보안 키 스토리지 시스템, 암호화된 네트워크 및 암호화 API를 비롯한 여러 보안 기술을 사용하여 구현됩니다. 데이터를 해독하고 처리하는 시스템은 키를 관리하는 시스템과 통신해야 합니다. 다이어그램은 암호화된 데이터의 스토리지와 키 관리를 구분하는 방법을 보여 줍니다.

Diagram that shows data storage and key management design.

사용자 요청의 기본 흐름은 다음과 같습니다.

  • 사용자 데이터베이스 계정이 준비되고 스토리지 키는 관리 서비스 리소스 공급자에 대한 요청을 통해 검색됩니다.
  • 사용자는 HTTPS/보안 전송을 통해 Azure Cosmos DB에 대한 연결을 만듭니다. 만듭니다(SDK가 세부 정보를 추상화함).
  • 사용자는 이전에 만든 보안 연결을 통해 저장할 JSON 문서를 보냅니다.
  • 사용자가 인덱싱을 해제하지 않으면 JSON 문서가 인덱싱됩니다.
  • JSON 문서와 인덱스 데이터는 모두 보안 스토리지에 기록됩니다.
  • 정기적으로 데이터는 보안 스토리지에서 읽고 Azure Encrypted Blob Store에 백업됩니다.

자주 묻는 질문

암호화에 대한 일반적인 질문에 대한 답변을 찾습니다.

Storage 서비스 암호화를 사용하는 경우 Azure Storage 비용은 얼마나 더 들나요?

추가 비용은 없습니다.

암호화 키는 누가 관리하나요?

Azure Cosmos DB 계정에 저장된 데이터는 서비스 관리형 키를 사용하여 Microsoft에서 관리하는 키로 자동으로 원활하게 암호화됩니다. 필요에 따라 고객 관리형 키를 사용하여 관리하는 키로 두 번째 암호화 계층을 추가하도록 선택할 수 있습니다.

암호화 키는 얼마나 자주 회전되나요?

Microsoft에는 Azure Cosmos DB가 따르는 암호화 키 회전에 대한 일련의 내부 지침이 있습니다. 특정 지침을 게시하지는 않습니다. Microsoft는 내부 지침의 하위 집합으로 간주되고 개발자에게 유용한 모범 사례가 있는 보안 개발 수명 주기를 게시합니다.

나만의 암호화 키를 사용할 수 있나요?

예, 이 기능은 새 Azure Cosmos DB 계정에 사용할 수 있습니다. 계정을 만들 때 배포해야 합니다. 자세한 내용은 고객 관리형 키 문서를 참조하세요.

Warning

다음 필드 이름은 고객 관리형 키를 사용하여 계정의 Cassandra API 테이블에 예약됩니다.

  • id
  • ttl
  • _ts
  • _etag
  • _rid
  • _self
  • _attachments
  • _epk

고객 관리형 키를 사용하도록 설정하지 않으면 필드 __sys_ 이름만 예약됩니다.

암호화가 켜져 있는 지역은 무엇인가요?

모든 Azure Cosmos DB 지역에서 모든 사용자 데이터에 대해 암호화가 켜져 있습니다.

암호화가 성능 대기 시간 및 처리량 SLA에 영향을 주나요?

이제 모든 기존 계정과 새 계정에 대해 미사용 암호화가 사용되므로 성능 SLA에는 영향을 미치거나 변경되지 않습니다. 최신 보장을 보려면 Azure Cosmos DB용 SLA를 참조 하세요.

로컬 에뮬레이터가 미사용 암호화를 지원하나요?

에뮬레이터는 독립 실행형 개발/테스트 도구이며 관리되는 Azure Cosmos DB 서비스에서 사용하는 키 관리 서비스를 사용하지 않습니다. 중요한 에뮬레이터 테스트 데이터를 저장하는 드라이브에서 BitLocker를 사용하도록 설정하는 것이 좋습니다. 에뮬레이터는 기본 데이터 디렉터리를 변경하고 잘 알려진 위치를 사용할 수 있습니다.

다음 단계

  • 사용자 고유의 키를 사용하여 두 번째 암호화 계층을 추가하는 방법에 대한 자세한 내용은 고객 관리형 키 문서를 참조하세요.
  • Azure Cosmos DB 보안 및 최신 개선 사항에 대한 개요는 Azure Cosmos DB 데이터베이스 보안을 참조하세요.
  • Microsoft 인증에 대한 자세한 내용은 Azure 보안 센터를 참조하세요.