Amazon Elastic Block Store (Amazon EBS) が AWS KMS を使用する方法 - AWS Key Management Service

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

Amazon Elastic Block Store (Amazon EBS) が AWS KMS を使用する方法

このトピックでは、Amazon Elastic Block Store (Amazon EBS) が AWS KMS を使用してボリュームとスナップショットを暗号化する方法の詳細を説明します。Amazon EBS ボリュームの暗号化に関する基本的な手順については、「Amazon EBS 暗号化」を参照してください。

Amazon EBS 暗号化

暗号化された Amazon EBS ボリューム をサポートされている Amazon Elastic Compute Cloud(Amazon EC2)インスタンスタイプ にアタッチすると、ボリュームに保存されたデータ、ディスク I/O、ボリュームから作成されたスナップショットはすべて暗号化されます。暗号化は、Amazon EC2 インスタンスをホストするサーバーで行われます。

この機能は、すべての Amazon EBS ボリュームタイプでサポートされています。暗号化されたボリュームには、他のボリュームにアクセスする場合と同じ方法でアクセスできます。暗号化と復号化は透過的に処理され、ユーザー、EC2 インスタンス、アプリケーションからの追加アクションは不要です。暗号化されたボリュームのスナップショットは自動的に暗号化され、暗号化されたスナップショットから作成されたボリュームも、自動的に暗号化されます。

EBS ボリュームの暗号化ステータスは、ボリュームの作成時に決定されます。既存のボリュームの暗号化ステータスを変更することはできません。ただし、暗号化されたボリュームと暗号化されていないボリューム間で データを移行 し、スナップショットのコピー中に新しい暗号化ステータスを適用できます。

Amazon EBS では、デフォルトでオプションの暗号化がサポートされています。AWS アカウント およびリージョン内のすべての新しい EBS ボリュームとスナップショットコピーに対して自動的に暗号化を有効にすることができます。この構成設定は、既存のボリュームやスナップショットには影響しません。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドデフォルトでの暗号化または Windows インスタンス用 Amazon EC2 ユーザーガイドを参照してください。

KMS キーとデータキーを使用する

暗号化 Amazon EBS ボリュームを作成するときは、AWS KMS key を指定します。デフォルトでは、Amazon EBS はアカウント (aws/ebs) の Amazon EBS 用 AWS マネージドキー を使用します。ただし、ユーザーは作成および管理するカスタマーマネージドキーを指定することができます。

カスタマーマネージドキーを使用するには、ユーザーに代わって KMS キーを使用する許可を Amazon EBS に付与する必要があります。必要なアクセス許可のリストについては、Linux インスタンス用 Amazon EC2 ユーザーガイドIAM ユーザーのアクセス許可または Windows インスタンス用 Amazon EC2 ユーザーガイドを参照してください。

重要

Amazon EBS は、対称 KMS キーのみをサポートします。非対称 KMS キーを使用して Amazon EBS ボリュームを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、非対称 KMS キーの識別 を参照してください。

Amazon EBS では、ボリュームごとに指定した KMS キーで暗号化された一意のデータキーを生成するように AWS KMS に要求します。Amazon EBS は、暗号化されたデータキーをボリュームとともに保存します。次に、ボリュームを Amazon EC2 インスタンスにアタッチすると、Amazon EBS は AWS KMS を呼び出してデータキーを復号します。Amazon EBS は、ハイパーバイザーメモリ内のプレーンテキストデータキーを使用して、ボリュームへのすべてのディスク I/O を暗号化します。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドEBS 暗号化の仕組みまたは Windows インスタンス用 Amazon EC2 ユーザーガイドを参照してください。

Amazon EBS 暗号化コンテキスト

に対する GenerateDataKeyWithoutPlaintextおよび Decrypt リクエストではAWS KMS、Amazon EBS は、リクエスト内のボリュームまたはスナップショットを識別する名前と値のペアを持つ暗号化コンテキストを使用します。暗号化コンテキストの名前は変わりません。

暗号化コンテキスト は、一連のキー値のペアおよび任意非シークレットデータを含みます。データを暗号化するリクエストに暗号化コンテキストを組み込むと、AWS KMS は暗号化コンテキストを暗号化されたデータに暗号化してバインドします。データを復号するには、同じ暗号化コンテキストに渡す必要があります。

すべてのボリュームと Amazon EBS CreateSnapshotオペレーションで作成された暗号化されたスナップショットの場合、Amazon EBS はボリューム ID を暗号化コンテキスト値として使用します。 CloudTrail ログエントリの requestParameters フィールドで、暗号化コンテキストは以下のようになります。

"encryptionContext": { "aws:ebs:id": "vol-0cfb133e847d28be9" }

Amazon EC2 CopySnapshotオペレーションで作成された暗号化されたスナップショットの場合、Amazon EBS はスナップショット ID を暗号化コンテキスト値として使用します。 CloudTrail ログエントリの requestParameters フィールドで、暗号化コンテキストは以下のようになります。

"encryptionContext": { "aws:ebs:id": "snap-069a655b568de654f" }

Amazon EBS 障害の検出

暗号化された EBS ボリュームを作成するか、ボリュームを EC2 インスタンスにアタッチするには、Amazon EBS および Amazon EC2 インフラストラクチャで、EBS ボリュームの暗号化に指定した KMS キーを使用できる必要があります。KMS キーを使用できない場合 (キーステータスEnabled ではない場合など)、ボリュームの作成またはボリュームのアタッチメントは失敗します。

この場合、Amazon EBS はイベントを Amazon EventBridge (以前の CloudWatch イベント) に送信して、障害を通知します。では EventBridge、これらのイベントに応じて自動アクションをトリガーするルールを設定できます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EBS の Amazon CloudWatch イベント」、特に以下のセクションを参照してください。 Amazon EC2

これらの障害を修正するには、EBS ボリューム暗号化のために指定した KMS キーが有効になっていることを確認します。これを行うには、最初に KMS キーを表示して、現在のキーステータス (AWS Management Console の Status 列) を特定します。次に、以下のリンクのいずれかで情報を確認します。

AWS CloudFormation を使用して、暗号化された Amazon EBS ボリュームを作成する

AWS CloudFormation を使用して、暗号化された Amazon EBS ボリュームを作成できます。詳細については、「AWS CloudFormation ユーザーガイド」の 「AWS::EC2::Volume」を参照してください。