保管時の暗号化に使用するAmazon Web Services KMS キーにアクセスするために、 Amazon Web Services IAM ロールを使用するように Atlasプロジェクトを構成できます。プロジェクトで 保管時の暗号化を有効にする ときに、既存のロールを使用するか、新しいロールを作成できます。
このページでは、役割ベースのアクセス用に MongoDB Atlas プロジェクトでカスタマー キー マネジメントを設定する方法について説明します。また、Amazon Web Services KMSに AWS PrivateLink を設定することで、Atlas とAmazon Web Services KMS間のすべてのトラフィックが Amazon Web Services のプライベート ネットワーク インターフェースを介して行えるようになります。
新規または既存の Atlas プロジェクトで保管時の暗号化をまだ有効にしていない場合は、「プロジェクトの暗号化のキーへのロールベース アクセスの有効化」の手順に従って、Atlas プロジェクトの保管時の暗号化を有効にします。保管時の暗号化をすでに有効にし、暗号化のキーへの認証情報ベースのアクセスを構成している Atlas プロジェクトがある場合は、「プロジェクトの暗号化のキーへのロールベース アクセスへの切り替え」手順に従って、暗号化のキーへのロールベース アクセスに切り替えます。
Atlas プロジェクトのカスタマー キー マネジメントを構成してから、そのプロジェクトのクラスターで有効にします。
必要なアクセス権
カスタマー キー マネジメントを設定するには、プロジェクトへの Project Owner アクセス権が必要です。
Organization Owner アクセス権を持つユーザーは、自分自身を Project Owner としてプロジェクトに追加する必要があります。
AWS KMS を使用したカスタマー マネージド キーの有効化
Atlas では、エンベロープ暗号化というプロセスに沿ってカスタマー キーを管理します。このプロセスでは、あるキーを別のキーで暗号化することによって複数の暗号化レイヤーが作成されます。カスタマー キー管理を有効にするために、MongoDB Atlas では以下の暗号化キーが使用されます。
Customer-Managed Key (CMK)カスタマー管理キーは、AWS KMS で作成、所有、管理する暗号化のキーです。AWS KMS でCMK を作成し、プロジェクトレベルで Atlas に接続します。AWS KMS で使用される CMK の詳細については、 AWS KMS ドキュメントを参照してください。
Atlas はこのキーを MongoDB マスター キーの暗号化にのみ使用します。
MongoDB Master KeyAtlasマスター キーを作成しMongoDB 。 MongoDB マスターキーは、MongoDB Server がデータベースごとに暗号化されたキーを暗号化するために使用する暗号化キーです。 Atlas は、キーの暗号化されたコピーをローカルに保存します。
このキーは CMK で暗号化され、データベースごとに暗号化されたキーを暗号化します。
Per-Database Encryption KeyMongoDB Atlas の各ノードは、クラスター内のデータベースごとに暗号化のキーも作成します。Atlas はこれらのキーを使用して、WiredTiger を介してデータの読み取りと書き込みを行い、WiredTiger はこれらのキーを暗号化して保存します。
このキーは、MongoDB マスターキーで暗号化されます。
例
ノードが 3 つのレプリカ セットの次の暗号化階層を検討してみましょう。Atlas は、AWS KMS のCMKを使用して、クラスター内の各ノードのユニークな MongoDB マスターキーを暗号化します。また、各ノードには 3 つのデータベースが含まれており、それぞれがデータベースごとに固有の暗号化キーで暗号化されています。クラスターが起動すると、Atlas は Amazon Web Services の KMS のCMKを使用して MongoDB マスターキーを復号化し、これをMongoDB Serverに提供します。
注意
Atlas の CMK へのアクセスを取り消すと、Atlas はクラスター内のノードをシャットダウンし、 CMK へのアクセスを復元するまでデータにアクセスできなくなります。

