

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon Elastic Block Store (Amazon EBS) 如何使用 AWS KMS
<a name="services-ebs"></a>

本主題詳細討論 [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) 如何使用 AWS KMS 來加密磁碟區和快照。對於加密 Amazon EBS 磁碟區的基本說明，請參閱 [Amazon EBS 加密](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)。

**Topics**
+ [Amazon EBS 加密](#ebs-encrypt)
+ [使用 KMS 金鑰和資料金鑰](#ebs-cmk)
+ [Amazon EBS 加密內容](#ebs-encryption-context)
+ [偵測 Amazon EBS 失敗](#ebs-failures)
+ [使用 AWS CloudFormation 建立加密的 Amazon EBS 磁碟區](#ebs-encryption-using-cloudformation)

## Amazon EBS 加密
<a name="ebs-encrypt"></a>

當您連接加密 Amazon EBS 磁碟區到[支援的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體類型](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances)，存放在磁碟區的靜態資料、磁碟輸入/輸出，以及從磁碟區建立的快照全部都會加密。加密在託管 Amazon EC2 執行個體的伺服器上進行。

所有 [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/ebs-encryption-requirements.html#ebs-encryption-volume-types)都支援此功能。您存取加密磁碟區方式與存取其他磁碟區的方式相同；加密和解密的處理過程皆相當透明，不需要您、您的 EC2 執行個體或您的應用程式進行任何額外動作。加密磁碟區的快照會自動加密，而從加密快照建立的磁碟區也會自動加密。

EBS 磁碟區的加密狀態取決於您建立磁碟區時。您不能改變現有磁碟區的加密狀態。不過，您可以在加密和未加密的磁碟區之間[遷移資料](https://docs.aws.amazon.com//ebs/latest/userguide/how-ebs-encryption-works.html)，並在複製快照時套用新的加密狀態。

Amazon EBS 預設支援可選的加密。您可以在 AWS 帳戶 和 區域中的所有新 EBS 磁碟區和快照複本上自動啟用加密。此組態設定不會影響現有的磁碟區或快照。如需詳細資訊，請參閱《[Amazon EBS 使用者指南》中的 Amazon EBS 加密](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)。 **

## 使用 KMS 金鑰和資料金鑰
<a name="ebs-cmk"></a>

[建立加密的 Amazon EBS 磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)時，您可以指定 AWS KMS key。根據預設，Amazon EBS 會使用您帳戶 (`aws/ebs`) 中的 Amazon EBS [AWS 受管金鑰](concepts.md#aws-managed-key)。但是，您可以指定您建立和管理的[客戶受管金鑰](concepts.md#customer-mgn-key)。

若要使用客戶受管金鑰，您必須授予 Amazon EBS 許可，才能代表您使用 KMS 金鑰。如需詳細資訊，請參閱[《Amazon EBS 使用者指南》中的 Amazon EBS 加密如何運作](https://docs.aws.amazon.com//ebs/latest/userguide/how-ebs-encryption-works.html)。 **

**重要**  
Amazon EBS 只支援[對稱 KMS 金鑰](symm-asymm-choose-key-spec.md#symmetric-cmks)。您無法使用[非對稱 KMS 金鑰](symmetric-asymmetric.md)來加密 Amazon EBS 磁碟區。如需判斷 KMS 金鑰是對稱還是不對稱的說明，請參閱 [識別不同的金鑰類型](identify-key-types.md)。

對於每個磁碟區，Amazon EBS AWS KMS 會要求 產生以您指定的 KMS 金鑰加密的唯一資料金鑰。Amazon EBS 會隨著磁碟區存放加密的資料金鑰。然後，當您將磁碟區連接到 Amazon EC2 執行個體時，Amazon EBS 會呼叫 AWS KMS 來解密資料金鑰。Amazon EBS 使用存放在 Hypervisor 記憶體的純文字資料金鑰來加密所有磁碟區的磁碟輸入/輸出。如需詳細資訊，請參閱《[Amazon EC2 使用者指南》](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#how-ebs-encryption-works)或《[Amazon EC2 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EBSEncryption.html#how-ebs-encryption-works)》中的 *EBS 加密如何運作*。

## Amazon EBS 加密內容
<a name="ebs-encryption-context"></a>

在其 [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext) 和 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 請求中 AWS KMS，Amazon EBS 會使用加密內容搭配識別請求中磁碟區或快照的名稱值對。加密內容中的名稱會維持不變。

[加密內容](encrypt_context.md)是一組金鑰/值對，其中包含任意非私密資料。當您在加密資料的請求中包含加密內容時， 會以 AWS KMS 加密方式將加密內容繫結至加密的資料。若要解密資料，您必須傳遞相同的加密內容。

針對使用 Amazon EBS [CreateSnapshot](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshot.html) 操作建立的所有磁碟區和加密的快照，Amazon EBS 會使用磁碟區 ID 作為加密內容值。在 CloudTrail 日誌項目的 `requestParameters` 欄位中，加密內容看起來如下：

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

針對使用 Amazon EC2 [CopySnapshot](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html) 操作建立的加密快照，Amazon EBS 會使用快照 ID 作為加密內容值。在 CloudTrail 日誌項目的 `requestParameters` 欄位中，加密內容看起來如下：

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

## 偵測 Amazon EBS 失敗
<a name="ebs-failures"></a>

為了建立加密的 EBS 磁碟區或將磁碟區連接到 EC2 執行個體，Amazon EBS 和 Amazon EC2 基礎設施必須能夠使用您為 EBS 磁碟區加密指定的 KMS 金鑰。當 KMS 金鑰無法使用，例如，當其[金鑰狀態](key-state.md)不是 `Enabled` 時，磁碟區建立或磁碟區連接會失敗。

 在這種情況下，Amazon EBS 會傳送*事件*給 Amazon EventBridge (原稱為 CloudWatch Events)，通知您作業失敗。您可以使用 EventBridge 建立規則，觸發可自動執行的動作來回應這些事件。如需詳細資訊，請參閱《[Amazon EBS 使用者指南》中的 Amazon CloudWatch Events for](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html) *Amazon EBS*，特別是下列章節：
+ [磁碟區連接或重新連接時的無效加密金鑰](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html#attach-fail-key)
+ [建立磁碟區時的無效加密金鑰](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html#create-fail-key)

若要修正這些問題，請確保您為 EBS 磁碟區加密指定的 KMS 金鑰已啟用。若要執行此作業，請先[檢視 KMS 金鑰](viewing-keys.md)以判斷其目前的金鑰狀態 ( 中的**狀態**欄 AWS 管理主控台)。接著，查看下列其中一個連結的相關資訊：
+ 如果 KMS 金鑰的金鑰狀態為已停用，則請[啟用](enabling-keys.md)。
+ 如果 KMS 金鑰的金鑰狀態為待匯入，則請[匯入金鑰材料](importing-keys.md)。
+ 如果 KMS 金鑰的金鑰狀態為待刪除，則請[取消金鑰刪除](deleting-keys-scheduling-key-deletion.md)。

## 使用 AWS CloudFormation 建立加密的 Amazon EBS 磁碟區
<a name="ebs-encryption-using-cloudformation"></a>

您可以使用 [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) 來建立加密的 Amazon EBS 磁碟區。如需詳細資訊，請參閱《*AWS CloudFormation 使用者指南*》中的 [AWS::EC2::Volume](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html)。