Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / / / /

Queryable Encryption ライブラリのインストールと構成

項目一覧

  • 始める前に
  • ライブラリの選択
  • 手順
  • 次のステップ

MongoDB は、クエリを暗号化されたクエリに変換し、データの暗号化と復号化に使用します。 最新のは 自動暗号化共有ライブラリ です。

続行する前に、前述のタスクに従って、 Queryable Encryptionと互換性のあるドライバーと依存関係がインストールしてください。

自動暗号化共有ライブラリは、クライアント アプリケーションで自動暗号化を実行できるようにする動的ライブラリです。 動的ライブラリは、コンパイル時ではなく実行時にアプリケーションによってアクセスされる機能のセットです。 自動暗号化共有ライブラリは、次のタスクを実行します。

  • 暗号化スキーマを読み取って、どのフィールドを暗号化または復号化するかを決定します

  • アプリケーションが暗号化されたフィールドに対してサポートされていない操作を実行するのを防ぎます

自動暗号化共有ライブラリは、次のいずれも実行しません

  • データの暗号化または復号化の実行

  • 暗号化のキーマテリアルにアクセスする

  • ネットワーク経由のデータをリッスンする

自動暗号化共有ライブラリは mongocryptdの代替として推奨されており、自動暗号化を実行するために別のプロセスを開始する必要はありません。

重要

自動暗号化共有ライブラリの使用

新しいプロジェクトを開始する場合は、 自動暗号化共有ライブラリ を使用します。 自動暗号化共有ライブラリはmongocryptdを置き換え、新しいプロセスを開始する必要はありません。

mongocryptd MongoDB Enterprise Server とともにインストールされます。

使用中の暗号化を使用して MongoDB クライアントを作成すると、 mongocryptdプロセスがデフォルトで自動的に開始されます。

mongocryptdプロセスでは以下の操作が実行されます。

  • 指定された自動暗号化ルールを使用して、暗号化の読み取り操作および書込み (write) 操作のフィールドをマークします。

  • 暗号化されたフィールドでサポートされていない操作が実行されるのを防ぎます。

  • データベース接続に指定された暗号化スキーマを解析します。 自動暗号化ルールは、JSON schema 構文の厳密なサブセットを使用します。 ルールに無効な自動暗号化構文またはdocument validation構文が含まれている場合、 mongocryptdはエラーを返します。

mongocryptd は、前の機能のみを実行し、次の機能は実行しません。

  • mongocryptd 暗号化または復号化は実行されません

  • mongocryptd 暗号化のキー リソースにはアクセスしません。

  • mongocryptd ネットワーク経由でリッスンしない

フィールドの暗号化と自動復号化を実行するために、ドライバーは Apache ライセンスの libmongocrypt ライブラリ。

MongoDB ダウンロード センターから自動暗号化共有ライブラリをダウンロードするには、バージョンとプラットフォームを選択し、ライブラリを選択します。

Tip

利用可能なリリースとパッケージの展開リストを表示するには、「 MongoDB Enterprise ダウンロード 」を参照してください。

1

