Queryable Encryptionのための mongocryptd のインストールと構成
Overview
Tip
自動暗号化共有ライブラリの使用
新しいプロジェクトを開始する場合は、 共有ライブラリ と呼ばれる crypt_shared
暗号化ヘルパーを使用します。 自動暗号化共有ライブラリはmongocryptd
を置き換え、新しい プロセスを生成する必要はありません。
mongocryptd
は MongoDB Enterprise Server とともにインストールされます。
Queryable Encryption を有効にした MongoDB クライアントを作成すると、 mongocryptd
プロセスがデフォルトで自動的に開始されます。
mongocryptd
プロセスでは以下の操作が実行されます。
指定された自動暗号化ルールを使用して、暗号化の読み取り操作および書込み (write) 操作のフィールドをマークします。
暗号化されたフィールドでサポートされていない操作が実行されるのを防ぎます。
データベース接続に指定された暗号化スキーマを解析します。 自動暗号化ルールは、JSON schema 構文の厳密なサブセットを使用します。 ルールに無効な自動暗号化構文または
document validation
構文が含まれている場合、mongocryptd
はエラーを返します。
mongocryptd
は、前の機能のみを実行し、次の機能は実行しません。
mongocryptd
暗号化または復号化は実行されませんmongocryptd
暗号化のキー リソースにはアクセスしません。mongocryptd
ネットワーク経由でリッスンしない
クライアント側のフィールドレベルの暗号化と自動復号化を実行するために、ドライバーは Apache ライセンスの libmongocrypt を使用します ライブラリ
インストール
サポートされている Linux オペレーティング システムの場合は、 Linux へのインストール チュートリアルに従ってサーバー パッケージをインストールし、ドキュメント化されたインストール手順に従って、 mongodb-enterprise
サーバー パッケージをインストールします。 または、代わりにmongodb-enterprise-cryptd
を指定して、 mongocryptd
バイナリのみをインストールします。 パッケージ マネージャーはバイナリをシステム パス内のロケーション(例: /usr/bin/
)
OSX の場合は、 MacOS へのインストール チュートリアルに従って、サーバー パッケージをインストールします。 パッケージ マネージャーは、システム パス内のロケーションにバイナリをインストールします。
Windows の場合は、 Windows へのインストールチュートリアルに従って、サーバー パッケージをインストールします。 インストール後に、 mongocryptd
パッケージをシステム パスに追加する必要があります。 mongocryptd
バイナリをシステム パスに追加する手順については、Windows インストールのドキュメント化されたベストプラクティスを参照してください。
公式の tarball または ZIP アーカイブを使用したインストールの場合は、オペレーティング システムのドキュメント化されたベストプラクティスに従って、 mongocryptd
バイナリをシステム パスに追加します。
構成
ドライバーが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'])