Atlasは、Advanced Encryption Standard (AES)-256を使用して保管中のデータを暗号化します。保管時の暗号化は常に有効になっており、無効にすることはできません。
Atlas が使用する暗号化レイヤーと、データを保護するキーは、データベースのエディションと、お客様が独自の暗号化のキーを持ち込むかどうかによって異なります。
データベースエディション別の暗号化レイヤー
Atlasのどのエディションを選択しても、データは常にデフォルトで暗号化された。
Atlas Core暗号化
Atlas Core の場合、ご利用のクラウドプロバイダーは、クラスターデータが格納されているストレージボリュームを暗号化します。クラウドプロバイダーは、このディスク暗号化を自動化し、KMS 内で暗号化のキーを管理します。このデフォルトのボリュームレベルのディスク暗号化は設定は不要で、常に有効になっており、無効化できません。カスタマー マネージド キーを使用したデータベース レベルの保管時の暗号化を有効にすることで、セキュリティをさらに強化できます。
カスタマー管理キーを使用して保管時の暗号化を構成すると、Atlasはデフォルトのディスク暗号化に加えてデータベースレベルの暗号化を追加します。カスタマーマネージドキーの構成方法を学ぶには、「カスタマー キー マネジメントを使用した保管時の暗号化」を参照してください。
Atlas Infinite暗号化
Atlas Infiniteでは、保管時の暗号化がデフォルトで有効になっており、データベース全体に常に適用されます。クラスターは共有ストレージレイヤーで実行されるため、保管時の暗号化をボリュームレベルで構成したり、無効にしたりすることはできません。MongoDBは、各Atlas組織に対して1つの固有のデフォルト暗号化のキーをマネージドし、90日ごとに自動的にローテーションします。このローテーションは透過的であり、カスタマーによるアクションは必要ありません。キーがカスタマー間で共有されることはありません。さらに、カスタマーマネージドキーを使用して追加の暗号化レイヤーを適用することもできます。カスタマーマネージドキーを使用して保管時の暗号化を構成すると、Atlasはデフォルトの暗号化に加えてデータベースレベルの暗号化を追加します。
Atlasは、Atlas Infiniteクラスターのストレージ層にデータが到達する前に、コンピュートノード上のデータベースレベルでデータを暗号化します。
Atlas Infiniteは、エンベロープ暗号化を使用してデータを保護します。Atlasはデータ暗号化キーでデータを暗号化し、それらのキーをキー暗号化のキー(KEK)で暗号化します。MongoDBは、個々のコンピューティングノードではなく、ストレージレイヤーでKEKをマネージドします。その結果、クラスター内のすべてのコンピューティングノードは、ストレージレイヤーから受信したデータを復号化できます。
データベースレベルの暗号化は、Atlas Core が使用するデフォルトのボリュームレベルのディスク暗号化とは異なります。Atlas Core では、クラウドプロバイダーがストレージ ボリュームを暗号化します。Atlas Infinite の場合、Atlas はコンピュート ノードから出る前にデータを暗号化し、暗号化された状態でデータを保存します。
MongoDBは組織ごとに個別のキーを管理しているため、デフォルトの暗号化を使用するクラスターの場合、Atlasは組織間での復元をサポートしておらず、同じ組織内のプロジェクト間での復元のみをサポートしています。
Atlas Infiniteアーキテクチャの詳細については、「MongoDB Atlas Infinite: 概要」を参照してください。
カスタマーマネージドキー
カスタマーマネージドキー(CMK)は、Bring Your Own Key(BYOK)とも呼ばれ、暗号化のキーを所有および制御できます。Atlas Coreでは、以下の1つ以上のキーマネジメントプロバイダーを使用できます。
パブリックプレビュー中のAtlas Infiniteでは、AtlasはAWS KMSを通じてのみカスタマー管理キーをサポートします。パブリックプレビュー中は、Azure Key VaultおよびGoogle Cloud Platform KMSはサポートされていません。さらに、カスタマー管理キーでは、プロジェクト間および組織間の復元はサポートされていません。
カスタマーマネージドキーが無効になった場合、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 リソース Policies」を参照してください。