選擇性設定 AWS KMS keys - AWS Control Tower

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

選擇性設定 AWS KMS keys

如果您想要使用加密金鑰 AWS KMS 來加密和解密資源,請選取核取方塊。如果您有現有的金鑰,您將可以從下拉式功能表中顯示的識別符中選取這些金鑰。您可以選擇建立金鑰 來產生新的金鑰。您可以在更新登陸區域時新增或變更KMS金鑰。

當您選取設定登陸區域 時,AWSControl Tower 會執行預先檢查以驗證您的KMS金鑰。金鑰必須符合下列要求:

  • 已啟用

  • 對稱

  • 不是多區域金鑰

  • 已將正確的許可新增至政策

  • 金鑰位於 管理帳戶中

如果金鑰不符合這些要求,您可能會看到錯誤橫幅。在這種情況下,請選擇另一個金鑰或產生金鑰。請務必編輯金鑰的許可政策,如下一節所述。

更新KMS金鑰政策

您必須先建立KMS金鑰,才能更新KMS金鑰政策。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的建立金鑰政策

若要搭配 AWS Control Tower 使用KMS金鑰,您必須新增 AWS Config 和 所需的最低許可,以更新預設KMS金鑰政策 AWS CloudTrail。最佳實務是,建議您在任何政策中包含所需的最低許可。更新KMS金鑰政策時,您可以在單一JSON陳述式或逐行中將許可新增為群組。

程序說明如何透過新增允許 AWS Config 和 AWS KMS 用於加密的政策陳述式 CloudTrail ,來更新 AWS KMS 主控台中的預設KMS金鑰政策。政策陳述式要求您包含下列資訊:

  • YOUR-MANAGEMENT-ACCOUNT-ID – 要在其中設定 AWS Control Tower 的管理帳戶的 ID。

  • YOUR-HOME-REGION – 設定 AWS Control Tower 時要選取的主要區域。

  • YOUR-KMS-KEY-ID – 將與政策搭配使用的KMS金鑰 ID。

更新KMS金鑰政策
  1. 在 開啟 AWS KMS 主控台 https://console.aws.amazon.com/kms

  2. 從導覽窗格中,選擇客戶受管金鑰

  3. 在 資料表中,選取您要編輯的金鑰。

  4. 金鑰政策索引標籤中,確定您可以檢視金鑰政策。如果您無法檢視金鑰政策,請選擇切換至政策檢視

  5. 選擇編輯 ,並新增 和 的下列政策陳述式, AWS Config 以更新預設KMS金鑰政策 CloudTrail。

    AWS Config 政策陳述式

    { "Sid": "Allow Config to use KMS for encryption", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID" }

    CloudTrail 政策統計

    { "Sid": "Allow CloudTrail to use KMS for encryption", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "arn:aws:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:trail/aws-controltower-BaselineCloudTrail" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:YOUR-MANAGEMENT-ACCOUNT-ID:trail/*" } } }
  6. 選擇 Save changes (儲存變更)。

範例KMS金鑰政策

下列範例政策會顯示在您新增授予的政策陳述式 AWS Config 和 CloudTrail 最低必要許可之後,KMS金鑰政策可能會是什麼樣子。範例政策不包含您的預設KMS金鑰政策。

{ "Version": "2012-10-17", "Id": "CustomKMSPolicy", "Statement": [ { ... YOUR-EXISTING-POLICIES ... }, { "Sid": "Allow Config to use KMS for encryption", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID" }, { "Sid": "Allow CloudTrail to use KMS for encryption", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "arn:aws:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:trail/aws-controltower-BaselineCloudTrail" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:YOUR-MANAGEMENT-ACCOUNT-ID:trail/*" } } } ] }

若要檢視其他範例政策,請參閱下列頁面:

防範攻擊者

透過將特定條件新增至政策,您可以協助防止特定類型的攻擊,稱為混淆代理攻擊,如果實體強制更特權的實體執行動作,例如跨服務模擬。如需政策條件的一般資訊,另請參閱 在政策中指定條件

AWS Key Management Service (AWS KMS) 可讓您建立多區域KMS金鑰和非對稱金鑰;不過,AWSControl Tower 不支援多區域金鑰或非對稱金鑰。AWS Control Tower 會執行現有金鑰的預先檢查。如果您選擇多區域金鑰或非對稱金鑰,您可能會看到錯誤訊息。在這種情況下, 會產生另一個金鑰,以搭配 AWS Control Tower 資源使用。

如需 的詳細資訊 AWS KMS,請參閱 AWS KMS 開發人員指南。

請注意,根據預設,AWSControl Tower 中的客戶資料會使用 SSE-S3 進行靜態加密。