Docs 菜单
Docs 主页
/ /

安装要求

了解要使用客户端字段级加密 (CSFLE) 必须安装的应用程序和库。

在使用 CSFLE 之前,您必须在开发环境中设置以下项目:

  • (可选)下载自动加密共享库。 自动加密共享库是mongocryptd的首选替代方案,并且不需要生成新进程。 仍支持 mongocryptd

  • 安装 MongoDB Enterprise 版。

  • 安装与 CSFLE 兼容的 MongoDB 驱动程序。

  • 启动MongoDB 实例Atlas 集群。

  • 确保您使用的是 x64 操作系统。CSFLE 需要 x64支持。

如果您使用的是驾驶员版本 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>
  • 安装 libmongocryptlibmongocrypt 库包含用于与管理加密的原生库进行通信的绑定。

  • 安装 mongodb-cryptmongodb-crypt 库包含用于与管理加密的原生库进行通信的绑定。

  • 安装 mongodb-client-encryption,它是 libmongocrypt加密库的 Node.js 包装器。libmongocrypt 库包含用于与管理加密的原生库通信的绑定。

使用 Node.js 驱动程序版本6.0.0或更高版本时, mongodb-client-encryption必须与驱动程序具有相同的主版本号。

示例,Node.js驱动程序v6.xx 需要 mongodb-client-encryption v6.xx

  • 安装 pymongocrypt,它是 libmongocrypt加密库的Python包装器。libmongocrypt 库包含用于与管理加密的原生库通信的绑定。

要开始使用 CSFLE,请参阅 CSFLE 快速入门。

要学习;了解如何将 CSFLE 与远程密钥管理系统提供商结合使用,请参阅 CSFLE 教程。

后退

功能

在此页面上