AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

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

注意

エンタープライズ機能

フィールドレベル暗号化の自動機能は、 MongoDB Enterprise 6.0 以降とMongoDB Atlas 6.0 以降のクラスターでのみサポートされています。

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

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

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

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

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

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

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

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

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

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

クライアント側のフィールドレベルの暗号化と自動復号化を実行するために、ドライバーは Apache ライセンスのlibmongocryptライブラリを使用します

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

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

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

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

公式の tarball または ZIP アーカイブを使用したインストールの場合は、オペレーティング システムのドキュメント化されたベストプラクティスに従って、 mongocryptdバイナリをシステム パスに追加します。

ドライバーが mongocryptd プロセスにアクセスできる場合、デフォルトで プロセスを生成します。mongocryptd.pidファイルを作成するには、アプリケーションに作業ディレクトリに対する書き込み (write)権限が必要です。

注意

mongocryptd ポート使用中

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

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

名前
説明

ポート

mongocryptd がメッセージをリステンするポート。
デフォルト: 27020

idleshutdownTimeoutSecs

mongocryptd プロセスが終了するまで待機する秒数。
デフォルト: 60

mongocryptdURI

mongocryptd プロセスを実行する URI。
デフォルト: "mongodb://localhost:27020"

mongocryptdBypassSp数

trueの場合、ドライバーがmongocryptdを自動的に起動することを防止します。
デフォルト: false

mongocryptdSpiderPath

mongocryptd へのフルパス。
デフォルト: 空の string にデフォルトされ、システム パスから生成されます。

重要

起動の起動

可能であれば、オンデマンドで起動するのではなく、起動時に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'])
このページを評価