Google Cloud Platform KMSによるカスタマー キーの管理
項目一覧
注意
Google Cloud Platform KMSのカスタマー マネージド キー(CMK)を使用して、 Atlasで保管中のデータをさらに暗号化できます。
Atlasは、 に よる CMK GCPKMSMongoDBを使用して マスター キーを暗号化および復号化します。これはクラスター データベース ファイルと クラウドプロバイダー スナップショット の暗号化に使用されます。AtlasがCMKを使用して暗号化する方法の詳細については、「 GCP KMSでカスタマー マネージド キーを有効にする 」を参照してください。
独自のクラウドプロバイダーKMS Bluetooth を使用する場合、Atlas はMongoDBマスター キーを少なくとも90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが 90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。
Atlas プロジェクトのカスタマー キー マネジメントを構成してから、そのプロジェクトのクラスターで有効にします。
Google Cloud Platform KMSによるカスタマー マネージド キーの有効化
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 へのアクセスを復元するまでデータにアクセスできなくなります。
必要なアクセス権
カスタマー キー マネジメントを構成するには、プロジェクトに対して 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
以下も参照してください。
次の方法については、 Google Cloud Platformのドキュメントを参照してください。
プロジェクトでのカスタマー マネージド キーの有効化
プロジェクト内のクラスターで有効にする前に、プロジェクトでカスタマー キー管理を有効にする必要があります。
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoAdvanced
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のAdvancedをクリックします。
詳細ページが表示されます。
Atlas クラスターのカスタマー キー管理の有効化
プロジェクトでカスタマー マネージド キーを有効 にした後、暗号化するデータを含む各 Atlas クラスターに対してカスタマー キー マネジメントを有効にする必要があります。
注意
該当プロジェクト内のクラスターのカスタマー キー管理を有効にするには、Project Owner
ロールが必要です。
新しいクラスターの場合は、クラスターを作成するときに 独自の暗号化キーの管理設定を [Yes] に切り替えます。
既存クラスターの場合:
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
アラート
Atlas では、プロジェクトのカスタマー キー管理を設定すると、 encryption key rotation alert
が自動的に作成されます。 このアラートはGCP キー バージョン リソース ID をローテーションすることでいつでもリセットできます。
GCP キー バージョン リソース ID のローテーション
注意
MongoDB マスターキー - MongoDB の責任
独自のクラウドプロバイダーKMS Bluetooth を使用する場合、Atlas はMongoDBマスター キーを少なくとも90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが 90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。
Google Cloud CMK - お客様の責任
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 プロジェクト キー識別子をローテーションする方法を説明します。
AtlasGoAdvancedAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のAdvancedをクリックします。
詳細ページが表示されます。
GCP キーの詳細を更新します。
Google Cloud KMSタブがまだアクティブになっていない場合は、 Google Cloud KMSをクリックします。
Encryption Key Credentialsダイアログ ボックスがまだ表示されていない場合は、 Encryption Key Credentialsを展開します。
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 ] セクションをクリックします。
[Update Credentials] をクリックします。
Atlas は、キー識別子のローテーション プロセス中に Atlas コンソールにバナーを表示します。
警告
変更が配置されるまで、元のキー バージョン リソース ID を削除したり無効にしたり しない でください。
クラスターが クラスターのバックアップを使用する場合は、スナップショットが暗号化にそのキーを使用していないことを確認するまで、元のキー バージョン リソース ID を削除したり無効にしたり しないでください。
アラート
Atlas は、この手順の完了時にencryption key rotation alert
タイマーをリセットします。
関連トピック
Atlas クラスターの配置時にキー管理を使用して保管時の暗号化を有効にするには、「独自の暗号化キーの管理 」を参照してください。
既存の Atlas クラスターでキー管理を使用して保管時の暗号化を有効にするには、 「 保管時の暗号化の有効化 」を参照してください。
Atlas でキー管理を使用した保管時の暗号化の詳細については、「 カスタマー キー管理を使用した保管時の暗号化 」を参照してください。
MongoDB の保存時の暗号化の詳細については、MongoDB サーバーのドキュメントの「保存時の暗号化」を参照してください。
クラウドバックアップによる保管時の暗号化について詳しくは、「ストレージ エンジンとクラウドバックアップの暗号化」を参照してください。