Amazon EBS暗号化 - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EBS暗号化

EC2 インスタンスに関連付けられたEBSリソースの簡単な暗号化ソリューションEBSとして Amazon 暗号化を使用します。Amazon EBS暗号化では、独自のキー管理インフラストラクチャを構築、保守、保護する必要はありません。Amazon EBS暗号化は、暗号化されたボリュームとスナップショットを作成する AWS KMS keys ときに を使用します。

暗号化オペレーションは、EC2インスタンスをホストするサーバーで実行され、インスタンスとそのアタッチされたEBSストレージ data-in-transit 間の data-at-rest と の両方のセキュリティが確保されます。

1 つのインスタンスに対し、暗号化されたボリュームと暗号化されていないボリュームの両方を、同時にアタッチできます。

EBS 暗号化の仕組み

EC2 インスタンスのブートボリュームとデータボリュームの両方を暗号化できます。

暗号化されたEBSボリュームを作成し、サポートされているインスタンスタイプにアタッチすると、次のタイプのデータが暗号化されます。

  • ボリューム内で保管中のデータ

  • ボリュームとインスタンスの間で移動されるすべてのデータ

  • ボリュームから作成されたすべてのスナップショット

  • それらのスナップショットから作成されたすべてのボリューム

Amazon EBS は、業界標準の AES-256 データ暗号化を使用して、データキーでボリュームを暗号化します。データキーは によって生成され AWS KMS 、 によって AWS KMS キー AWS KMS で暗号化された後、ボリューム情報とともに保存されます。すべてのスナップショット、および同じ AWS KMS キーを使用してそれらのスナップショットから作成された後続のボリュームは、同じデータキーを共有します。詳細については、AWS Key Management Service デベロッパーガイドデータキーを参照してください。

Amazon EC2は と連携して AWS KMS 、暗号化されたEBSボリュームの作成元のスナップショットが暗号化されているか、暗号化されていないかに応じて、少し異なる方法でボリュームを暗号化および復号化します。

スナップショットがEBS暗号化されている場合の暗号化の仕組み

所有している暗号化されたスナップショットから暗号化されたボリュームを作成すると、Amazon EC2は と連携して、次のようにEBSボリューム AWS KMS を暗号化および復号化します。

  1. Amazon は、ボリューム暗号化用に選択したKMSキーを指定して AWS KMS、 にGenerateDataKeyWithoutPlaintextリクエストEC2を送信します。

  2. ボリュームがスナップショットと同じKMSキーを使用して暗号化されている場合、 はスナップショットと同じデータキー AWS KMS を使用し、同じKMSキーで暗号化します。ボリュームが別のKMSキーを使用して暗号化されている場合、 は新しいデータキー AWS KMS を生成し、指定したKMSキーで暗号化します。暗号化されたデータキーは Amazon に送信されEBS、ボリュームメタデータとともに保存されます。

  3. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon はデータキーを復号 AWS KMS 化できるように にCreateGrantリクエストEC2を送信します。

  4. AWS KMS は、暗号化されたデータキーを復号し、復号されたデータキーを Amazon に送信しますEC2。

  5. Amazon EC2は、Nitro ハードウェアのプレーンテキストデータキーを使用して、ボリュームへのディスク I/O を暗号化します。プレーンテキストデータキーは、ボリュームがインスタンスにアタッチされる限り、メモリ内で維持されます。

スナップショットがEBS暗号化されていない場合の暗号化の仕組み

暗号化されていないスナップショットから暗号化されたボリュームを作成すると、Amazon EC2は と連携して AWS KMS 、次のようにEBSボリュームを暗号化および復号化します。

  1. Amazon は、スナップショットから作成されたボリュームを暗号化できるように AWS KMS、 にCreateGrantリクエストEC2を送信します。

  2. Amazon は、ボリューム暗号化用に選択したKMSキーを指定して AWS KMS、 にGenerateDataKeyWithoutPlaintextリクエストEC2を送信します。

  3. AWS KMS は新しいデータキーを生成し、ボリュームの暗号化用に選択したKMSキーで暗号化し、暗号化されたデータキーを Amazon に送信EBSしてボリュームメタデータとともに保存します。

  4. Amazon EC2は、暗号化されたデータキーを復号 AWS KMS 化するために Decrypt リクエストを に送信します。その後、Amazon はこれを使用してボリュームデータを暗号化します。 https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html

  5. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon はデータキーを復号 AWS KMS化できるように にCreateGrantリクエストEC2を送信します。

  6. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2は暗号化されたデータキーを指定して AWS KMS Decrypt リクエストを に送信します。 https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html

  7. AWS KMS は、暗号化されたデータキーを復号し、復号されたデータキーを Amazon に送信しますEC2。

  8. Amazon EC2は、Nitro ハードウェアのプレーンテキストデータキーを使用して、ボリュームへのディスク I/O を暗号化します。プレーンテキストデータキーは、ボリュームがインスタンスにアタッチされる限り、メモリ内で維持されます。

