本页介绍了与Queryable Encryption和客户端字段级加密兼容的MongoDB Server版本和驱动程序版本,以帮助您确定您的部署是否支持每个正在使用的加密功能。
➤ 使用选择语言下拉菜单选择您的驱动程序,并查看其与Queryable Encryption和客户端字段级加密的兼容性。
可查询加密兼容性
以下部分描述了将Queryable Encryption与MongoDB Server和所选驱动程序一起使用的兼容性要求。
MongoDB 兼容性
您可以在MongoDB Server 7.0 或更高版本的副本集或分片集群上使用Queryable Encryption ,但不能在独立运行的实例使用。下表显示了MongoDB Server产品支持的Queryable Encryption机制:
产品名称 | 最低版本 | 支持具有自动加密功能的 Queryable Encryption | 支持使用显式加密进行 Queryable Encryption |
|---|---|---|---|
MongoDB Atlas [ 1 ] | 7.0 | 是 | 是 |
MongoDB Enterprise Advanced | 7.0 | 是 | 是 |
MongoDB Community Edition | 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 或更高版本。 如果您使用的是 6.0 或更高版本的 Node.js驾驶员,则还必须使用 | |
1.16或更高版本 | (无) | |
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或更高版本 |
MongoDB 支持限制
在集合上启用 Queryable Encryption 会导致某些诊断命令中的字段被脱敏,并且查询日志中会省略一些操作。这限制了 MongoDB 的支持工程师获取可用的数据,特别是在分析查询性能时。要衡量操作对加密集合的影响,可使用第三方应用程序性能监控工具来收集指标。
客户端字段级加密兼容性
以下部分描述了将客户端字段级加密 (CSFLE) 与 MongoDB Server 和所选驱动程序结合使用的兼容性要求。
MongoDB 兼容性
您可以在副本集或分片集群上使用客户端字段级加密,但不能在独立运行实例使用。下表显示了哪些MongoDB Server产品支持哪些客户端字段级加密机制:
产品名称 | 最低版本 | 支持具有自动加密功能的 CSFLE | 支持具有显式加密的 CSFLE |
|---|---|---|---|
MongoDB Atlas | 是 | 是 | |
MongoDB Enterprise Advanced | 4.2 | 是 | 是 |
MongoDB Community Edition | 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 或更早版本的驾驶员程序,请将以下 XML 添加到
.csproj文件中。将
<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 同步或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。
如果您使用的是 6.0 或更高版本的 Node.js 驱动程序,则还必须使用 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 与 Scala 驱动程序一起使用,请安装驱动程序版本 2.7.0 或更高版本。
要学习;了解有关密钥轮换API 的更多信息,请参阅轮换和重新包装加密密钥。