Docs Menu
Docs Home
/
データベース マニュアル
/ / /

互換性

このページでは、配置が使用中の各暗号化機能をサポートしているかどうかを判断するために、Queryable Encryptionおよびクライアント側フィールドレベル暗号化と互換性のあるMongoDB Serverエディションとドライバー バージョンについて説明します。

[ 言語を選択 ]ドロップダウン メニューを使用してドライバーを選択し、 Queryable Encryptionおよびクライアント側フィールド レベル暗号化との互換性を確認します。

次のセクションでは、 MongoDB Serverと選択したドライバーでQueryable Encryptionを使用するための互換性要件について説明します。

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 コミュニティ エディション

7.0

No

はい

[1] Queryable Encryption はMongoDB Atlasと互換性がありますが、MongoDB Search とは互換性がありません。

CドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 1.24.0 以降

  • libmongocrypt バージョン 1.8.0 以降

C++ドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 3.8.0 以降

  • libmongocrypt バージョン 1.8.0 以降

.NET/ C#ドライバーでQueryable Encryptionを使用するには、ドライバー バージョン 2.20.0 以降をインストールしてください。

ドライバー バージョン 3.0 以降を使用している場合は、次の手順も完了する必要があります。

  • NuGet からMongoDB.Driver.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ドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 1.12 以降

  • libmongocrypt バージョン 1.8.0 以降

Java Reactive Streams ドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 4.10.0 以降

  • mongodb-crypt バージョン 1.8.0またはそれ以降

Java Sync ドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 4.10.0 以降

  • mongodb-crypt バージョン 1.8.0またはそれ以降

Node.jsドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

Node.jsドライバーのバージョン 6.0 以降を使用している場合は、mongodb-client-encryption のバージョン 6.0 以降も使用する必要があります。

PHPドライバーでQueryable Encryptionを使用するには、ドライバー バージョン 1.16 以降をインストールしてください。

PyMongoでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 4.4 以降

  • pymongocrypt バージョン 1.6 以降

RubyドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

RustドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 2.4.0 以降

  • libmongocrypt バージョン 1.8.0 以降

ScalaドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。

  • ドライバー バージョン 4.10.0 以降

  • mongodb-crypt バージョン 1.8.0またはそれ以降

重要

自動暗号化のサポート

自動暗号化でQueryable Encryptionを使用するには、 クエリ分析コンポーネント をインストールする必要があります。詳しくは、「 クエリ分析コンポーネントのインストールと構成 」を参照してください。

コレクションで Queryable Encryption を有効にすると、一部の診断コマンドのフィールドが編集され、クエリ ログから一部の操作が省略されます。これにより、特にクエリのパフォーマンスを分析する際、MongoDBサポートエンジニアが利用できるデータが制限されます。暗号化されたコレクションに対する操作の影響を測定するには、サードパーティのアプリケーションパフォーマンス監視ツールを使用してメトリクスを収集します。

次のセクションでは、 MongoDB Serverと選択したドライバーでクライアント側フィールド レベル暗号化(CSFLE)を使用するための互換性要件について説明します。

クライアント側フィールドレベル暗号化は、 レプリカセットまたはシャーディングされたクラスターで使用できますが、スタンドアロンのインスタンスでは使用できません。次の表は、どのMongoDB Server がどのクライアント側フィールドレベル暗号化メカニズムをサポートしているかを示しています。

製品名
最小バージョン
自動暗号化機能を持つ CSFLE をサポート
明示的な暗号化により CSFLE をサポート

MongoDB Atlas

はい

はい

MongoDB Enterprise Advanced

4.2

はい

はい

MongoDB コミュニティ エディション

4.2

No

はい

Cドライバーでクライアント側フィールドレベル暗号化とキー ローテーションAPI を使用するには、ドライバー バージョン 1.17.5 以降をインストールします。

C++ドライバーでクライアント側のフィールドレベル暗号化とキー ローテーションAPIを使用するには、ドライバー バージョン 3.6.0 以降をインストールします。

.NET/ C#ドライバーでクライアント側のフィールドレベル暗号化を使用するには、ドライバー バージョン 2.10.0 以降をインストールしてください。キー ローテーションAPIを使用するには、ドライバー バージョン 2.17.1 以降をインストールしてください。

ドライバー バージョン 3.0 以降を使用している場合は、次の手順も完了する必要があります。

  • NuGet からMongoDB.Driver.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 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 以降も使用する必要があります。

PHPドライバーでクライアント側のフィールドレベル暗号化とキー ローテーションAPI を使用するには、ドライバー バージョン1.6.0 以降をインストールしてください。

PyMongoでクライアント側のフィールドレベル暗号化を使用するには、ドライバー バージョン 3.10.0 以降をインストールしてください。キー ローテーションAPIを使用するには、pymongocrypt バージョン 1.3.1 をインストールします。以降に更新します。

Rubyドライバーでクライアント側のフィールドレベル暗号化とキー ローテーションAPI を使用するには、ドライバー バージョン 2.12.1 以降をインストールします。

Rustドライバーでクライアント側のフィールドレベル暗号化を使用するには、ドライバー バージョン 2.4.0 以降をインストールしてください。キー ローテーションAPIを使用するには、libmongocrypt バージョン 1.8.0 以降をインストールしてください。

Scalaドライバーでクライアント側のフィールドレベル暗号化とキー ローテーションAPI を使用するには、ドライバー バージョン 2.7.0 以降をインストールしてください。

キー ローテーションAPIの詳細については、暗号化キーのローテーションと再ラッピング を参照してください。

重要

自動暗号化のサポート

クライアント側フィールドレベル暗号化 を自動暗号化で使用するには、 クエリ分析コンポーネント をインストールする必要があります。詳しくは、CSFLE クエリ分析コンポーネントのインストールと構成 を参照してください。

戻る

明示的な暗号化の使用

項目一覧