Docs Menu
Docs Home
/
MongoDB Atlas
/ /

Google Cloud Platform KMSによるカスタマー キーの管理

項目一覧

  • Google Cloud Platform KMSによるカスタマー マネージド キーの有効化
  • 必要なアクセス権
  • 前提条件
  • プロジェクトでのカスタマー マネージド キーの有効化
  • Atlas クラスターのカスタマー キー管理の有効化
  • アラート
  • GCP キー バージョン リソース ID のローテーション
  • MongoDB マスターキー - MongoDB の責任
  • Google Cloud Platform CMK - お客様の責任
  • 前提条件
  • 手順
  • アラート
  • 関連トピック

注意

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

  • サーバーレス インスタンス

  • M0 クラスター

  • M2/M5 クラスター

  • Flex クラスター

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

Google Cloud Platform KMSのカスタマー マネージド キー(CMK)を使用して、 Atlasで保管中のデータをさらに暗号化できます。

Atlasは、 に よる CMK GCPKMSMongoDBを使用して マスター キーを暗号化および復号化します。これはクラスター データベース ファイルと クラウドプロバイダー スナップショット の暗号化に使用されます。AtlasがCMKを使用して暗号化する方法の詳細については、「 GCP KMSでカスタマー マネージド キーを有効にする 」を参照してください。

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

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

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

Customer-Managed Key (CMK)

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

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

MongoDB Master Key

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

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

Per-Database Encryption Key

MongoDB Atlas の各ノードは、クラスター内のデータベースごとに暗号化のキーも作成します。Atlas はこれらのキーを使用して、WiredTiger を介してデータの読み取りと書き込みを行い、WiredTiger はこれらのキーを暗号化して保存します。

このキーは、MongoDB マスターキーで暗号化されます。

ノードが 3 つのレプリカ セットの次の暗号化階層を検討してみましょう。 Atlasは、Google Cloud PlatformKMS の CMKMongoDB を使用して、クラスター内の各ノードで一意の マスター キーを暗号化します。また、各ノードには 3 つのデータベースが含まれており、それぞれがデータベースごとに固有の暗号化キーで暗号化されています。 When the cluster starts up, Atlas decrypts the MongoDB Master Key by using the CMK from Google Cloud KMS and supplies this to the MongoDB Server.

注意

Atlas の CMK へのアクセスを取り消すと、Atlas はクラスター内のノードをシャットダウンし、 CMK へのアクセスを復元するまでデータにアクセスできなくなります。

Google Cloud Platform KMSとAtlasによる CMK ワークフローの図
クリックして拡大します

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

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

プロジェクトで を使用してカスタマー マネージド キーを有効にするには、次のものが必要です。Google Cloud PlatformKMSMongoDB

  • M10 以上のクラスターを使用します。

  • Google Cloud Platformサービス アカウント キー。

  • Google Cloud Platform KMSの対称暗号化キー。

  • 暗号化キーに関連付けられた キー バージョンID Google Cloud PlatformKMSリソース 。

  • サービス アカウント キーで指定された認証情報を持つGoogle Cloud Platformサービス アカウントと、次の権限を持つ Google Cloud Platform サービス アカウント。

    • Google Cloud Platform KMS暗号化キーのバージョンを取得します。

    • Google Cloud Platform KMS暗号化キー バージョンを使用してデータを暗号化します。

    • Google Cloud Platform KMS暗号化キーを使用してデータを復号化します。

    注意

    キー バージョンではなく、キーが復号を取り扱います。

  • 構成で必要な場合は、「 アクセスGCP レベルGoogle Cloud PlatformKMS の作成 」を参照してください。 のAtlasIP アドレス とクラスター ノードのパブリックIP アドレスまたは DNS ホスト名を指定し、Atlas KMSが と通信できるようにします。ノードの IP アドレスが 変更された 場合は、接続の中断を回避するために構成を更新する必要があります。

Tip

以下も参照してください。

プロジェクト内のクラスターで有効にする前に、プロジェクトでカスタマー キー管理を有効にする必要があります。

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

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

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

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