詳細については、「 デベロッパーガイド」の「Amazon Elastic Block Store (Amazon EBS) が を使用する AWS KMS方法」および「Amazon EC2 の例 2」を参照してください。 AWS Key Management Service

使用できないKMSキーがデータキーに与える影響

KMS キーが使用できなくなると、その効果はほぼ即時に発生します (結果整合性が伴います)。KMS キーのキーステータスは新しい条件を反映するように変更され、暗号化オペレーションでKMSキーを使用するすべてのリクエストは失敗します。

KMS キーを使用できないようにするアクションを実行しても、EC2インスタンスまたはアタッチされたEBSボリュームにすぐに影響はありません。Amazon EC2 は、ボリュームがインスタンスにアタッチされている間、キーではなくデータKMSキーを使用してすべてのディスク I/O を暗号化します。

ただし、暗号化されたEBSボリュームがEC2インスタンスからデタッチされると、Amazon は Nitro ハードウェアからデータキーEBSを削除します。次回、暗号化されたEBSボリュームがEC2インスタンスにアタッチされると、Amazon はKMSキーを使用してボリュームの暗号化されたデータキーを復号EBSできないため、アタッチメントは失敗します。EBS ボリュームを再度使用するには、KMSキーを再度使用できるようにする必要があります。

ヒント

使用不可にする予定のKMSキーから生成されたデータキーで暗号化されたEBSボリュームに保存されているデータにアクセスしなくなった場合は、KMSキーを使用不可にする前にEC2、インスタンスからEBSボリュームをデタッチすることをお勧めします。

詳細については、「 AWS Key Management Service デベロッパーガイド」の「使用できないKMSキーがデータキーに与える影響」を参照してください。

EBS リソースの暗号化

EBS ボリュームを暗号化するには、デフォルトで暗号化を使用するか、暗号化するボリュームの作成時に暗号化を有効にします。

ボリュームを暗号化するときは、ボリュームの暗号化に使用する対称暗号化KMSキーを指定できます。KMS キーを指定しない場合、暗号化に使用されるKMSキーは、ソーススナップショットの暗号化状態とその所有権によって異なります。詳細については、暗号化結果の表を参照してください。

注記

API または を使用してKMSキーを指定する場合は、 がKMSキー AWS CLI を非同期的に AWS 認証することに注意してください。KMS キー ID、エイリアス、またはARN無効な を指定すると、アクションは完了したように見えますが、最終的には失敗します。

既存のスナップショットまたはボリュームに関連付けられているKMSキーは変更できません。ただし、スナップショットのコピーオペレーション中に別のKMSキーを関連付けて、コピーされたスナップショットが新しいKMSキーによって暗号化されるようにすることができます。

作成時の空のボリュームの暗号化

新しい空のEBSボリュームを作成するときは、特定のボリューム作成オペレーションの暗号化を有効にすることで暗号化できます。暗号化をEBSデフォルトで有効にした場合、ボリュームは暗号化用のデフォルトKMSキーを使用して自動的にEBS暗号化されます。または、特定のボリューム作成オペレーションに別の対称暗号化KMSキーを指定することもできます。ボリュームは最初に使用可能になった時点で暗号化されているため、データは常に保護されています。詳細な手順については、Amazon EBSボリュームを作成するを参照してください。

