本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
(可选)配置 AWS KMS keys
如果您想使用加密密钥对资源进行加密和解 AWS KMS 密,请选中该复选框。如果您已有密钥,则可以从下拉菜单中显示的标识符中选择它们。您可以通过选择 “创建密钥” 来生成新密钥。您可以随时更新着陆区(Landing zone)时添加或更改KMS密钥。
当您选择 “设置着陆区” 时,Cont AWS rol Tower 会执行预检查以验证您的KMS密钥。密钥必须满足以下要求:
-
已启用
-
对称
-
不是多区域密钥
-
已向策略添加了正确的权限
-
密钥在管理账户中
如果密钥不符合这些要求,您可能会看到错误标语。在这种情况下,请选择另一个密钥或生成一个密钥。请务必编辑密钥的权限策略,如下一节所述。
更新密KMS钥政策
在更新KMS密钥策略之前,必须先创建KMS密钥。有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的创建密钥策略。
要在 Cont KMS AWS rol Tower 中使用KMS密钥,必须通过添加 AWS Config 和所需的最低权限来更新默认密钥策略 AWS CloudTrail。作为最佳实践,我们建议您在任何策略中包含所需的最低权限。更新KMS密钥策略时,您可以在单个JSON语句中以组的形式添加权限,也可以逐行添加权限。
该过程介绍如何通过添加允许 AWS Config 和 CloudTrail AWS KMS 用于加密的策略语句来更新 AWS KMS 控制台中的默认密KMS钥策略。政策声明要求您包括以下信息:
-
YOUR-MANAGEMENT-ACCOUNT-ID
— 将在其中设置 Cont AWS rol Tower 的管理账户的 ID。 -
YOUR-HOME-REGION
— 您将在设置 Cont AWS rol 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 用户指南》中@@ 授予加密权限。
-
开发人员指南中使用服务相关角色时KMS密钥所需的权限(存储桶交付)。AWS Config
防范攻击者
通过在策略中添加某些条件,您可以帮助防止一种特定类型的攻击,即混淆副手攻击,这种攻击发生在实体强迫权限更高的实体执行操作(例如跨服务模仿)时发生。有关政策条件的一般信息,另请参阅在策略中指定条件。
AWS Key Management Service (AWS KMS) 允许您创建多区域KMS密钥和非对称密钥;但是,Cont AWS rol Tower 不支持多区域密钥或非对称密钥。AWSControl Tower 会对您的现有密钥进行预检查。如果您选择多区域密钥或非对称密钥,则可能会看到一条错误消息。在这种情况下,请生成另一个密钥以用于 Cont AWS rol Tower 资源。
有关的更多信息 AWS KMS,请参阅《 AWS KMS 开发人员指南》。
请注意,默认情况下,Cont AWS rol Tower 中的客户数据使用 SSE-S3 进行静态加密。