문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ /

제한 사항

이 페이지의 내용

  • 읽기 및 쓰기 작업 지원
  • 조회수
  • 데이터 정렬
  • 고유 인덱스
  • 샤드 키
  • 읽기/쓰기 쿼리 지원

mongod 는 암호화된 BinData }만 저장하고 BinData 값에 대해 암호화된 필드를 지정하는 애그리게이션 표현식 또는 쿼리 연산자를 적용합니다. 표현식 또는 연산자가 BinData 필드를 지원할 수 있지만, 해독된 값에 대해 동일한 표현식 또는 연산자를 실행하는 것과 비교할 때 결과 값이 부정확하거나 예기치 않을 수 있습니다. 표현식 또는 연산자가 BinData 값을 지원하지 않으면 mongod 에서 오류가 발생합니다.

예를 들어, 결정론적으로 암호화된 정수 Salary 을 생각해 보세요. 쿼리는 Salary100000 보다 큰 문서를 필터링합니다. 애플리케이션이 쿼리를 실행하기 전에 결정론적 암호화를 사용하여 쿼리 값을 명시적으로(수동으로) 암호화합니다. mongod100000암호화된 BinData 값을 각 문서에 저장된 암호화된 BinData 값과 비교합니다. 작업이 성공적으로 반환되는 동안 BinData 값을 비교하면 해독된 정수 값을 비교한 결과와 다른 결과가 반환될 수 있습니다.

자동 클라이언트 사이드 필드 수준 암호화는 암호화된 필드에 대해 실행될 때 부정확하거나 예기치 않은 결과를 반환하는 읽기 또는 쓰기 작업을 거부합니다. 전체 문서 는 자동 필드 레벨 암호화를 통한 읽기/쓰기 지원을 참조하세요. 명시적(수동) 암호화를 수행하는 애플리케이션은 암호화된 필드에 대해 읽기/쓰기 작업을 실행하기 위한 지침으로 링크된 페이지를 참조할 수 있습니다.

클라이언트 사이드 필드 수준 암호화 값이 포함된 컬렉션의 에 대한 쿼리는 기본 뷰 집계 파이프라인 또는 쿼리가 암호화된 필드를 참조하는 경우 예기치 않거나 잘못된 결과를 반환할 수 있습니다. 클라이언트 사이드 필드 수준에서 암호화된 값이 포함된 컬렉션에 뷰를 만드는 경우 예기치 않거나 잘못된 결과가 발생할 위험을 줄이기 위해 암호화된 필드에서 작업하지 않도록 합니다.

동안 4.2+ 자동 클라이언트 사이드 필드 수준 암호화를 위해 구성된 호환 드라이버에 지원되지 않는 읽기 및 쓰기 작업에 대한 유효성 검사 가 있는 경우, 기본 지원 라이브러리는 뷰 카탈로그를 인트로스펙션하여 지정된 collection을 뷰로 식별할 수 없습니다. 따라서 애플리케이션은 자동 필드 수준 암호화 유효성 검사에 의존하여 암호화된 필드가 있는 collection의 뷰에 대해 지원되지 않는 쿼리를 방지할 수 없습니다.

암호화된 값이 포함된 collection에 대한 뷰를 쿼리하기 위해 명시적(수동) 암호화를 사용하는 애플리케이션의 경우, 암호화된 필드에 대해 실행될 때 정상적인 동작 이 알려진 쿼리 연산자 만을 사용하여 쿼리를 구성하는 것이 좋습니다.

클라이언트 사이드 필드 수준 암호화는 사용자 지정 데이터 정렬 또는 컬렉션 기본 데이터 정렬 을 따르지 않습니다. 필드 수준 암호화는 필드 값을 숨기고 정상적인 데이터 정렬 동작을 방지합니다. 암호화된 필드에 대한 데이터 정렬에 민감한 쿼리는 예기치 않거나 잘못된 결과를 반환할 수 있습니다.

동안 4.2+ 자동 클라이언트 사이드 필드 수준 암호화를 위해 구성된 호환 드라이버에 지원되지 않는 읽기 및 쓰기 작업에 대한 유효성 검사 가 있는 경우, 기본 지원 라이브러리는 collection 카탈로그를 자체 검사하여 기본 데이터 정렬을 식별할 수 없습니다. 따라서 애플리케이션은 자동 필드 수준 암호화 유효성 검사에 의존하여 데이터 정렬 기본값으로 암호화된 필드에 대한 쿼리를 방지할 수 없습니다.

고유 인덱스 인덱스 키가 무작위로 암호화된 필드를 지정하는 경우 고유성을 보장 할 수 없습니다 .

무작위 알고리즘을 사용하여 암호화된 필드는 특정 입력이 주어지면 항상 다른 암호화된 값을 생성합니다. 서버는 해독된 값 자체가 고유하지 않더라도 암호화된 각 값을 고유한 것으로 간주합니다. 따라서 컬렉션에는 인덱스 적용 고유 제약 조건이 있는 필드에 대해 해독된 값이 중복된 여러 문서가 포함될 수 있습니다.

자동 클라이언트 사이드 필드 수준 암호화를 위해 구성된 4.2+ 호환 드라이버에는 지원되지 않는 읽기 및 쓰기 작업에 대한 유효성 검사 가 있지만, 기본 지원 라이브러리는 인덱스 카탈로그를 검사하여 지정된 필드를 고유한 것으로 식별할 수 없습니다. 따라서 애플리케이션은 무작위로 암호화된 필드에 대한 고유 제약 조건 위반을 방지하기 위해 자동 필드 수준 암호화 유효성 검사에 의존할 수 없습니다.

암호화된 필드에 샤드 키 를 지정 하거나 기존 샤드 키의 필드를 암호화하면 예기치 않거나 잘못된 샤딩 동작이 발생할 수 있습니다.

동안 4.2+ 자동 클라이언트 사이드 필드 수준 암호화를 위해 구성된 호환 드라이버에 지원되지 않는 읽기 및 쓰기 작업에 대한 유효성 검사 가 있는 경우, 기본 지원 라이브러리는 샤딩 카탈로그 메타데이터를 인트로스펙션하여 샤드 키 필드를 식별할 수 없습니다. 따라서 애플리케이션은 샤드 키 필드의 암호화를 방지하기 위해 자동 필드 수준 암호화 유효성 검사에 의존할 수 없습니다.

자동 클라이언트 사이드 필드 수준 암호화는 명령, 쿼리 연산자, 업데이트 연산자, 애그리게이션 단계 및 애그리게이션 표현식의 하위 집합을 지원합니다. 전체 설명서 는 자동 필드 레벨 암호화를 통한 읽기/쓰기 지원을 참조하세요.

돌아가기

데이터 암호화 키 관리

다음

Auditing