使用 Amazon Config 跟踪 X-Ray 加密配置更改 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon Config 跟踪 X-Ray 加密配置更改

Amazon X-Ray 与 Amazon Config 集成来记录对您的 X-Ray 加密资源所做的配置更改。您可以使用 Amazon Config 来清点 X-Ray 加密资源、审核 X-Ray 配置历史记录并基于资源更改发送通知。

Amazon Config 支持将以下 X-Ray 加密资源更改记录为事件:

  • 配置更改 - 更改或添加一个加密密钥,或恢复为默认 X-Ray 加密设置。

通过以下说明了解如何在 X-Ray 和 Amazon Config 之间建立基本连接。

创建 Lambda 函数触发器

您必须拥有自定义 Amazon Lambda 函数的 ARN 才能生成自定义 Amazon Config 规则。按照以下说明,通过 Node.js 创建一个基本函数,该函数基于 XrayEncryptionConfig 资源的状态将合规或不合规值返回给 Amazon Config。

使用 AWS::XrayEncryptionConfig 更改触发器创建 Lambda 函数
  1. 打开 Lambda 控制台。选择创建函数

  2. 选择蓝图,然后筛选蓝图库以得到 config-rule-change-triggered 蓝图。单击蓝图名称中的链接,或选择配置以继续。

  3. 定义以下字段来配置蓝图:

    • 对于名称,键入名称。

    • 对于角色,请选择从模板创建新角色

    • 对于 Role name,请输入名称。

    • 对于策略模板,选择 Amazon Config 规则权限

  4. 选择创建函数 以在 Amazon Lambda 控制台中创建和显示函数。

  5. 编辑您的函数代码,将 AWS::EC2::Instance 替换为 AWS::XrayEncryptionConfig。您还可以更新描述字段来反映此更改。

    默认代码

    if (configurationItem.resourceType !== 'AWS::EC2::Instance') { return 'NOT_APPLICABLE'; } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) { return 'COMPLIANT'; } return 'NON_COMPLIANT';

    更新的代码

    if (configurationItem.resourceType !== 'AWS::XRay::EncryptionConfig') { return 'NOT_APPLICABLE'; } else if (ruleParameters.desiredInstanceType === configurationItem.configuration.instanceType) { return 'COMPLIANT'; } return 'NON_COMPLIANT';
  6. 将以下内容添加到您的 IAM 的执行角色中以能够访问 X-Ray。这些权限允许对您的 X-Ray 资源进行只读访问。无法提供访问适当资源的权限会导致以下结果:当 Amazon Config 评估与规则关联的 Lambda 函数时,出现来自前者的超出范围的消息。

    { "Sid": "Stmt1529350291539", "Action": [ "xray:GetEncryptionConfig" ], "Effect": "Allow", "Resource": "*" }

为 X-Ray 创建自定义 Amazon Config 规则

在创建 Lambda 函数时,记下该函数的 ARN,然后转到 Amazon Config 控制台来创建自定义规则。

为 X-Ray 创建 Amazon Config 规则
  1. 打开 Amazon Config 控制台的规则页面

  2. 选择添加规则,然后选择添加自定义规则

  3. 在 Function ARN(Amazon Lambda 函数 ARN)中,插入您要使用的与 Lambda 函数关联的 ARN。

  4. 选择要设置的触发器类型:

    • 配置更改 - 当与规则范围匹配的任何资源的配置更改时,Amazon Config 将触发评估。在 Amazon Config 发送配置项更改通知后,评估便会运行。

    • 定期 - Amazon Config 按照您选择的频率运行评测(例如,每 24 小时)。

  5. 资源类型处,选择 X-Ray 一节中的 EncryptionConfig

  6. 选择保存

Amazon Config 控制台将立即开始评估规则的合规性。完成评估可能需要几分钟时间。

由于此规则合规,因此 Amazon Config 可以开始编译审核历史记录。Amazon Config 以时间线的形式记录资源变化。对于事件时间轴中的每次变化,Amazon Config 都会用“从/更改为”格式生成一个表,以显示加密密钥的 JSON 表示有哪些变化。与 EncryptionConfig 关联的两个字段变化是 Configuration.typeConfiguration.keyID

示例结果

以下 Amazon Config 时间轴示例显示了在特定日期和时间所做的更改。


      Amazon Config 时间线。

以下是一个 Amazon Config 更改条目示例。“从/更改为”格式阐明了有什么变化。此示例显示默认 X-Ray 加密设置改为定义的加密密钥。


      X-Ray 加密配置更改条目。

Amazon SNS 通知

要在配置发生更改时得到通知,请将 Amazon Config 设置为发布 Amazon SNS 通知。有关更多信息,请参阅通过电子邮件监控 Amazon Config 资源更改