AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

AWS KMS を使用したカスタマーキーの管理

Atlas プロジェクトを構成し、AWS IAM ロールを使用して、保管時の暗号化用の AWS KMS キーにアクセスできます。プロジェクトで保管時の暗号化を有効にする際に、既存のロールを使用するか、新しいロールを作成できます。

注意

MongoDB Atlas共有責任モデルは、安全で回復力のあるデータ環境を維持するためのMongoDBとそのカスタマーの補完的な役割を定義します。このフレームワークの下、 MongoDB は基礎のプラットフォームのセキュリティと運用上の整合性を管理しますが、カスタマーは特定の配置の構成、管理、データ ポリシーに責任を負います。所有者のセキュリティと運用の優れ性の詳細な内訳については、 共有責任モデル を参照してください。

このページでは、役割ベースのアクセス用に MongoDB Atlasプロジェクトでカスタマーキー管理を設定する方法について説明します。また、 AWS KMS でAWS PrivateLink を設定して、Atlas とAWS KMS 間のすべてのトラフィックがAWSのプライベートネットワークインターフェイス経由で行われるようにすることもできます。

新規または既存の Atlas プロジェクトで保管時の暗号化をまだ有効にしていない場合は、「プロジェクトの暗号化のキーへのロールベース アクセスの有効化」の手順に従って、Atlas プロジェクトの保管時の暗号化を有効にします。保管時の暗号化をすでに有効にし、暗号化のキーへの認証情報ベースのアクセスを構成している Atlas プロジェクトがある場合は、「プロジェクトの暗号化のキーへのロールベース アクセスへの切り替え」手順に従って、暗号化のキーへのロールベース アクセスに切り替えます。

注意

Atlas Infinite

public previewの Atlas Infinite は、 AWS KMS によるカスタマー マネージド キーをサポートします。 Atlas Infinite で保管時の暗号化がどのように機能するかについては、「 Atlas Infinite 暗号化 」を参照してください。

Atlas プロジェクトのカスタマー キー マネジメントを構成してから、そのプロジェクトのクラスターで有効にします。

カスタマー キー マネジメントを構成するには、プロジェクトに対して Project Owner のアクセス権が必要です。

Organization Owner アクセス権を持つユーザーは、自分自身を Project Owner としてプロジェクトに追加する必要があります。

Atlas では、エンベロープ暗号化というプロセスに沿ってカスタマー キーを管理します。このプロセスでは、あるキーを別のキーで暗号化することによって複数の暗号化レイヤーが作成されます。カスタマーキー管理を有効にするために、MongoDB Atlas では以下の暗号化キーが使用されます。

Customer-Managed Key (CMK)

カスタマー管理キーは、 AWS KMS で作成、所有、管理する暗号化のキーです。 AWS KMS で CMK を作成し、 プロジェクト レベルで Atlas に接続します。 AWS KMS で使用される CMK について詳しくは、 AWS KMS ドキュメント を参照してください。

Atlas はこのキーを MongoDB マスター キーの暗号化にのみ使用します。

MongoDB Master Key

Atlasマスター キーを作成しMongoDB 。 MongoDB マスターキーは、MongoDB Server がデータベースごとに暗号化されたキーを暗号化するために使用する暗号化キーです。 Atlas は、キーの暗号化されたコピーをローカルに保存します。

このキーは CMK で暗号化され、データベースごとに暗号化キーを暗号化します。

Per-Database Encryption Key

MongoDB 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 KMS と Atlas を使用した CMK ワークフローの図

注意

この機能は、次の配置では使用できません。

  • 無料クラスター

  • Flex クラスター

詳しくは、「 制限 」を参照してください。

独自のクラウドプロバイダーKMS を使用する場合、Atlas はMongoDBマスターキーを少なくとも90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。

Atlas は、 AWSが提供する保存時の暗号化に使用されるAWS CMK を自動的にローテーション しません 。

ベストプラクティスとして、 Atlasプロジェクトで 保管時の暗号化を有効にするalert 場合、 AWS CMK のローテーションを促すため、Atlas はデフォルトで90 日ごとに を作成します。このアラートの期間は構成により変更できます。

AWS CMK を自分でローテーションすることも、 CMK を自動的にローテーションさせるようAWS KMSインスタンスを構成することも可能です。自動的なAWS CMK ローテーションを構成する場合、ローテーションのデフォルトの期間は約365 日です。

