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

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

選擇性設定 AWS KMS keys

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

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

  • 已啟用

  • 對稱

  • 不是多區域金鑰

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

  • 金鑰位於 管理帳戶中

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

更新 KMS 金鑰政策

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

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

此程序說明如何透過新增允許 AWS Config 和 CloudTrail AWS KMS 用於加密的政策陳述式,在 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. 選擇編輯,並透過為 和 CloudTrail 新增下列政策陳述式來更新預設 KMS AWS Config 金鑰政策。

    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. 選擇儲存變更

範例 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:PARTITION: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:PARTITION:kms:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:key/YOUR-KMS-KEY-ID", "Condition": { "StringEquals": { "aws:SourceArn": "arn:PARTITION:cloudtrail:YOUR-HOME-REGION:YOUR-MANAGEMENT-ACCOUNT-ID:trail/aws-controltower-BaselineCloudTrail" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:PARTITION:cloudtrail:*:YOUR-MANAGEMENT-ACCOUNT-ID:trail/*" } } } ] }

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

防範攻擊者

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

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

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

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