Overview
クライアント側フィールド レベル暗号化(CSFLE)を使用するためにインストールする必要があるアプリケーションとライブラリについて説明します。
必要なもの
CSFLE を使用する前に、開発環境で次の項目を設定する必要があります。
(任意) 自動暗号化共有ライブラリをダウンロードします。 自動暗号化共有ライブラリはmongocryptdの推奨代替であり、新しいプロセスを生成する必要はありません。
mongocryptd
は引き続きサポートされます。
x64 オペレーティング システムを使用していることを確認します。CSFLE には x64 のサポートが必要です。
ドライバー バージョン 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>
(任意)自動暗号化共有ライブラリをダウンロードします。 自動暗号化共有ライブラリはmongocryptdの推奨代替であり、新しいプロセスを生成する必要はありません。
mongocryptd
は引き続きサポートされます。
libmongocrypt をインストールします。
libmongocrypt
ライブラリには、暗号化 を管理するネイティブ ライブラリと通信するためのバインディングが含まれています。
(任意)自動暗号化共有ライブラリをダウンロードします。 自動暗号化共有ライブラリはmongocryptdの推奨代替であり、新しいプロセスを生成する必要はありません。
mongocryptd
は引き続きサポートされます。
mongodb-crypt をインストールします。
mongodb-crypt
ライブラリには、暗号化 を管理するネイティブ ライブラリと通信するためのバインディングが含まれています。
(任意)自動暗号化共有ライブラリをダウンロードします。 自動暗号化共有ライブラリはmongocryptdの推奨代替であり、新しいプロセスを生成する必要はありません。
mongocryptd
は引き続きサポートされます。
暗号化ライブラリのNode.jsラッパーmongodb-client-encryption
libmongocrypt
をインストールします。libmongocrypt
ライブラリには、暗号化 を管理するネイティブ ライブラリと通信するためのバインディングが含まれています。
Node.js ドライバー バージョン6.0.0
以降を使用する場合、 mongodb-client-encryption
はドライバーと同じメジャー バージョン番号を持っている必要があります。
たとえば、Node.js ドライバー v 6 .x にはmongodb-client-encryption
v 6 .x が必要です。
(任意)自動暗号化共有ライブラリをダウンロードします。 自動暗号化共有ライブラリはmongocryptdの推奨代替であり、新しいプロセスを生成する必要はありません。
mongocryptd
は引き続きサポートされます。
libmongocrypt
暗号化ライブラリのPythonラッパーpymongocryptをインストールします。libmongocrypt
ライブラリには、暗号化 を管理するネイティブ ライブラリと通信するためのバインディングが含まれています。
詳細
CSFLE の使用を開始するには、CSFLE クイック スタート を参照してください。
リモート キー管理システム プロバイダーで CSFLE を使用する方法については、CSFLE チュートリアル を参照してください。