このページでは、配置が使用中の各暗号化機能をサポートしているかどうかを判断するために、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 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-クライアント暗号化バージョン.. 280以降。 Node.jsドライバーのバージョン 6.0 以降を使用している場合は、 | |
1.16以降 | (なし) | |
4.4以降 | pymongocrypt バージョン 1.6 以降 | |
2.19以降 | libmongocrypt ヘルパー バージョン 1.8.0またはそれ以降 | |
2.4.0 以降 | libmongocrypt バージョン 1.8.0 以降 | |
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 クエリ分析コンポーネントのインストールと構成 を参照してください。