Amazon EBS 暗号化 - Amazon EBS

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

Amazon EBS 暗号化

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

暗号化オペレーションは EC2 インスタンスをホストするサーバー上で実行され、インスタンスとそれに接続された EBS ストレージ間でのデータの保存と転送中のデータの両方のセキュリティを保証します。

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 は AWS KMS と連携して、次のように EBS ボリュームを暗号化および復号化します。

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

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

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

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

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

暗号化されていないスナップショットに対する EBS 暗号化の動作

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

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

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

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

  4. Amazon EC2は Decrypt リクエストを AWS KMS に送信して、ボリュームデータを暗号化するための暗号化キーを取得します。

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

  6. 暗号化されたボリュームをインスタンスにアタッチすると、Amazon EC2 は暗号化されたデータキーを指定しながら、Decrypt リクエストを AWS KMS に送信します。

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

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

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

使用できない KMS キーがデータキーに及ぼす影響

KMS キーが使用できなくなると、その影響はほぼ即時に表れます (最終的な一貫性の対象となります)。KMS キーのキーステータスは新しい条件を反映して変化し、暗号化オペレーションで KMS キーを使用するすべてのリクエストは失敗します。

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

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

ヒント

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

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

EBS リソースの暗号化

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

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

注記

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

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

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

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

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

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

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

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

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

重要

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

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

AWS KMSキーをローテーションします

暗号化のベストプラクティスでは、暗号化キーの広範な再利用を推奨していません。KMS キーの新しい暗号化マテリアルを作成するには、新しい KMS キーを作成し、アプリケーションまたはエイリアスを変更して新しい KMS キーを使用します。または、既存の KMS キーの自動キーローテーションを有効にすることができます。

KMS キーの自動キーローテーションを有効にすると、AWS KMSは KMS キーの新しい暗号化マテリアルを毎年生成します。AWS KMSは古い暗号化マテリアルをすべて保存するため、KMS キーで暗号化されたすべてのデータを復号することができます。KMS キーを削除しない限り、AWS KMSはローテーションされたキーマテリアルを一切削除しません。

データの暗号化にローテーションされた KMS キーを使用する場合、AWS KMS は現在のキーマテリアルを使用します。暗号化データの復号化にローテーションされた KMS キーを使用する場合、AWS KMSはそのデータの暗号化に使用されたキーマテリアルのバージョンを使用します。ローテーションされた KMS キーは、コード変更なしでアプリケーションと AWS サービスで安全に使用できます。

注記

自動キーローテーションは、AWS KMS が作成するキーマテリアルを使用した対称カスタマー管理型キーのみでサポートされています。AWS KMS は AWS マネージドキー を毎年自動的にロテーションします。AWS マネージドキーのキーローテーションを有効化または無効化することはできません。

詳細については、「AWS Key Management Service 開発者ガイド」の「キーの自動ローテーションの仕組み」を参照してください。