[ Versionドロップダウンで、[ 7.0.0 (current) ] を選択します。

2

[ Platform ] ドロップダウンで、プラットフォームを選択します。

3

Package のドロップダウンで、[crypt_shared] を選択します。

4

[Download] をクリックします。

ドライバーが自動暗号化共有ライブラリを検索する方法を設定するには、次のパラメーターを使用します。

名前
説明
cryptSharedlibPath

自動暗号化共有ライブラリ パッケージへの絶対パス、 crypt_sharedを指定します。

デフォルト: undefined

cryptSharedlibRequired

ドライバーが自動暗号化共有ライブラリを使用する必要があるかどうかを指定します。 trueの場合、自動暗号化共有ライブラリが利用できない場合は、ドライバーはエラーを返します。 falseの場合、ドライバーは次の一連のアクションを実行します。

  1. 自動暗号化共有ライブラリの使用を試みます。

  2. 自動暗号化共有ライブラリが利用できない場合、ドライバーは を起動してmongocryptdに接続しようとします。

デフォルト: false

これらのパラメーターを設定する方法の例については、「クイック スタート 」を参照してください。

1

mongocryptdをインストールします。

サポートされている Linux オペレーティング システムの場合:サーバー パッケージをインストールするには、「 Linux へのインストール 」チュートリアルに従い、 mongodb-enterpriseサーバー パッケージをインストールします。 または、代わりにmongodb-enterprise-cryptdを指定して、 mongocryptdバイナリのみをインストールします。 パッケージ マネージャーはバイナリをシステム パス内のロケーションにインストールします。

OSX の場合: Server パッケージをインストールするには、 MacOS へのインストール チュートリアルに従ってください。 パッケージ マネージャーは、システム パス内のロケーションにバイナリをインストールします。

Windows の場合: Server パッケージをインストールするには、 「Windows へのインストール」のチュートリアルに従ってください。 インストール後に、 mongocryptdパッケージをシステム パスに追加する必要があります。 Windows インストールのドキュメント化されたベストプラクティスに従って、 mongocryptdバイナリをシステム パスに追加します。

公式の tarball / ZIP アーカイブから をインストールする方法:公式アーカイブからインストールするには、ドキュメント化された ベストプラクティス に従って、 mongocryptdバイナリをシステム パスに追加します。

2

ライブラリを構成します。

ドライバーがmongocryptdプロセスにアクセスできる場合、デフォルトでプロセスを生成します。

重要

起動の起動

可能であれば、オンデマンドで起動するのではなく、起動時にmongocryptdを起動します。

次のパラメータを使用してドライバーがmongocryptdを起動する方法を構成します。

名前
説明
ポート
The port from which mongocryptd listens for messages.
Default: 27020
idleshutdownTimeoutSecs
Number of idle seconds the mongocryptd process waits before exiting.
Default: 60
mongocryptdURI
The URI on which to run the mongocryptd process.
Default: "mongodb://localhost:27020"
mongocryptdBypassSp数
When true, prevents the driver from automatically spawning mongocryptd.
Default: false
mongocryptdSpiderPath
The full path to mongocryptd.
Default: Defaults to empty string and spawns from the system path.

ドライバーによって指定されたポートでmongocryptdプロセスがすでに実行中の場合、ドライバーは警告をログに記録し、新しいプロセスを生成せずに続行できます。 ドライバーによって指定された設定は、既存のプロセスが終了し、新しい暗号化されたクライアントが接続を試みた場合にのみ適用されます。

mongocryptdプロセスの構成方法の例を表示するには、アプリケーションで使用しているドライバーに対応するタブをクリックします。

次のコード スニペットは、 mongocryptdのリッスン ポート構成を設定します。

var extraOptions = new Dictionary<string, object>()
{
{ "mongocryptdSpawnArgs", new [] { "--port=30000" } },
};
autoEncryptionOptions.With(extraOptions: extraOptions);

次のコード スニペットは、デフォルトのタイムアウト構成であるmongocryptdを設定します。

var extraOptions = new Dictionary<string, object>()
{
{ "idleShutdownTimeoutSecs", 60 },
};
autoEncryptionOptions.With(extraOptions: extraOptions);

次のコード スニペットは、 mongocryptdのリッスン ポート構成を設定します。

extraOptions := map[string]interface{}{
"mongocryptdSpawnArgs": []string{
"--port=30000",
},
}

次のコード スニペットは、デフォルトのタイムアウト構成であるmongocryptdを設定します。

extraOptions := map[string]interface{}{
"mongocryptdSpawnArgs": []string{
"--idleShutdownTimeoutSecs=75",
},
}

次のコード スニペットは、 mongocryptdのリッスン ポート構成を設定します。

List<String> spawnArgs = new ArrayList<String>();
spawnArgs.add("--port=30000");
Map<String, Object> extraOpts = new HashMap<String, Object>();
extraOpts.put("mongocryptdSpawnArgs", spawnArgs);
AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder()
...
.extraOptions(extraOpts);

次のコード スニペットは、デフォルトのタイムアウト構成であるmongocryptdを設定します。

List<String> spawnArgs = new ArrayList<String>();
spawnArgs.add("--idleShutdownTimeoutSecs")
.add("60");
Map<String, Object> extraOpts = new HashMap<String, Object>();
extraOpts.put("mongocryptdSpawnArgs", spawnArgs);
AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder()
...
.extraOptions(extraOpts);

次のコード スニペットは、 mongocryptdのリッスン ポート構成を設定します。

autoEncryption: {
...
extraOptions: {
mongocryptdSpawnArgs: ["--port", "30000"],
mongocryptdURI: 'mongodb://localhost:30000',
}

注意

NodeJS ドライバーでは、 mongocryptdURIは listen ポートと一致する必要があります。

次のコード スニペットは、デフォルトのタイムアウト構成であるmongocryptdを設定します。

autoEncryption: {
...
extraOptions: {
mongocryptdSpawnArgs: ["--idleShutdownTimeoutSecs", "75"]
}

次のコード スニペットは、 mongocryptdのリッスン ポート構成を設定します。

auto_encryption_opts = AutoEncryptionOpts(mongocryptd_spawn_args=['--port=30000'])

次のコード スニペットは、デフォルトのタイムアウト構成であるmongocryptdを設定します。

auto_encryption_opts = AutoEncryptionOpts(mongocryptd_spawn_args=['--idleShutdownTimeoutSecs=75'])

ライブラリをインストールしたら、選択したキー管理システムに CMK を作成します。

戻る

libmongocrypt のインストール