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

CSFLE 用の mongocryptd のインストールと構成

項目一覧

  • Overview
  • インストール
  • 構成

注意

エンタープライズ機能

フィールドレベル暗号化の自動機能は、MongoDB Enterprise 4.2 以降と MongoDB Atlas 4.2 以降のクラスターでのみ使用できます。

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

CSFLE 対応の MongoDB クライアントを作成すると、 mongocryptdプロセスがデフォルトで自動的に開始されます。

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

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

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

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

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

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

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

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

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

公式 MongoDB ドライバー、 mongosh 、およびレガシーのmongo shell は、クライアント ホスト マシン上のmongocryptdプロセスにアクセスする必要があります。 これらのクライアントは、デフォルトでシステム パス内のmongocryptdプロセスを検索します。

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

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

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

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

ドライバーが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'])

戻る

共有ライブラリ