MongoDB は、自動暗号化共有ライブラリ(推奨)または mongocryptd 実行可能プロセスを使用して、クエリを暗号化されたクエリに変換し、データを暗号化または復号化します。
始める前に
CSFLE を自動暗号化で使用するには、まずMongoDBでフィールドの暗号化に使用するクエリ分析コンポーネントを選択する必要があります。
crypt_shared : 推奨 CSFLE ライブラリ。
mongocryptd 。MongoDB MongoDB Enterprise Serverのインストールに含まれています。
libmongocrypt ライブラリとMongoDBドライバーでは、暗号化されたクエリを解釈するために 自動暗号化共有ライブラリ または mongocryptd が必要です。詳しくは、「CSFLE 用のlibmongocrypt のインストール」を参照してください。
自動暗号化共有ライブラリ
自動暗号化共有ライブラリは、クライアント アプリケーションで自動暗号化を実行できるようにする動的ライブラリです。 動的ライブラリは、コンパイル時ではなく実行時にアプリケーションによってアクセスされる機能のセットです。 自動暗号化共有ライブラリは、次のタスクを実行します。
暗号化スキーマを読み取って、どのフィールドを暗号化または復号化するかを決定します
アプリケーションが暗号化されたフィールドに対してサポートされていない操作を実行するのを防ぎます
自動暗号化共有ライブラリは、次のいずれも実行しません。
データの暗号化または復号化の実行
暗号化のキーマテリアルにアクセスする
ネットワーク経由のデータをリッスンする
自動暗号化共有ライブラリはmongocryptdの代替として推奨されており、自動暗号化を実行するために別の プロセスを生成する必要はありません。
注意
自動暗号化共有ライブラリの使用を推奨していますが、 mongocryptdは引き続きサポートされています。
自動暗号化の詳細については、CSFLE 機能を参照してください。
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 プロセスを検索しデフォルト。
手順
使用するクエリ分析コンポーネントを選択し、CSFLE クエリ分析コンポーネントのインストールと構成の手順に従ってください。