本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 EMR WAL 服務的客戶 KMS 金鑰進行靜態加密
EMR 預先寫入日誌 (WAL) 提供客戶 KMS encryption-at-rest支援。Amazon EMR WAL 如何與 整合的高階詳細資訊如下 AWS KMS:
EMR 預先寫入日誌 (WAL) 在下列操作 AWS 期間與 互動:CreateWAL
、AppendEdit
、ArchiveWALCheckPoint
、CompleteWALFlush
DeleteWAL
、GetCurrentWALTime
、、ReplayEdits
、,EMR_EC2_DefaultRole
根據預設,TrimWAL
透過 叫用任何先前列出的操作時,EMR WAL 會GenerateDataKey
針對 KMS 金鑰進行 Decrypt
和 。
考量事項
使用 EMR WAL AWS KMS 的 型加密時,請考慮下列事項:
-
建立 EMR WAL 之後,就無法變更加密組態。
-
當您使用 KMS 加密搭配您自己的 KMS 金鑰時,金鑰必須與 Amazon EMR 叢集位於相同的區域中。
-
您有責任維護所有必要的 IAM 許可,建議您不要在 WAL 生命週期內撤銷所需的許可。否則,將導致非預期的失敗案例,例如無法刪除 EMR WAL,因為關聯的加密金鑰不存在。
-
使用 AWS KMS 金鑰會產生相關費用。如需詳細資訊,請參閱 AWS Key Management Service 定價
。
所需的 IAM 許可
若要使用客戶 KMS 金鑰來加密 EMR WAL 靜態,您需要確保為 EMR WAL 用戶端角色和 EMR WAL 服務主體 設定適當的許可emrwal.amazonaws.com
。
EMR WAL 用戶端角色的許可
以下是 EMR WAL 用戶端角色所需的 IAM 政策:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", ], "Resource": "*" } }
EMR 叢集上的 EMR WAL 用戶端EMR_EC2_DefaultRole
預設會使用 。如果您針對 EMR 叢集中的執行個體描述檔使用不同的角色,請確定每個角色都有適當的許可。
如需管理角色政策的詳細資訊,請參閱新增和移除 IAM 身分許可。
KMS 金鑰政策的許可
您需要在 KMS 政策中提供 EMR WAL 用戶端角色和 EMR WAL 服務和Decrypt
GenerateDataKey*
許可。如需金鑰政策管理的詳細資訊,請參閱 KMS 金鑰政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
accountID
:role/EMR_EC2_DefaultRole
" ], "Service": [ "emrwal.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": [ "*" ] } ] }
如果您變更預設角色,程式碼片段中指定的角色可能會變更。
監控 Amazon EMR WAL 與 的互動 AWS KMS
Amazon EMR WAL 加密內容
加密內容是一組金鑰/值對,其中包含任意的非秘密資料。當您在加密資料的請求中包含加密內容時, 會以 AWS KMS 加密方式將加密內容繫結至加密的資料。若要解密資料,您必須傳遞相同的加密內容。
在其 GenerateDataKey 和 Decrypt 請求中 AWS KMS,Amazon EMR WAL 使用加密內容搭配一個識別 EMR WAL 名稱的名稱/值對。
"encryptionContext": { "aws:emrwal:walname": "111222333444555-testworkspace-emrwalclustertest-emrwaltestwalname" }
您可以使用加密內容來識別稽核記錄和日誌中的這些密碼編譯操作,例如 AWS CloudTrail 和 Amazon CloudWatch Logs,並做為政策和授權中的授權條件。