Atlas は、Advanced Encryption Standard(AES)-256 を使用して保管中のデータを暗号化します。保管時の暗号化は常に有効になっており、無効にすることはできません。
Atlas が使用する暗号化レイヤーとデータを保護するキーは、データベースのエディションと、独自の暗号化のキーを取得するかどうかによって異なります。
データベースエディション別の暗号化レイヤー
Atlas のどのエディションを選択しても、データは常にデフォルトで暗号化されます。
Atlas Core の暗号化
Atlas Core の場合、クラウドプロバイダーはクラスター データを保持するストレージボリュームを暗号化します。クラウドプロバイダーは、このディスク暗号化を自動化し、KMS で暗号化キーを管理します。このデフォルトのボリュームレベルのディスク暗号化は構成不要で、常にオンになっており、無効にすることはできません。カスタマーが管理するキーを使用して、データベースレベルの保管時の暗号化を有効にすることで、レイヤーをさらに強化できます。
カスタマーが管理するキーを使用して保管時の暗号化を構成すると、Atlas はデフォルトのディスク暗号化にデータベースレベルの暗号化を追加します。カスタマー マネージド キーの構成方法については、「 カスタマー キー マネジメントを使用した保管時の暗号化 」を参照してください。
Atlas 無限暗号化
Atlas Infinite では、保管時の暗号化はデフォルトで有効になり、常にデータベース全体に適用されます。クラスターは 共有ストレージレイヤーで実行されるため、保管時の暗号化をボリューム レベルで構成したり、無効にしたりすることはできません。 MongoDB は、Atlas組織ごとに一意のデフォルトの暗号化のキーを190 つ管理し、 日ごとに自動的にローテーションします。このローテーションは透過的であり、ユーザーからのアクションは必要ありません。カスタマー間でキーは 共有されません 。さらに、カスタマーが管理するキーを使用して追加の暗号化レイヤーを適用できます。カスタマーが管理するキーを使用して保管時の暗号化を構成すると、Atlas はデフォルトの暗号化にデータベースレベルの暗号化を追加します。
Atlas は、データが Atlas Infinite クラスターのストレージレイヤーに到達する前に、コンピュートノード上のデータベースレベルでデータを暗号化します。
データベースレベルの暗号化は、 Atlas Core が使用するデフォルトのボリュームレベルのディスク暗号化とは異なります。 Atlas Core の場合、クラウドプロバイダーはストレージボリュームを暗号化します。 Atlas Infinite の場合、Atlas は コンピュートノード を離れる前にデータを暗号化し、暗号化されたデータを保存します。
MongoDB は組織ごとに個別のキーを管理するため、デフォルトの暗号化を使用するクラスターの場合、Atlas は組織間の復元をサポートしておらず、 同じ組織内のプロジェクト間の復元のみをサポートします。
Atlas Infinite アーキテクチャの詳細については、 「 MongoDB Atlas Infinite: 概要 」を参照してください。
カスタマー マネージド キー
CMK(Customer MongoDB CMK)は、独自のキー(BYEK)とも呼ばれますが、暗号化のキーを所有および管理します。 Atlas Core では、次のキー管理プロバイダーの 1 つ以上を使用できます。
public previewの Atlas Infinite では、Atlas はAWS KMS を通じてのみカスタマー マネージド キーをサポートします。 Azure Key Vault と Google Cloud KMS は、public preview中はサポートされていません 。また、プロジェクト間復元と組織間復元はサポートされていません。
カスタマー マネージド キーが無効になった場合、Atlas は予定されている次回 KMS 検証チェックでクラスターをシャットダウンします。 Atlas がキー構成を検証する方法については、「 KMS 構成の検証 」を参照してください。
カスタマーキー管理の仕組み(Atlas Core)
Atlas では、エンベロープ暗号化というプロセスに沿ってカスタマー キーを管理します。このプロセスでは、あるキーを別のキーで暗号化することによって複数の暗号化レイヤーが作成されます。カスタマー キー管理を有効にするために、MongoDB Atlas では以下の暗号化キーが使用されます。
Customer-Managed Key (CMK)カスタマー管理キーは、キー管理プロバイダーで作成、所有、管理する暗号化のキーです。キー管理プロバイダーで CMK を作成し、 プロジェクト レベルで Atlas に接続します。キー管理プロバイダーで使用される CMK の詳細については、キー管理プロバイダーのドキュメントを参照してください。
Atlas はこのキーを MongoDB マスター キーの暗号化にのみ使用します。
キー ローテーション
Atlas は、カスタマーがマネージドな暗号化のキーをローテーションできません。キーのローテーションに関するガイダンスについては、キー管理プロバイダーのドキュメントを参照してください。プロジェクトでカスタマーキー管理を設定すると、MongoDB Atlas は 90 日間のキーローテーションアラート を作成します。
Atlas Core の場合、Atlas はカスタマーが管理するMongoDBマスター キーをローテーションします。
独自のクラウドプロバイダーKMS を使用する場合、Atlas はMongoDBマスターキーを少なくとも 90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが 90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。
Atlas Infinite の場合、Atlas はデフォルトの暗号化のキーを90 日ごとに自動的にローテーションします。
キー タイプ間の移行(Atlas Infinite)
Atlas Infinite では、デフォルトの暗号化とカスタマーが管理するキーをどちらの方向にも移行できます。 Atlas Infinite は移行をキーのローテーションとして扱います。移行中もクラスターは使用可能であり、以前のキーは移行が完了するまで有効のままです。
暗号化されたバックアップ(Atlas Core)
Atlas はすべてのスナップショット ボリュームを暗号化します。これにより、ディスク上のクラスター データが保護されます。クラウドプロバイダーの KMS を使用すると、次のことが可能になります。
バックアップを保存するスナップショット ストレージ ボリュームを暗号化する。
スナップショット内のデータファイルを暗号化する。
暗号化されたスナップショットへのアクセス。詳細については、「暗号化されたスナップショットへのアクセス」を参照してください。
スナップショットの撮影時にアクティブだったキーでスナップショットを復元する。
PIT 復元 oplog データを暗号化する。
無効になったキーで暗号化されたスナップショットを復元することはできません。
基本スナップショット スケジュール を指定して、6 時間ごとにバックアップすることは 可能です 。
注意
暗号化されたスナップショットは、暗号化されていないスナップショットと同じ方法でダウンロードできます。 セキュリティのベストプラクティスとして、プロジェクトの暗号化のキーへのロールベースのアクセスを使用することを推奨します。
スナップショットをダウンロードする方法については、「ローカルにダウンロードしたスナップショットから復元する」を参照してください。
保存済みセキュリティ制御
すべての Atlas セキュリティ制御は、次の内容を含む Atlas Core と Atlas Infinite の両方に適用されます。
はじめる
キー管理プロバイダーを設定し、カスタマーキー管理を有効にするには、「 カスタマー キー管理を使用した保管時の暗号化 」を参照してください。
プロジェクト内のすべてのクラスターと専用の検索配置でカスタマー マネージド キーを要求するには、「 Atlas リソース ポリシー 」を参照してください。