Docs 菜单
Docs 主页
/ /

兼容性

本页介绍了与Queryable Encryption和客户端字段级加密兼容的MongoDB Server版本和驱动程序版本,以帮助您确定您的部署是否支持每个正在使用的加密功能。

➤ 使用选择语言下拉菜单选择您的驱动程序,并查看其与Queryable Encryption和客户端字段级加密的兼容性。

以下部分描述了将Queryable Encryption与MongoDB Server和所选驱动程序一起使用的兼容性要求。

您可以在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驾驶员,则还必须使用 mongodb-client-encryption 6.0 或更高版本。

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或更高版本

重要

自动加密支持

要将Queryable Encryption与自动加密结合使用,必须安装查询分析组件。要学习;了解更多信息,请参阅安装和配置查询分析组件。

在集合上启用 Queryable Encryption 会导致某些诊断命令中的字段被脱敏,并且查询日志中会省略一些操作。这限制了 MongoDB 的支持工程师获取可用的数据,特别是在分析查询性能时。要衡量操作对加密集合的影响,可使用第三方应用程序性能监控工具来收集指标。

以下部分描述了将客户端字段级加密 (CSFLE) 与 MongoDB Server 和所选驱动程序结合使用的兼容性要求。

您可以在副本集或分片集群上使用客户端字段级加密,但不能在独立运行实例使用。下表显示了哪些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 的更多信息,请参阅轮换和重新包装加密密钥。

重要

自动加密支持

要将客户端字段级加密与自动加密结合使用,必须安装查询分析组件。要学习;了解更多信息,请参阅安装和配置 CSFLE 查询分析组件。

后退

比较方法

在此页面上