Docs Menu

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

Amazon Web Services IAM ロールを使用して Amazon Web Services KMS キー(保管時の暗号化用)にアクセスできるよう、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 としてプロジェクトに追加する必要があります。

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 ワークフローの図
クリックして拡大します

注意

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

  • M0 無料クラスター

  • Flex クラスター

  • サーバーレスインスタンス(非推奨)

  • M2/M5 共有クラスター(非推奨)

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

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

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

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

AWS CMK のローテーションを手動で、または AWS KMS インスタンスの構成により自動的に行えますAWS CMK の自動ローテーションを構成する場合、デフォルトのローテーション期間は約 365 日です。

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

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

重要

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

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

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

1

警告

ナビゲーションの改善が進行中

現在、新しく改善されたナビゲーション エクスペリエンスを展開しています。次の手順が Atlas UIのビューと一致しない場合は、プレビュー ドキュメントを参照してください。

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

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

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

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

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

    フィールド
    アクション

    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 リージョンのみがリストされます。

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

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

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

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

注意

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

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

1

警告

ナビゲーションの改善が進行中

現在、新しく改善されたナビゲーション エクスペリエンスを展開しています。次の手順が Atlas UIのビューと一致しない場合は、プレビュー ドキュメントを参照してください。

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

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

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

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

2
3

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

4

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

5

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