(可选)配置 AWS KMS keys - AWS Control Tower

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

(可选)配置 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钥政策
  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密钥和非对称密钥;但是,Cont AWS rol Tower 不支持多区域密钥或非对称密钥。AWSControl Tower 会对您的现有密钥进行预检查。如果您选择多区域密钥或非对称密钥,则可能会看到一条错误消息。在这种情况下,请生成另一个密钥以用于 Cont AWS rol Tower 资源。

有关的更多信息 AWS KMS,请参阅《 AWS KMS 开发人员指南》。

请注意,默认情况下,Cont AWS rol Tower 中的客户数据使用 SSE-S3 进行静态加密。