本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
選擇性設定 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金鑰政策
-
在 開啟 AWS KMS 主控台 https://console.aws.amazon.com/kms
-
從導覽窗格中,選擇客戶受管金鑰 。
-
在 資料表中,選取您要編輯的金鑰。
-
在金鑰政策索引標籤中,確定您可以檢視金鑰政策。如果您無法檢視金鑰政策,請選擇切換至政策檢視 。
-
選擇編輯 ,並新增 和 的下列政策陳述式, 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/*" } } } -
選擇 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 CloudTrail 使用者指南 中授予加密許可。
-
AWS Config 開發人員指南 中的使用服務連結RolesS3 儲存貯體交付時KMS金鑰的必要許可)。
防範攻擊者
透過將特定條件新增至政策,您可以協助防止特定類型的攻擊,稱為混淆代理攻擊,如果實體強制更特權的實體執行動作,例如跨服務模擬。如需政策條件的一般資訊,另請參閱 在政策中指定條件。
AWS Key Management Service (AWS KMS) 可讓您建立多區域KMS金鑰和非對稱金鑰;不過,AWSControl Tower 不支援多區域金鑰或非對稱金鑰。AWS Control Tower 會執行現有金鑰的預先檢查。如果您選擇多區域金鑰或非對稱金鑰,您可能會看到錯誤訊息。在這種情況下, 會產生另一個金鑰,以搭配 AWS Control Tower 資源使用。
如需 的詳細資訊 AWS KMS,請參閱 AWS KMS 開發人員指南。
請注意,根據預設,AWSControl Tower 中的客戶資料會使用 SSE-S3 進行靜態加密。