이 페이지에서는 Queryable Encryption 및 클라이언트 측 필드 레벨 암호화 와 호환되는 MongoDB Server 에디션 및 운전자 버전에 대해 설명하여 배포서버 각 사용 중 암호화 기능 지원하는지 여부를 확인하는 데 도움이 됩니다.
➤ 언어 선택 드롭다운 메뉴를 사용하여 운전자 선택하고 Queryable Encryption 및 클라이언트 측 필드 레벨 암호화 와의 호환성을 확인합니다.
Queryable Encryption 호환성
다음 섹션에서는 MongoDB Server 및 선택한 운전자 에서 Queryable Encryption 사용하기 위한 호환성 요구 사항에 대해 설명합니다.
MongoDB 호환성
Queryable Encryption MongoDB Server 7.0 이상 복제본 세트 또는 샤딩된 클러스터 에서 사용할 수 있지만 독립형 인스턴스 사용할 수 없습니다. 다음 표는 어떤 MongoDB Server 제품이 어떤 Queryable Encryption 메커니즘을 지원 보여줍니다.
제품 이름 | 최소 버전 | 자동 암호화로 Queryable Encryption 지원 | 명시적 암호화를 통한 Queryable Encryption 지원 |
|---|---|---|---|
MongoDB Atlas [1] | 7.0 | 예 | 예 |
MongoDB Enterprise Advanced | 7.0 | 예 | 예 |
MongoDB Community 에디션 | 7.0 | No | 예 |
| [1] | Queryable Encryption 은 MongoDB Atlas 와 호환되지만 MongoDB Atlas Search와는 호환되지 않습니다. |
드라이버 호환성
드라이버 | 필수 버전 | Dependencies |
|---|---|---|
1.24.0 이상 | libmongocrypt 버전 1.8.0 이상 | |
3.8.0 이상 | libmongocrypt 버전 1.8.0 이상 | |
2.20.0 이상 |
| |
1.12 이상 | libmongocrypt 버전 1.8.0 이상 | |
4.10.0 이상 | mongodb-crypt 버전 1.8.0 이상 | |
4.10.0 이상 | mongodb-crypt 버전 1.8.0 이상 | |
5.5.0 이상 | mongodb-client-encryption 28버전..0 이상. Node.js 운전자 버전 6.0 이상을 사용하는 경우 | |
1.16 이상 | (None) | |
4.4 이상 | pymongocrypt 버전 1.6 이상 | |
2.19 이상 | libmongocrypt-helper 버전 1.8.0 이상 | |
2.4.0 이상 | libmongocrypt 버전 1.8.0 이상 | |
4.10.0 이상 | mongodb-crypt 버전 1.8.0 이상 |
중요
자동 암호화 지원
자동 암호화 와 함께 Queryable Encryption 사용하려면 쿼리 분석 구성 요소를 설치해야 합니다. 자세한 학습은 쿼리 분석 구성 요소 설치 및 구성을 참조하세요.
MongoDB 지원 제한 사항
컬렉션에서 Queryable Encryption를 사용하도록 설정하면 일부 진단 명령에서 필드가 삭제되고 쿼리 로그에서 일부 작업이 생략됩니다. 이로 인해 MongoDB 지원 엔지니어가 특히 쿼리 성능을 분석할 때 사용할 수 있는 데이터가 제한됩니다. 암호화된 컬렉션에 대한 작업의 영향을 측정하려면 타사 애플리케이션 성능 모니터링 도구를 사용하여 지표를 수집하십시오.
클라이언트 측 필드 레벨 암호화 호환성
다음 섹션에서는 MongoDB Server 및 선택한 운전자 에서 CSFLE(클라이언트 측 필드 레벨 암호화 )를 사용하기 위한 호환성 요구 사항에 대해 설명합니다.
MongoDB 호환성
복제본 세트 또는 샤딩된 클러스터 에서는 클라이언트 측 필드 레벨 암호화 사용할 수 있지만 독립형 인스턴스 에서는 사용할 수 없습니다. 다음 표는 어떤 MongoDB Server 제품이 어떤 클라이언트 필드 레벨 암호화 메커니즘을 지원 보여줍니다.
제품 이름 | 최소 버전 | 자동 암호화로 CSFLE 지원 | 명시적 암호화로 CSFLE 지원 |
|---|---|---|---|
MongoDB Atlas | 예 | 예 | |
MongoDB Enterprise Advanced | 4.2 | 예 | 예 |
MongoDB Community 에디션 | 4.2 | No | 예 |
드라이버 호환성
클라이언트 측 필드 레벨 암호화 및 키 순환 API C 운전자와 함께 사용하려면 운전자 버전 1.17.5 이상을 설치합니다.
클라이언트 측 필드 레벨 암호화 및 키 순환 API를 C++ 운전자와 함께 사용하려면 운전자 버전 3.6.0 이상을 설치합니다.
.NET/ C# 운전자 와 함께 클라이언트 측 필드 레벨 암호화 사용하려면 운전자 버전 2.10.0 이상을 설치합니다. 키 순환 API 사용하려면 운전자 버전 2.17.1 이상을 설치합니다.
운전자 버전 3.0 이상을 사용하는 경우:
MongoDB 설치합니다. NuGet의 드라이버.Encryption 패키지 . 이 패키지 자동 암호화 활성화합니다.
애플리케이션 이 Linux 에서 실행되는 경우libmongocrypt를 수동으로 설치합니다. 그런
LIBMONGOCRYPT_PATH다음 환경 변수를libmongocrypt파일 의 절대 경로로 설정하다 .애플리케이션 64비트 Linux 에서 실행되고 운전자 버전 3.4.3 이하를 사용하는 경우
.csproj파일 에 다음 XML을 추가합니다.<MongoDriverEncryptionVersion>을(를) 설치된 버전의MongoDB.Driver.Encryption패키지 로 바꿉니다.<PropertyGroup> <!-- replace the version here with your package version --> <MongoDriverEncryptionVersion>3.4.2</MongoDriverEncryptionVersion> <MongoDriverEncryptionPath>$(NuGetPackageRoot)mongodb.driver.encryption\$(MongoDriverEncryptionVersion)</MongoDriverEncryptionPath> </PropertyGroup> <PropertyGroup> <!-- Suppresses the duplicate file error --> <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles> </PropertyGroup> <!-- Ensures the correct library after build or publish --> <Target Name="EnsureCorrectMongoEncryption" AfterTargets="Build;Publish" Condition="'$(RuntimeIdentifier)' != ''"> <!-- Determine paths based on current operation --> <PropertyGroup> <_TargetDir Condition="Exists('$(PublishDir)')">$(PublishDir)</_TargetDir> <_TargetDir Condition="'$(_TargetDir)' == ''">$(OutputPath)</_TargetDir> </PropertyGroup> <!-- Copy the correct library based on runtime identifier (RID) --> <ItemGroup> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/x64/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-x64'" /> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/arm64/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-arm64'" /> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/alpine/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-musl-arm64'" /> </ItemGroup> <!-- Copy with overwrite --> <Copy SourceFiles="@(_CorrectMongoLib)" DestinationFolder="$(_TargetDir)" Condition="'@(_CorrectMongoLib)' != ''" OverwriteReadOnlyFiles="true" /> <Message Text="Fixed MongoDB encryption library for $(RuntimeIdentifier)" Condition="'@(_CorrectMongoLib)' != ''" /> </Target>
고 (Go) 운전자 와 함께 클라이언트 측 필드 레벨 암호화 1.2 사용하려면 운전자 버전 이상을 설치합니다. 키 순환 API 사용하려면 libmongocrypt 버전 1.5.2 이상을 설치합니다.
Java Reactive Streams 운전자 와 함께 클라이언트 측 필드 레벨 암호화 사용하려면 운전자 버전 이상을 1.12.0 설치합니다. 키 순환 API 사용하려면 mongodb-crypt 버전 1.7.3 이상을 설치합니다.
Java Sync 또는 Java Reactive Streams 운전자 와 함께 클라이언트 측 필드 레벨 암호화 3.10.0 사용하려면 운전자 버전 이상을 설치합니다. 키 순환 API 사용하려면 mongodb-crypt 버전 1을(를) 설치합니다.7.3 또는 그 이후 버전.
Node.js 운전자 와 함께 클라이언트 측 필드 레벨 암호화 3.4.0 사용하려면 운전자 버전 이상을 설치합니다. 키 순환 API 사용하려면 mongodb-client-encryption 버전 2.2.0 을(를) 설치합니다. - 2.x.
Node.js 운전자 버전 6.0 이상을 사용하는 경우 mongodb-client-encryption 버전 6.0 이상도 사용해야 합니다.
클라이언트 측 필드 레벨 암호화 및 키 순환 API를 PHP 운전자와 함께 사용하려면 운전자 버전 1.6.0 이상을 설치합니다.
PyMongo 에서 클라이언트 측 필드 레벨 암호화 사용하려면 운전자 버전 3.10.0 이상을 설치합니다. 키 순환 API 사용하려면 pymongocrypt 버전 1.3.1 을(를) 설치합니다. 또는 그 이후 버전.
클라이언트 측 필드 레벨 암호화 및 키 순환 API를 Ruby 운전자와 함께 사용하려면 운전자 버전 2.12.1 이상을 설치하세요.
Rust 운전자 와 함께 클라이언트 측 필드 레벨 암호화 2.4.0 사용하려면 운전자 버전 이상을 설치합니다. 키 순환 API 사용하려면 libmongocrypt 버전 1.8.0 이상을 설치합니다.
스칼라 운전자 와 함께 클라이언트 측 필드 레벨 암호화 및 키 순환 API 사용하려면 운전자 버전 이상을 2.7.0 설치합니다.
키 순환 API 에 대해 자세히 학습하려면 암호화 키 순환 및 다시 래핑을 참조하세요.
중요
자동 암호화 지원
자동 암호화 와 함께 클라이언트 측 필드 레벨 암호화 사용하려면 쿼리 분석 구성 요소를 설치해야 합니다. 자세한 학습 은 CSFLE 쿼리 분석 구성 요소 설치 및 구성을 참조하세요.