2
3
4

Service Account Keyは JSON オブジェクトとしてフォーマットする必要があります。 これには、GCP サービス アカウントの暗号化認証情報が含まれています。

6

プロジェクトでカスタマー マネージド キーを有効 にした後、暗号化するデータを含む各 Atlas クラスターに対してカスタマー キー マネジメントを有効にする必要があります。

注意

該当プロジェクト内のクラスターのカスタマー キー管理を有効にするには、Project Owner ロールが必要です。

新しいクラスターの場合は、クラスターを作成するときに 独自の暗号化キーの管理設定を [Yes] に切り替えます。

既存クラスターの場合:

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

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

  3. まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。

    [ Clusters (クラスター) ] ページが表示されます。

2

暗号化するデータを含むクラスターで、クリックします、次にEdit Configurationを選択します。

3
  1. [Additional Settings] パネルを展開します。

  2. Manage your own encryption keys 設定を Yes に切り替えます。

  3. クラスターのRequire Private Networking設定のステータスを確認します。

    プロジェクト レベルで Atlas のCMKを使用した保管時の暗号化(オーバープライベート ネットワーク)を構成した場合、ステータスはActiveです。 プロジェクトにプライベートエンドポイント接続を構成していない場合、ステータスはInactiveです。

4
  1. [Review Changes] をクリックします。

  2. 変更内容を確認し、[Apply Changes] をクリックしてクラスターをアップデートします。

Atlas では、プロジェクトのカスタマー キー管理を設定すると、 encryption key rotation alertが自動的に作成されます。 このアラートはGCP キー バージョン リソース ID をローテーションすることでいつでもリセットできます。

注意

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

  • サーバーレス インスタンス

  • M0 クラスター

  • M2/M5 クラスター

  • Flex クラスター

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

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

Atlasは、 キー管理に使用されるキー バージョン リソース を自動的にローテーションしませID Google Cloud Platformん 。

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

Google Cloud Platformローテーション が可能 CMK を自分で作成するか、 インスタンスをGoogle Cloud PlatformKMS 自動的にローテーションする ように構成します CMK 。Google Cloud Platform CMKの自動ローテーションを構成する場合、デフォルトのローテーション期間は約 365 日です。

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

プロジェクトに関連付けられた アカウントに新しいサービス アカウント キーを作成する必要があります。Google Cloud PlatformAtlas

次の手順では、Atlas で新しいキー バージョン リソース ID を指定して、Atlas プロジェクト キー識別子をローテーションする方法を説明します。

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

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

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

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

2
3
  1. Google Cloud KMSタブがまだアクティブになっていない場合は、 Google Cloud KMSをクリックします。

  2. Encryption Key Credentialsダイアログ ボックスがまだ表示されていない場合は、 Encryption Key Credentialsを展開します。

  3. Key Identifierエントリに GCP キー バージョン リソース ID を入力します。

    CryptoKeyVersion の完全修飾リソース名を含めます。

    projects/my-project-0/locations/us-east4/keyRings/my-key-ring-0/cryptoKeys/my-key-0/cryptoKeyVersions/1

    Google Cloud Platform暗号化のキーは、Atlas プロジェクト用に構成された サービス アカウント キーに属している 必要 があります。プロジェクトに現在設定されているサービス アカウント キーを表示するには、[ Service Account Key ] セクションをクリックします。

  4. [Update Credentials] をクリックします。

Atlas は、キー識別子のローテーション プロセス中に Atlas コンソールにバナーを表示します。

警告

変更が配置されるまで、元のキー バージョン リソース ID を削除したり無効にしたり しない でください。

クラスターが クラスターのバックアップを使用する場合は、スナップショットが暗号化にそのキーを使用していないことを確認するまで、元のキー バージョン リソース ID を削除したり無効にしたり しないでください。

Atlas は、この手順の完了時にencryption key rotation alertタイマーをリセットします。

戻る

プライベートエンドポイント経由のアクセスの設定