注意
このページは、Atlas InfiniteとAtlas Coreの両方に適用されます。
カスタマーマネージドキーを使用してデータベースレベルの保管時の暗号化を有効にすることで、データのセキュリティをさらに強化できます。ユーザーはクラウドプロバイダーの KMS 内に保存されている暗号化のキーを所有し、制御します。Atlas が保管中のデータをどのように暗号化し、利用可能なキーの種類がどのように異なるかを学ぶには、「Atlas 保管時の暗号化の概要」を参照してください。
キー管理機能を使用して保管時の暗号化を構成すると、Atlas プロジェクトに追加料金が発生します。詳細については、「高度なセキュリティ」を参照してください。
注意
プロジェクト内のすべてのクラスターと専用サーチ配置で保管時の暗号化のカスタマーマネージドキーが有効になっていることを強制するには、Atlas リソースポリシーを使用します。リソースポリシーを使用すると、クラスターまたはサーチ配置を作成または変更する前に CMK を要求できます。
Atlas プロジェクト向けに保管時の暗号化を構成する際、次のカスタマー キー管理プロバイダーの 1 つ以上を使用できます。
注意
Atlas Infiniteのパブリックプレビューには、カスタマーキーマネジメントに適用する制限がいくつかあります。全リストについては、パブリックプレビューの制限事項をご覧ください。
パブリックプレビューにおいて、AtlasはAtlas Infiniteでのみ、Amazon Web Services KMSを介したカスタマー管理キーをサポートしています。Azure Key VaultおよびGoogle Cloud Platform KMSはサポートされていません。Atlas Infiniteクラスターがカスタマー管理キーを使用している場合、そのスナップショットを作成したプロジェクト内で復元する必要があります。プロジェクト間および組織間の復元はサポートされていません。
Atlasプロジェクトにキー管理プロバイダーを 1 つ以上構成したら、暗号化が必要な Atlas クラスターごとにカスタマー キー管理を有効にできます。キー管理プロバイダーは、クラスター クラウド サービス プロバイダーと同じである必要はありません。
Atlas Infiniteクラスターでは、デフォルトの暗号化とカスタマーマネージドキーの間で、どちらの方向にも移行できます。Atlas Infiniteは移行をキーローテーションとして扱います。クラスターは利用可能な状態を維持し、移行が完了するまで前のキーは有効なままです。詳細については、「Atlas Infinite 暗号化」を参照してください。
注意
カスタマーキー管理を有効または無効にすると、Atlas は最初の同期を実行してクラスター データを再び暗号化します。クラスター上のMongoDB Search およびMongoDB ベクトル検索インデックスも再構築されます。
または、M10 以上の Atlas クラスターを Azure リージョンのみに配置しているプロジェクトの場合は、Atlas Administration API を使用して、AKV 内に Azure Private Link を自動的に作成できます。これにより Atlas は AKV と Azure のプライベート ネットワーク インターフェースを介して安全に通信できるようになります。詳細については、Azure Key Vault を使用したカスタマー キーの管理を参照してください。
KMS プロバイダーが利用できなくなっても、実行中のクラスターは無効になりません。このようなクラスターを再起動し、キーが取り消されている場合、Atlas はそれを無効にします。
データ分類レベルや使用する暗号化のタイプなど、暗号化の推奨事項 の詳細については、Atlas アーキテクチャ センターの「Atlas データ暗号化の推奨事項」を参照してください。
注意
For clusters with encryption at rest using customer-managed keys, Atlas data validation requires extra access to your KMS to decrypt data. To learn more, see Data Validation KMS Usage.
必要なアクセス権
カスタマー キー マネジメントを構成するには、プロジェクトに対して Project Owner のアクセス権が必要です。
Organization Owner アクセス権を持つユーザーは、自分自身を Project Owner としてプロジェクトに追加する必要があります。
カスタマー キー管理による Atlas の構成
キーマネジメントを使用した保管時の暗号化には、有効なキーマネジメントプロバイダーの認証情報と暗号化のキーが必要です。これらの詳細を提供し、カスタマー キー管理を有効にするには、以下の手順に従ってください。
Atlas で、プロジェクトの Advanced ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
サイドバーで、Advanced をクリックします。
詳細ページが表示されます。
(任意)Search Node Data Encryption の横にあるボタンを On に切り替えます。
You can optionally enable encryption for all data on Search Nodes. You can also enable this feature later.
To learn more, see Enable Customer Key Management for Search Nodes.
(オプション)Atlas コントロール プレーンをアクセス先またはアクセス元として許可します。
To learn more, see Allow Access From the Atlas Control Plane.
Atlas Control Plane からのアクセス許可
KMS 構成によっては、Atlas が KMS と通信できるように、次の IP アドレスを KMS アクセス リストに追加する必要があります。追加する IP アドレスは次のとおりです。
Atlas Control Plane の外向き IP アドレス
Atlas クラスター ノードのパブリック IP アドレス (データ プレーン)
Atlas と KMS 間の通信を有効にするには、次の操作を実行します。
エンドポイントに GET returnAllControlPlaneIpAddresses リクエストを送信します。
The API endpoint returns a list of inbound and outbound Atlas control plane IP addresses in CIDR categorized by cloud provider and region. To learn more, see the prerequisites for managing customer keys with AWS, Azure, and GCP.
Atlas クラスターのカスタマー キー管理の有効化
After you Configure Atlas with Customer Key Management, you must enable customer key management for each Atlas cluster that has data that you want to encrypt.
注意
該当プロジェクト内のクラスターのカスタマー キー管理を有効にするには、Project Owner ロールが必要です。
新しいクラスターの場合:
任意: 新しいクラスター ノードの IP アドレスを追加します。
キー管理構成によっては、Atlas クラスター ノードの IP アドレスをクラウドプロバイダーの KMS アクセス リストに追加して、クラスターが KMS と通信できるようにする必要があります。クラスターと KMS 間の通信を有効にするには、次の操作を実行します。
ipAddressesエンドポイントに GET リクエストを送信します。returnAllIpAddresses API エンドポイントは、新しいクラスター ノードからの IP アドレスのリストを次のように返します。{ "groupId": "xxx", // ObjectId "services": { "clusters": [ { "clusterName": "Cluster0", "inbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ], "outbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ] } ] } } 返された IP アドレスをクラウドプロバイダーの IP アクセス リストに追加します。IP アクセス リストは、プロビジョニング プランのロールバック前に、変更する必要があります。クラスターは、プロビジョニング プランが IP アクセス制限からロールバックする前に、最大 3 日間プロビジョニングを試みます。
詳細については、AWS、Azure、GCP でカスタマー キーを管理するための前提条件を参照してください。
注意
IP アクセス リストの更新にさらに時間が必要な場合は、次の解決策があります。
保管時の暗号化機能を使用せずにクラスターをプロビジョニングし、IP アクセス リストをアップデートしてから有効にします。
クラウドプロバイダーの KMS でより包括的な IP アクセス リストを構成し、保管時の暗号化を使用してクラスターを起動してから、IP アクセス リストを変更します。
既存クラスターの場合:
Atlas で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
検索ノードのカスタマー キー管理の有効化
When configuring Customer Key Management for your project, you can also enable encryption with Customer Key Management for your Search Nodes. This ensures that your MongoDB Search and MongoDB Vector Search workloads, including indexes, are fully encrypted with your customer-managed keys.
この機能は KMS プロバイダー全体で利用できます。
カスタマー マネージド キーを使用して検索ノードデータの暗号化を有効にする方法は以下のとおりです。
Atlas で、プロジェクトの Advanced ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
サイドバーで、Advanced をクリックします。
詳細ページが表示されます。
カスタマー キー管理を使用するか、構成を編集して保管時の暗号化を有効にします。
カスタマー キー管理をまだ構成していない場合は、「カスタマー キー管理で Atlas を構成」の手順に従います。
それ以外の場合は、Encryption at Rest using your Key Management の横にある Edit ボタンをクリックします。
[Save] をクリックします。
After you enable Search Node Data Encryption at the project level, Atlas enables it at the cluster level when you configure cluster encryption for any new or existing clusters with Search Nodes. Atlas encrypts the Search Nodes using the customer-managed key and rebuilds any search indexes. The length of this process depends on the size and number of your indexes.
注意
プロジェクトレベルでカスタマーキーマネジメントを無効にするか、カスタマー管理キーが無効になると、Atlas はクラスターを一時停止し、Search ノードを削除するため、データベース クエリが利用できなくなります。
When you re-enable Customer Key Management or fix your key configuration, Atlas unpauses your cluster, provisions new Search Nodes, and performs an initial sync. Search functionality resumes when the initial sync completes.
暗号化された Atlas クラスターへのノードの追加
レプリカセット クラスターまたはシャーディングされたクラスターにノードまたはシャードを追加する。
M10 以降のクラスターに選出可能なノードを追加するか、シャーディングされたクラスター内のシャードの数を増やすことができます。
任意: 新しいクラスター ノードまたはシャードから IP アドレスを追加する。
キー管理構成によっては、Atlas クラスター ノードの IP アドレスをクラウドプロバイダーの KMS アクセス リストに追加して、クラスターが KMS と通信できるようにする必要があります。クラスターと KMS 間の通信を有効にするには、次の操作を実行します。
ipAddressesエンドポイントに GET リクエストを送信します。この returnAllIpAddresses API エンドポイント は、新しいクラスター ノードまたはシャードからの IP アドレスのリストを次のように返します。{ "groupId": "xxx", // ObjectId "services": { "clusters": [ { "clusterName": "Cluster0", "inbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ], // List<String> "outbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ] } ] } }
KMS 構成の検証
Atlas は KMS 構成を検証します。
認証情報を追加または更新するとき。
15 分ごと。
保管時の暗号化 API エンドポイントを使用して、オンデマンドで。
Atlas shuts down all mongod and mongos processes on the next scheduled validity check if one of the following conditions exist:
キー管理プロバイダーの認証情報が無効になった
暗号化のキーを誰かが削除または無効にした
Atlas がキー管理マネジメントプロバイダーに接続できない場合、または Atlas が誤ったアラームの可能性を検出した場合でも、Atlas はプロセスをシャットダウンしません。すべての新しいプロジェクトで KMS ネットワークへのアクセス失敗が伝達されるように、Encryption at Rest KMS network access denied アラートはデフォルトで有効になっています。アラート設定を構成できます。
Atlas がクラスターをシャットダウンすると、次のイベントが発生します。
Atlas は、影響を受けるすべてのクラスターのリストを作成して、
Project Ownerに送信します。Clusters ページには、保管時の暗号化設定が無効なため、Atlas がクラスターを無効にした状態が反映されています。
無効にされたクラスターではデータの読み取りも書き込みもできません。ディスクやインスタンス サイズの変更などの更新は、無効にされたクラスターに送信できます。Atlas はユーザーが暗号化キーを復元すると、こうした変更を処理します。また、メンテナンスとセキュリティ パッチの適用は継続します。無効にされたクラスターではすべてのデータが保持されるため、課金は継続されます。
注意
仮想マシンの電源
Atlas は、クラスターが無効になっている間も、クラスターが実行中の仮想マシン(VM)を停止しません。Atlas がサーバーを再起動するパッチを実行する場合がありますが、VM の電源はオフとオンに切り替わりません。
データへのアクセス権を復活するには、次のアクションを実行します。
Update your credentials if they have changed since configuring Atlas with Customer Key Management.
Restore your key if it has been disabled or deleted.
![[再試行] ボタンは、Atlas Advanced Security 設定の [CMK ID] フィールドの右側にあります](/ja-jp/docs/atlas/_next/static/images/atlas/images/encryptionatrest-try-again.png)
構成を更新してから、[Try Again] をクリックして有効にします。再試行しない場合、Atlas は予定される次回のチェックで検証します。Atlas で構成の有効性が確認されると、すべての mongod と mongos プロセスが再開します。
警告
キーが削除された場合、キーを復元してクラスターへのアクセスを回復します。有効なキーがないと、カスタマー キー マネジメントを使用してキーを変更したり、保管時の暗号化を無効にしたりすることはできません。
削除されたキーの復元
削除されたキーを復元するには、キー管理プロバイダーのドキュメントを参照してください。
AWS KMS: CMK の削除
Azure Key Vault: 削除されたキーの復元
GCP KMS: キーのバージョンの破棄と復元
データ検証 KMS 使用状況
カスタマーマネージドキーを使用する保管時の暗号化が有効なクラスターの場合、Atlas データ検証には、検証チェック中にデータの復号化を行うために余計な KMS アクセスが必要です。
データ検証は、すべてのプロジェクトでデフォルトで有効になっています。余計な KMS のコスト、リクエスト、またはセキュリティの考慮が要件と一致しない場合は、オプトアウトできます。
KMS の使用
データ検証が有効になっている場合、検証インスタンスは暗号化されたクラスターからデータを複号化するため、お客様の KMS に対してより多くのリクエストを行います。
リクエストボリューム:
Atlas は検証中に、レプリカセットのノードごとに 1 時間に約 1 件の復号リクエストを行います。7 日間の検証ウィンドウを持つ標準の 3 ノードレプリカセットでは、約 500 件の KMS リクエストが追加で発生します。
見積もりコスト:
ほとんどのクラスターでは、検証に関連する KMS コストは最小限です。現在の価格については、お使いのクラウドプロバイダーのドキュメントを参照してください。
セキュリティに関する考慮事項:
検証インスタンスは、KMS 監査ログに余計なプリンシパルとして表示されます。
KMS で IP アローリストを使用する場合は、検証インスタンスの IP 範囲をアローリストに追加する必要がある可能性があります。
検証インスタンスは、クラスター ノードと同じカスタマー マネージド キーを使用します。
For the current list of validation instance IP ranges, contact MongoDB Support.
暗号化されたクラスターの IP アローリスト構成
ほとんどの KMS 設定では、データ検証のために余計 IP アローリストの変更は必要としません。ただし、お使いの KMS が IP ベースのアクセス制御を使用している場合 (例: ファイアウォール制限ありの Azure Key Vault)、検証インスタンスの IP 範囲をアローリストに追加する必要があります。それ以外の場合、検証に失敗します。
KMS の IP アローリストを設定するには:
Amazon Web Services KMSは通常、IAM ロールによるアクセスを許可します。IAM ポリシーで Atlas ロールが許可されている場合、検証インスタンスに追加の IP アローリスト構成は必要ありません。
Azure Key Vaultは通常、厳密なIP許可リストを使用します。KMSアクセスエラーで検証が失敗した場合は、Atlas検証IP範囲をAzure Key Vaultネットワークルールに追加します。
Azure ポータルで、Key Vault に移動します。
左側メニューからNetworkingを選択します。
Firewalls and virtual networksで、Atlas 検証 IP 範囲を追加します。
[Save] をクリックします。
Google Cloud Platform KMS は通常、サービス アカウントによるアクセスを許可します。IAM ポリシーで Atlas サービス アカウントが許可されている場合、検証インスタンスに追加の IP アローリスト構成は必要ありません。
データ検証の詳細については、「クラスター整合性のデータ検証」を参照してください。