Overview
このガイドでは、Azure Key Vault を使用してクライアント側フィールド レベル暗号化(CSFLE)対応のアプリケーションを構築する方法について説明します。
このガイドの手順を完了すると、次のものが作成されます。
Azure Key Vault インスタンスでホストされている CMK 。
カスタマー マスター キーを使用して暗号化されたフィールドを持つドキュメントを挿入する動作するクライアント アプリケーション。
始める前に
このチュートリアルを開始する前に、次の前提条件ステップを完了してください。
MongoDB ダウンロード センターから自動暗号化共有ライブラリをダウンロードする。MongoDB Enterprise Server Download セクションに移動し、次のオプションを選択します。
Version ドロップダウンで、
"current"とマークされているバージョンを選択します。[ Platform ] ドロップダウンで、プラットフォームを選択します。
Package のドロップダウンで、[
crypt_shared] を選択します。
アーカイブを展開し、共有ライブラリ ファイルへのパスを今後の使用のために保存します。
注意
クエリ分析コンポーネント
自動暗号化共有ライブラリは
mongocryptdの推奨される代替手段であり、自動暗号化を実行するために新しいプロセスを生成する必要はありません。このチュートリアルでは自動暗号化共有ライブラリを使用しますが、mongocryptdは今もサポートされています。MongoDB Atlas クラスターまたはローカル レプリカセット配置を構成し、接続文字列を今後の使用のために保存します。詳細については、「スタートガイド」チュートリアルを参照してください。
このガイド全体を通して、コード例ではプレースホルダー テキストを使用します。例を実行する前に、これらのプレースホルダーを独自の値に置き換えてください。
以下に例を挙げます。
dek_id := "<Your Base64 DEK ID>"
引用符で囲まれたすべての内容を DEK ID に置き換えます。
dek_id := "abc123"
ページの右側にあるSelect your languageドロップダウン メニューから、コード例を表示するプログラミング言語の選択します。
完全なアプリケーション コード
サンプルアプリケーションの完全なコードを表示するには、言語セレクターでプログラミング言語を選択します。
KMS を設定する
Azure にアプリケーションを登録する
Azure Active Directory でアプリケーションを登録する
Azure Active Directory にアプリケーションを登録するには、Microsoft の公式の「 Microsoft ID プラットフォームにアプリケーションを登録するクイック スタート 」に従います。
重要
認証情報の記録
次の認証情報を必ず記録してください。
テナント ID
clientId
クライアントシークレット
このチュートリアルの後半で
kmsProvidersオブジェクトを構築するには、これらの認証情報が必要です。アクセス トークンまたは自動認証情報の取得を使用して認証することもできます。Azure で使用できるすべての認証情報フォームについては、kmsProviders オブジェクトを参照してください。
CMK の作成
Azure Key Vault と CMK の作成
新しいAzure Key Vaultインスタンスとカスタマー マスター キーを作成するには、Microsoft の公式の セット に従い、 Azure portal クイック スタートを使用してAzure Key Vault からキーを取得します。
注意
カスタマー マスター キーの RSA キー サイズは、2048 ビットまたは 4096 ビットである必要があります。
重要
認証情報の記録
次の認証情報を必ず記録してください。
キー名
キー識別子(このガイドの後半では
keyVaultEndpointと参照されます)キー バージョン
このチュートリアルの後半では、
dataKeyOptsオブジェクトを構築するためにこれらが必要になります。権限の付与
アプリケーションを作成する
詳細
CSFLE の仕組みについては、CSFLE の基礎 を参照してください。
このガイドで言及されているトピックについて詳しくは、次のリンクを参照してください。
CSFLE コンポーネントの詳細については、リファレンスページを参照してください。
暗号化キーとキーヴォールトのページで、カスタマー マスター キーとデータ暗号化キーの仕組みを学びます
[ KMS プロバイダー ] ページで、 KMS プロバイダーが CSFLE キーを管理する方法を確認します。