Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ / /

Compatibilidade

Esta página descreve as edições do MongoDB Server e as versões de driver compatíveis com Queryable Encryption e Client-Side Field Level Encryption para ajudá-lo a determinar se seu sistema oferece suporte a cada recurso de criptografia em uso.

➤ Use o menu suspenso Selecione seu idioma para selecionar seu driver e ver sua compatibilidade com a Queryable Encryption e a Client-Side Field Level Encryption.

As seções a seguir descrevem os requisitos de compatibilidade para usar a Queryable Encryption com o MongoDB Server e seu driver selecionado.

Você pode usar a Queryable Encryption em um MongoDB Server 7.0 ou conjunto de réplicas posteriores ou cluster fragmentado, mas não em uma instância autônomo . A tabela a seguir mostra quais MongoDB Server suportam quais mecanismos de Queryable Encryption :

Nome do produto
Versão mínima
Suporta Queryable Encryption com criptografia automática
Suporte para Queryable Encryption com criptografia explícita

MongoDB Atlas [1]

7.0

Sim

Sim

MongoDB Enterprise Advanced

7.0

Sim

Sim

MongoDB Community Edition

7.0

No

Sim

[1] A Queryable Encryption é compatível com o MongoDB Atlas , mas não com o MongoDB Search.

Para usar a Queryable Encryption com o driver C, instale os seguintes componentes:

  • Versão do driver 1.24.0 ou posterior

  • libmongocrypt versão 1.8.0 ou posterior

Para usar a Queryable Encryption com o driver C++, instale os seguintes componentes:

  • Versão do driver 3.8.0 ou posterior

  • libmongocrypt versão 1.8.0 ou posterior

Para usar a Queryable Encryption com o driver .NET/C#, instale a versão do driver 2.20.0 ou posterior.

Se estiver usando a versão 3.0 ou posterior do driver, você também deverá concluir as seguintes etapas:

  • Instale o pacote MongoDB.Driver.Encryption do NuGet. Este pacote habilita a criptografia automática.

  • Se seu aplicação for executado no Linux, instale libmongocrypt manualmente. Em seguida, defina a variável de ambiente LIBMONGOCRYPT_PATH para o caminho absoluto do arquivo libmongocrypt.

  • Se o seu aplicação for executado no 64-bit Linux e você estiver utilizando a versão do driver 3.4.3 ou anterior, adicione as seguintes linhas de XML ao seu arquivo .csproj. Altere o valor do elemento <MongoDriverEncryptionVersion> para corresponder à versão do pacote MongoDB.Driver.Encryption que você instalou.

<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>

Para usar a Queryable Encryption com o driver Go, instale os seguintes componentes:

  • Versão do driver 1.12 ou posterior

  • libmongocrypt versão 1.8.0 ou posterior

Para usar a Queryable Encryption com o driver Java Reactive Streams, instale os seguintes componentes:

Para usar a Queryable Encryption com o driver Java Sync, instale os seguintes componentes:

Para usar a Queryable Encryption com o driver Node.js, instale os seguintes componentes:

Se você estiver usando a versão 6.0 ou posterior do driver Node.js , também deverá usar a versão 6.0 ou posterior do mongodb-client-encryption.

Para usar a Queryable Encryption com o driver PHP, instale a versão do driver 1.16 ou posterior.

Para usar a Queryable Encryption com PyMongo, instale os seguintes componentes:

  • Versão do driver 4.4 ou posterior

  • pymongocrypt versão 1.6 ou posterior

Para usar a Queryable Encryption com o driver Ruby, instale os seguintes componentes:

Para usar a Queryable Encryption com o driver Rust, instale os seguintes componentes:

  • Versão do driver 2.4.0 ou posterior

  • libmongocrypt versão 1.8.0 ou posterior

Para usar a Queryable Encryption com o driver Scala, instale os seguintes componentes:

Importante

Suporte à criptografia automática

Para usar o Queryable Encryption com criptografia automática, você deve instalar um componente de análise de query. Para saber mais, consulte Instalar e configurar um componente de análise de query.

A Queryable Encryption em uma collection elimina campos de alguns comandos de diagnóstico e omite algumas operações do registro de queries. Isso limita os dados disponíveis aos engenheiros de suporte do MongoDB, especialmente ao analisar o desempenho da query. Para medir o impacto das operações em relação a collections criptografadas, use uma ferramenta de monitoramento de desempenho de aplicativos de terceiros para coletar métricas.

