本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
加密存放在連接至 Amazon ECS 任務的 Amazon EBS 磁碟區中的資料
您可以使用 AWS Key Management Service (AWS KMS) 來建立和管理保護資料的密碼編譯金鑰。Amazon EBS 磁碟區是使用 進行靜態加密 AWS KMS keys。以下類型的資料會加密:
-
磁碟區上存放的靜態資料
-
磁碟輸入/輸出
-
從磁碟區建立的快照
-
從加密快照建立的新磁碟區
連接至任務的 Amazon EBS 磁碟區可以使用預設 AWS 受管金鑰 的別名 alias/aws/ebs
或磁碟區組態中指定的對稱客戶受管金鑰來加密。 AWS 帳戶 每個 的預設值 AWS 受管金鑰 都是唯一的 AWS 區域 ,且會自動建立。若要建立對稱客戶受管金鑰,請遵循《 AWS KMS 開發人員指南》中的建立對稱加密 KMS 金鑰中的步驟。
您可以預設設定 Amazon EBS 加密,以便使用您為帳戶指定的 KMS 金鑰來 AWS 區域 加密在特定 中建立並連接至任務的所有新磁碟區。如需預設 Amazon EBS 加密和加密的詳細資訊,請參閱《Amazon EBS 使用者指南》中的 Amazon EBS 加密。
您也可以在建立或更新叢集時,為 Amazon ECS 受管儲存體設定 Amazon ECS 叢集層級加密。叢集層級加密可用來加密連接至特定叢集中執行之任務的所有 Amazon EBS 磁碟區,方法是使用叢集層級指定的 KMS 金鑰。如需在叢集層級設定加密的詳細資訊,請參閱《Amazon ECS API 參考》中的 ManagedStorageConfiguration。
您可以設定這些金鑰的任意組合。KMS 金鑰的優先順序如下:
-
磁碟區組態中指定的 KMS 金鑰。當您在磁碟區組態中指定 KMS 金鑰時,它會覆寫 Amazon EBS 預設值和叢集層級指定的任何 KMS 金鑰。
-
在叢集層級指定的 KMS 金鑰。當您為 Amazon ECS 受管儲存體的叢集層級加密指定 KMS 金鑰時,它會覆寫 Amazon EBS 預設加密,但不會覆寫磁碟區組態中指定的任何 KMS 金鑰。
-
Amazon EBS 預設加密。當您未在磁碟區組態中指定叢集層級 KMS 金鑰或金鑰時,就會套用預設加密。如果您預設啟用 Amazon EBS 加密,則預設是您預設為加密指定的 KMS 金鑰。否則,預設值為 AWS 受管金鑰 具有別名 的
alias/aws/ebs
。注意
如果您在磁碟區組態
false
中encrypted
將 設定為 、不指定叢集層級 KMS 金鑰,並預設啟用 Amazon EBS 加密,則磁碟區仍會依預設使用為 Amazon EBS 加密指定的金鑰加密。
客戶受管 KMS 金鑰政策
若要使用客戶受管金鑰加密連接至任務的 EBS 磁碟區,您必須設定 KMS 金鑰政策,以確保您用於磁碟區組態的 IAM 角色具有使用金鑰的必要許可。金鑰政策必須包含 kms:CreateGrant
和 kms:GenerateDataKey*
許可。加密使用快照建立的磁碟區時,需要 kms:ReEncryptTo
和 kms:ReEncryptFrom
許可。如果只想為連接設定和加密新的空白磁碟區,您可以排除 kms:ReEncryptTo
和 kms:ReEncryptFrom
許可。
下列 JSON 程式碼片段顯示您可以連接到 KMS 金鑰政策的金鑰政策陳述式。使用這些陳述式將為 Amazon ECS 提供使用 金鑰來加密 EBS 磁碟區的存取權。若要使用範例政策陳述式,
請以您自己的資訊取代 。一如往常,只設定您需要的許可。user input placeholders
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111122223333
:role/ecsInfrastructureRole" }, "Action": "kms:DescribeKey", "Resource":"*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333
:role/ecsInfrastructureRole" }, "Action": [ "kms:GenerateDataKey*", "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource":"*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id
", "kms:ViaService": "ec2.region
.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333
:role/ecsInfrastructureRole
" }, "Action": "kms:CreateGrant", "Resource":"*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id
", "kms:ViaService": "ec2.region
.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" }, "Bool": { "kms:GrantIsForAWSResource": true } } }
如需金鑰政策和許可的詳細資訊,請參閱《 AWS KMS 開發人員指南》中的 中的金鑰政策和 AWS KMSAWS KMS 許可。如需針對與金鑰許可相關的 EBS 磁碟區連接問題進行故障診斷,請參閱 對 Amazon ECS 任務的 Amazon EBS 磁碟區附件進行故障診斷 。