このページでは、配置が使用中の各暗号化機能をサポートしているかどうかを判断するために、Queryable Encryptionおよびクライアント側フィールドレベル暗号化と互換性のあるMongoDB Serverエディションとドライバー バージョンについて説明します。
➤ [ 言語を選択 ]ドロップダウン メニューを使用してドライバーを選択し、 Queryable Encryptionおよびクライアント側フィールド レベル暗号化との互換性を確認します。
Queryable Encryption の互換性
次のセクションでは、 MongoDB Serverと選択したドライバーでQueryable Encryptionを使用するための互換性要件について説明します。
MongoDB の互換性
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を使用するには、次のコンポーネントをインストールします。
ドライバー バージョン 5.5.0 以降
mongodb-クライアント暗号化 バージョン 2.8.0またはそれ以降
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を使用するには、次のコンポーネントをインストールします。
ドライバー バージョン 2.19 以降
libmongocrypt ヘルパー バージョン 1.8.0またはそれ以降
RustドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。
ドライバー バージョン 2.4.0 以降
libmongocrypt バージョン 1.8.0 以降
ScalaドライバーでQueryable Encryptionを使用するには、次のコンポーネントをインストールします。
ドライバー バージョン 4.10.0 以降
mongodb-crypt バージョン 1.8.0またはそれ以降
重要
自動暗号化のサポート
自動暗号化でQueryable Encryptionを使用するには、 クエリ分析コンポーネント をインストールする必要があります。詳しくは、「 クエリ分析コンポーネントのインストールと構成 」を参照してください。
MongoDB サポートの制限
コレクションで Queryable Encryption を有効にすると、一部の診断コマンドのフィールドが編集され、クエリ ログから一部の操作が省略されます。これにより、特にクエリのパフォーマンスを分析する際、MongoDBサポートエンジニアが利用できるデータが制限されます。暗号化されたコレクションに対する操作の影響を測定するには、サードパーティのアプリケーションパフォーマンス監視ツールを使用してメトリクスを収集します。
クライアント側のフィールドレベル暗号化の互換性
次のセクションでは、 MongoDB Serverと選択したドライバーでクライアント側フィールド レベル暗号化(CSFLE)を使用するための互換性要件について説明します。
MongoDB の互換性
クライアント側フィールドレベル暗号化は、 レプリカセットまたはシャーディングされたクラスターで使用できますが、スタンドアロンのインスタンスでは使用できません。次の表は、どの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 クエリ分析コンポーネントのインストールと構成 を参照してください。