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

CSFLE 暗号化コンポーネント

次の図は、MongoDB ドライバーまたはmongoshとクライアント側フィールドレベル暗号化(CSFLE)の各コンポーネントとの関係を示しています。

ドライバーと暗号化コンポーネントの関係の図

次のセクションでは、前の図の個々のコンポーネントについて説明します。

libmongocrypt は、公式 MongoDB ドライバーとmongosh がクライアント側のフィールドレベル暗号化を強化するために使用する Apache ライセンスのオープンソース コア暗号化ライブラリです。ドライバーによっては、ライブラリをインストールまたはリンクするために特定の統合ステップが必要となる場合があります。

libmongocryptをインストールする手順については、 libmongocrypt リファレンス ページを参照してください。

自動暗号化共有ライブラリは、クライアントアプリケーションで自動暗号化を実行できるようにするダイナミックライブラリです。

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

注意

MongoDB 9.0 以降、mongocryptd は非推奨となりました。代わりに自動暗号化共有ライブラリを使用してください。

自動暗号化の詳細については、CSFLE 機能を参照してください。

重要

mongocryptdは非推奨となりました

MongoDB 9.0 以降、mongocryptd は非推奨となりました。代わりに自動暗号化共有ライブラリを使用してください。

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

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

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

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

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

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

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

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

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

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

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

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

Key Vault コレクションは、アプリケーション データの暗号化に使用されるすべての データ暗号化キー を保存する MongoDB の標準コレクションです。 データ暗号化キーは、キーヴォールトコレクションに保存する前に、カスタマー マスター キー( CMK )を使用してキー自体を暗号化します。 暗号化されたアプリケーション データを保存しているクラスターとは別の MongoDB クラスターで Key Vault コレクションをホストできます。

Key Vault コレクションの詳細については、「暗号化のキーとキー Vault 」を参照してください。

キー管理システム( KMS )には、データ暗号化キーの暗号化に使用される CMK ( CMK )が保存されています。

MongoDB がサポートするすべてのKMSプロバイダーのリストを表示するには、「 KMS プロバイダー 」を参照してください。

暗号化されたデータを保存する MongoDB クラスターは、 クライアント側のフィールドレベル暗号化 も強制する場合があります。 サーバー側でのスキーマ適用の詳細については、「 CSFLE によるサーバー側スキーマ強制 」を参照してください。