AWSで自動 CMK ローテーションをすでに設定していて、90 日ごとに CMK をローテーションするよう促す Atlasアラートを受信したくない場合は、デフォルトのアラート期間を365 日より長く 変更する か、 を無効にすることができます。アラート。

このページでは、Atlas で新しいキーを作成し、 CMK ID を更新して Atlas プロジェクト CMK をローテーションする方法について説明します。このキーローテーション方法は、AWS KMS の自動 CMK ローテーションと比較して、ローテーション期間のより細かい制御をサポートします。

重要

保管時の暗号化によるクラウドバックアップ

保管時の暗号化 と クラスターのバックアップ を使用するクラスターの場合、Atlas はスナップショットの時点でプロジェクトの CMK とAWS IAM ユーザー認証情報を使用して、スナップショットのデータファイルを自動的に暗号化します。これにより、すべての Atlasストレージおよび snapshot のボリュームに適用されている既存の暗号化に暗号化レイヤーが追加されます。

Atla は、ローテーション後に新しい CMK を使用してスナップショットを再暗号化しません。プロジェクト内のすべてのバックアップ対応クラスターで、その CMK をまだ使用しているスナップショットがあるかどうかを確認するまでは、古い CMK を削除しないでください。Atlas は、バックアップのスケジュール、保持、オンデマンド スナップショットに従ってバックアップを削除します。Atlas が特定の CMK に依存するすべてのスナップショットを削除した後、その CMK を安全に削除できます。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

  4. サイドバーで、Advanced をクリックします。

    詳細ページが表示されます。

2
3
  1. 次の情報を入力します。

    フィールド
    アクション

    AWS IAM role

    KMS キーへのアクセス権をすでに持っている既存の AWS 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 リージョンのみがリストされます。

  2. [Save] をクリックします。

Atlas は、 CMK ローテーション プロセス中に Atlas コンソールにバナーを表示します。変更が配置されるまで、 CMK を削除したり無効にしたり しない でください。

リージョン停止時中は、 AWS KMS リージョンが利用できなくなる可能性があります。カスタマー キー管理を使用した保管時の暗号化を有効にした場合、少なくとも 1 つのノードが使用可能な状態であれば暗号化および復号化操作を実行できます。しかし、すべてのノードが利用できなくなると、暗号操作を実行できなくなります。停止時時にノードが再起動すると、そのノードは利用できなくなります。

使用できないノードを正常な状態に戻すには、現在のAWS KMS リージョンを使用可能なリージョンに再構成します。 KMS リージョンを変更するには、 AWS KMSキーがマルチリージョン キーである必要があります。マルチリージョン キーを作成するには、 AWSドキュメント を参照してください。

注意

単一リージョン キーを複数リージョン キーに変換することはできません。

AWS KMS リージョンを再設定するには、Atlas で次の手順を実行します。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

  4. サイドバーで、Advanced をクリックします。

    詳細ページが表示されます。

2
3

Atlas がデータを再暗号化しないようにするには、 AWS IAM role と Customer Master Key ID が既存の認証情報を反映していることを確認します。

4

マルチリージョン キーを設定した別のAWSリージョンを選択します。

5

AWS KMS からのカスタマー マネージド キー(CMK)を、パブリック ネットワークまたはAWS PrivateLink 経由で使用できます。詳しくは、以下を参照してください。

デフォルトでは 、 MongoDBと検索プロセスは同じノードで実行されます。このアーキテクチャでは、カスタマー マネージドの暗号化はデータベースデータに適用されますが、検索インデックスには適用されません。

専用の検索ノードを有効にすると、検索プロセスは別々のノードで実行されます。これにより、検索ノード データの暗号化が有効になり、データベースデータと検索インデックスの両方を同じカスタマー マネージド キーで暗号化して、包括的な暗号化をカバーすることができます。

public preview中、Atlas Infinite クラスターでは専用検索ノードはサポートされていません。

注意

データベース ノードと検索ノードは、同じカスタマー マネージド キーを使用して異なる暗号化方法を使用します。データベース ノードはWiredTiger暗号化ストレージ エンジン を使用し、検索ノードはディスク レベルの暗号化を使用します。