洞察策略风险,用自然语言提问策略问题。 申请演示 →
Published:
通过聚合器整合配置护栏
by FireMon
在《Quick and Dirty: Building an S3 guardrail with Config》一文中,我们指出了 Config 的一大问题:您需要在每个账户的每个区域中分别进行设置。要让这项工作变得可控,最佳办法是使用 基础设施即代码 类工具(例如 CloudFormation),将您的设置复制到各个环境中。关于如何大规模推行基线安全与运维设置,我们还有很多内容可谈,但在本文中,我想重点介绍如何将 Config 聚合到统一的仪表板中。
今年早些时候,AWS 推出了 Config 聚合器。它使您能够将 Config 数据和规则集中到单一视图中。您仍需在每个账户和每个区域中单独配置 Config,但聚合器可以为您的资源及规则合规情况提供统一视图。如果您对 Config 接触不多,请记住它是一款变更管理工具,用于跟踪配置状态随时间的变化,而 Rules 只是其中一项用于发现合规与不合规资源的功能。借助聚合器,您还可以查看受监控资源随时间变化的完整配置状态。
设置您的第一个聚合器
设置聚合器很简单。首先,选择您要用作仪表板的账户和区域。您大概不会希望把面向全企业的聚合器设置在某个开发人员的试验账户中。
然后只需依次进入 Config -> Aggregated view -> Add aggregator:
您有两个选项:
- Add individual account IDs,逐个添加账户。
- Add my organization,添加您组织中的所有账户。
无论选择哪一种,您都需要了解后续步骤才能使其生效。理想情况下,您应为整个组织和所有区域启用此功能(并勾选添加未来区域的选项)。
- 对于逐个添加的账户,您需要登录到每个账户中的 Config 并授权该连接。以下是 AWS 提供的界面截图:
- 若要在 Organization 中实现聚合,您基本上需要启用全部 AWS Organizations 功能,并确保授权(如有需要则创建)用于管理数据聚合的新 IAM 角色:
假设一切正常,系统现在会将其他账户和区域的所有数据复制到单一的仪表板视图中。本地账户仍需配置 Config,并且仍可访问各自的数据,但这确实使您能够集中掌握全局情况。
从实践来看,如果您的账户数量超过少数几个,就应通过自动化来实施这项工作。基础设施即代码或程序化自动化(例如我们的 Ops)都可以通过 API 将这一切串联起来。即使您使用了像我们这样的自动化工具,我们仍建议使用 Config,因为它具备变更管理能力;但是否要聚合所有内容,则取决于您在运维上如何管理自己的环境。
Config 聚合是一项很好的增强功能,设置也相对简单——关键在于确定您的策略,确保所有 IAM 配置正确,然后记得在双方都对每个请求进行授权。如果您担心将整个组织都接入进来,请注意只有在各账户中设置了 Config 之后,系统才会拉取数据。我们很想给出明确的策略建议,但这一点确实在很大程度上取决于您如何使用(或计划如何使用)Config,两种模式都完全可行。