As seções a seguir descrevem os requisitos de compatibilidade para usar a criptografia em nível de campo do lado do cliente (CSFLE) com o MongoDB Server e o driver selecionado.

Você pode usar a criptografia em nível de campo do lado do cliente em um conjunto de réplicas ou cluster fragmentado, mas não em uma instância autônomo . A tabela a seguir mostra quais produtos MongoDB Server suportam quais mecanismos de criptografia em nível de campo do lado do cliente:

Nome do produto
Versão mínima
Suporta CSFLE com criptografia automática
Suporta CSFLE com criptografia explícita

MongoDB Atlas

Sim

Sim

MongoDB Enterprise Advanced

4.2

Sim

Sim

MongoDB Community Edition

4.2

No

Sim

Para usar a criptografia no nível do campo do lado do cliente e a API de rotação de chaves com o driver C, instale a versão do driver 1.17.5 ou posterior.

Para usar a criptografia no nível do campo do lado do cliente e a API de rotação de chaves com o driver C++, instale a versão 3.6.0 do driver ou posterior.

Para usar a criptografia no nível do campo do lado do cliente com o driver .NET/C#, instale a versão do driver 2.10.0 ou posterior. Para usar a API de rotação de chaves, instale a versão do driver 2.17.1 ou posterior.

Se estiver usando a versão 3.0 ou posterior do driver, você também deverá concluir as seguintes etapas:

  • Instale o pacote MongoDB.Driver.Encryption do NuGet. Este pacote habilita a criptografia automática.

  • Se seu aplicação for executado no Linux, instale libmongocrypt manualmente. Em seguida, defina a variável de ambiente LIBMONGOCRYPT_PATH para o caminho absoluto do arquivo libmongocrypt.

  • Se o seu aplicação for executado no 64-bit Linux e você estiver utilizando a versão do driver 3.4.3 ou anterior, adicione as seguintes linhas de XML ao seu arquivo .csproj. Altere o valor do elemento <MongoDriverEncryptionVersion> para corresponder à versão do pacote MongoDB.Driver.Encryption que você instalou.

<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>

Para usar a criptografia no nível do campo do lado do cliente com o driver Go, instale a versão do driver 1.2 ou posterior. Para usar a API de rotação de chaves, instale a versão 1.5.2 da libmongocrypt ou posterior.

Para usar a criptografia em nível de campo do lado do cliente com o driver Java Reactive Streams, instale a versão do driver 1.12.0 ou posterior. Para usar a API de rotação de chaves, instale a versão mongodb-crypt 1.7.3 ou posterior.

Para usar a criptografia em nível de campo do lado do cliente com o driver Java Sync ou Java Reactive Streams, instale a versão 3.10.0 do driver ou posterior. Para usar a API de rotação de chaves, instale mongodb-crypt versão 1.7.3 ou mais tarde.

Para usar a criptografia no nível do campo do lado do cliente com o driver Node.js, instale a versão do driver 3.4.0 ou posterior. Para usar a API de rotação de chaves, instale mongodb-client-encryption versão 2.2.0 - 2.x.

Se você estiver usando a versão 6.0 ou posterior do driver Node.js , também deverá usar a versão 6.0 ou posterior do mongodb-client-encryption.

Para usar a criptografia no nível do campo do lado do cliente e a API de rotação de chaves com o driver PHP, instale a versão 1.6.0 do driver ou posterior.

Para usar a criptografia no nível do campo do lado do cliente com PyMongo, instale a versão do driver 3.10.0 ou posterior. Para usar a API de rotação de chaves, instale o pymongocrypt versão 1.3.1 ou mais tarde.

Para usar a criptografia no nível do campo do lado do cliente e a API de rotação de chaves com o driver Ruby, instale a versão 2.12.1 do driver ou posterior.

Para usar a criptografia em nível de campo do lado do cliente com o driver Rust, instale a versão do driver 2.4.0 ou posterior. Para usar a API de rotação de chaves, instale libmongocrypt versão 1.8.0 ou posterior.

Para usar a criptografia no nível do campo do lado do cliente e a API de rotação de chaves com o driver Scala, instale a versão 2.7.0 do driver ou posterior.

Para saber mais sobre a API de rotação de chaves, consulte Girar e retrair chaves de criptografia.

Importante

Suporte à criptografia automática

Para usar a criptografia em nível de campo do lado do cliente com criptografia automática, você deve instalar um componente de análise de query. Para saber mais, consulte Instalar e configurar um componente de análise de query CSFLE.

Voltar

Usar criptografia explícita

Nesta página