AWS CMK のローテーション
注意
MongoDB マスターキー - MongoDB の責任
独自のクラウドプロバイダーKMS Bluetooth を使用する場合、Atlas はMongoDBマスター キーを少なくとも90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが 90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。
AWS CMK - お客様の責任
Atlas は、Amazon Web Services が提供する保存時の暗号化に使用される Amazon Web Services CMK を自動的にローテーションしません。
ベストプラクティスとして、Atlas は、Atlas プロジェクトで保管時の暗号化を有効にする場合、デフォルトで 90 日ごとに Amazon Web Services CMK のローテーションを促すために、alert を作成します。このアラートの期間は構成により変更できます。
Amazon Web Services CMK のローテーションを手動で、またはAmazon Web Services KMSインスタンスの構成により 自動的に行えます 。Amazon Web Services CMK の自動ローテーションを構成する場合、デフォルトのローテーション期間は約 365 日です。
Amazon Web Services で自動 CMK ローテーションをすでに設定していて、90 日ごとに CMK をローテーションするための Atlas アラートを受信したくない場合は、デフォルトのアラート期間を 365 日より長く変更するか、アラートを無効にできます。
このページでは、Atlas で新しいキーを作成し、CMK ID を更新して Atlas プロジェクト CMK をローテーションする方法について説明します。このキーローテーションの方法は、 Amazon Web Services KMSの自動 CMK ローテーションと比較して、ローテーション期間のより細かい制御をサポートします。
重要
保管時の暗号化によるクラウドバックアップ
Atlas では、保管時の暗号化とクラスターのバックアップを使用するクラスターの場合、スナップショットの取得時点でプロジェクトの CMK と AWS IAM ユーザー認証情報を使用し、スナップショットのデータファイルを自動的に暗号化します。これにより、すべての Atlas ストレージおよびスナップショットのボリュームに適用されている既存の暗号化に暗号化レイヤーが追加されます。
Atlas は、ローテーション後に新しい CMK を使用してスナップショットを再暗号化しません 。プロジェクト内のすべてのバックアップ対応クラスターで、その CMK をまだ使用しているスナップショットがあるかどうかを確認するまでは、古い CMK を削除しないでください。Atlas は、バックアップの予定、保持、オンデマンド スナップショットに従ってバックアップを削除します。Atlas が特定の CMKに依存するすべてのスナップショットを削除した後、その CMK を安全に削除できます。
手順
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoAdvanced
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
。サイドバーで、Security 見出しの下の Database & Network Access をクリックします。
サイドバーで、Advanced をクリックします。
詳細ページが表示されます。
AWS CMK の詳細を更新します。
次の情報を入力します。
フィールドアクションAWS IAM role
KMS キーへのアクセス権をすでに持っている既存の Amazon Web Services IAM ロールを選択するか、新しいロールを承認して、次の権限でこのロールに KMS キーへのアクセス権を付与します。
詳細については、「 プロジェクトの暗号化キーへのロールベースのアクセス 」を参照してください。
Customer Master Key ID
Amazon Web Services カスタマー マスター キー ID を入力します。
Customer Master Key Region
Amazon Web Services CMK を作成した Amazon Web Services リージョンを選択します。
AtlasAmazon Web Servicesには、 Amazon Web Services KMSをサポートする Amazon リージョンのみがリストされます。
[Save] をクリックします。
Atlas は、 CMK ローテーション プロセス中に Atlas コンソールにバナーを表示します。変更がデプロイされるまで、 CMK を削除したり無効にしたりしないでください。
停止時の AWS KMS リージョンの再設定
リージョン停止時は、Amazon Web Services KMS リージョンが利用できなくなる可能性があります。カスタマー キー マネジメントを使用した保管時の暗号化を有効にした場合、少なくとも 1 つのノードが使用可能な状態であれば暗号化および復号化操作を実行できます。しかし、すべてのノードが使用できなくなると、暗号化操作を実行できなくなります。停止時にノードが再起動すると、そのノードは使用できなくなります。
使用できないノードを正常な状態に戻すには、現在のAmazon Web Services KMS リージョンを使用可能なリージョンに再構成します。KMS リージョンを変更するには、 Amazon Web Services KMSキーが マルチリージョン キー である必要があります。マルチリージョン キーを作成するには、Amazon Web Services のドキュメント を参照してください。
注意
単一リージョン キーを複数リージョン キーに変換することはできません。
手順
Amazon Web Services KMS リージョンを再設定するには、Atlas で次の手順を実行します。
AtlasGoAdvancedAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
。サイドバーで、Security 見出しの下の Database & Network Access をクリックします。
サイドバーで、Advanced をクリックします。
詳細ページが表示されます。
次のステップ
パブリック ネットワークまたは AWS PrivateLink 経由で、Amazon Web Services KMS からカスタマーマネージド キー(CMK)を使用できます。詳しくは、以下をご覧ください。
検索ノードでのカスタマー マネージド キーの有効化
デフォルトでは、MongoDBプロセスと検索プロセスは同じノードで実行されます。このアーキテクチャでは、カスタマー マネージドの暗号化はデータベースデータに適用されますが、検索インデックスには適用されません。
専用の検索ノードを有効にすると、検索プロセスは別々のノードで実行されます。これにより、検索ノード データの暗号化が有効になり、データベースデータと検索インデックスの両方を同じカスタマー マネージド キーで暗号化して、包括的な暗号化をカバーすることができます。
関連トピック
MongoDB の保存時の暗号化の詳細については、MongoDB サーバーのドキュメントの「保存時の暗号化」を参照してください。
クラウドバックアップによる保管時の暗号化について詳しくは、「ストレージ エンジンとクラウドバックアップの暗号化」を参照してください。