デフォルトでは、ボリュームの作成時に選択したKMSキーは、ボリュームから作成したスナップショットと、それらの暗号化されたスナップショットから復元したボリュームを暗号化します。暗号化されたボリュームまたはスナップショットから暗号化を削除することはできません。つまり、暗号化されたスナップショット、または暗号化されたスナップショットのコピーから復元されたボリュームは、常に暗号化されます。

暗号化されたボリュームのパブリックスナップショットはサポートされていませんが、暗号化されたスナップショットを特定のアカウントと共有できます。詳細な手順については、Amazon EBSスナップショットを共有するを参照してください。

暗号化されていないリソースの暗号化

暗号化されていない既存のボリュームまたはスナップショットを直接暗号化することはできません。ただし、暗号化されていないボリュームまたはスナップショットから暗号化されたボリュームあるいはスナップショットを作成できます。暗号化をデフォルトで有効にすると、Amazon は暗号化用のデフォルトKMSキーを使用して新しいボリュームとスナップショットEBSを自動的にEBS暗号化します。それ以外の場合は、Amazon 暗号化のデフォルトKMSキーまたは対称カスタマーマネージド暗号化キーを使用して、個々のボリュームまたはスナップショットを作成するときにEBS暗号化を有効にできます。詳細については、「Amazon EBSボリュームを作成する」および「Amazon EBSスナップショットのコピー」を参照してください。

スナップショットのコピーをカスタマーマネージドキーに暗号化するには、 に示すように、暗号化を有効にし、KMSキーを指定する必要があります暗号化されていないスナップショットをコピーする (デフォルトでの暗号化が有効になっていない場合)

重要

Amazon EBS は非対称暗号化KMSキーをサポートしていません。詳細については、「 AWS Key Management Service デベロッパーガイド」の「対称暗号化KMSキーと非対称暗号化キーの使用」を参照してください。

EBS-backed からインスタンスを起動するときに、新しい暗号化状態を適用することもできますAMI。これは、EBS-backed には、説明に従って暗号化できるEBSボリュームのスナップショットAMIsが含まれているためです。詳細については、EBS「-backed での暗号化AMIsの使用」を参照してください。

AWS KMS キーのローテーション

暗号化のベストプラクティスでは、暗号化キーの広範な再利用を推奨していません。

Amazon 暗号化で使用する新しい暗号化マテリアルを作成するにはEBS、新しいカスタマーマネージドキーを作成し、その新しいKMSキーを使用するようにアプリケーションを変更します。または、既存の カスタマー管理キー の自動キーローテーションを有効にすることができます。

カスタマーマネージドキーの自動キーローテーションを有効にすると、 はKMSキーの新しい暗号化マテリアルを毎年 AWS KMS 生成します。 は、暗号化マテリアルのすべての以前のバージョン AWS KMS を保存し、そのKMSキーマテリアルで以前に暗号化されたボリュームとスナップショットを引き続き復号化して使用できるようにします。 AWS KMS は、キーを削除するまでローテーションされたKMSキーマテリアルを削除しません。

ローテーションされたカスタマーマネージドキーを使用して新しいボリュームまたはスナップショットを暗号化すると、 は現在 (新しい) キーマテリアル AWS KMS を使用します。ローテーションされたカスタマーマネージドキーを使用してボリュームまたはスナップショットを復号する場合、 は、その暗号化に使用された暗号化マテリアルのバージョン AWS KMS を使用します。ボリュームまたはスナップショットが以前のバージョンの暗号化マテリアルで暗号化されている場合、 は AWS KMS 引き続きその以前のバージョンを使用して復号します。 AWS KMS は、キーローテーション後に新しい暗号化マテリアルを使用するように、以前に暗号化されたボリュームまたはスナップショットを再暗号化しません。これらは、元々暗号化されていた暗号化マテリアルで暗号化されたままです。ローテーションされたカスタマーマネージドキーは、コードを変更せずにアプリケーションや AWS サービスで安全に使用できます。

注記
  • 自動キーローテーションは、 が AWS KMS 作成するキーマテリアルを持つ対称カスタマーマネージドキーでのみサポートされます。

  • AWS KMS は AWS マネージドキー 毎年自動的にローテーションします。 AWS マネージドキーのキーローテーションを有効化または無効化することはできません。

詳細については、「 AWS Key Management Service デベロッパーガイド」のKMS「キーのローテーション」を参照してください。