概念 - AWS Config

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

概念

AWS Config 提供了与您的 AWS 账户关联的资源的详细视图,包括它们的配置方式、它们之间的关系以及配置及其关系如何随着时间的推移而发生变化。让我们详细了解一下 AWS Config 的概念。

资源管理

了解的基本组成部分 AWS Config 将有助于您跟踪资源清单和更改,并评估 AWS 资源的配置。

AWS Resources

AWS 资源是您使用、 AWS Command Line Interface (CLI) AWS Management Console、 AWS 软件开发工具包或 AWS 合作伙伴工具创建和管理的实体。 AWS 资源示例包括亚马逊 EC2 实例、安全组、亚马逊 VPC 和亚马逊弹性区块存储。 AWS Config 使用其唯一标识符来指代每种资源,例如资源 ID 或 A mazon 资源名称 (ARN)。有关更多信息,请参阅 支持的资源类型

配置项

配置项目表示您账户中存在的受支持 AWS 资源的各种属性的 point-in-time 视图。配置项目的组件包括元数据、属性、关系、当前配置和相关事件。 AWS Config 每当它检测到正在记录的资源类型发生变化时,都会创建一个配置项目。例如,如果 AWS Config 正在记录 Amazon S3 存储桶,则每当创建、更新或删除存储桶时,都会 AWS Config 创建一个配置项目。您也可以选择 AWS Config 以您设置的录制频率创建配置项目。

有关更多信息,请参阅Components of a Configuration Item选择所记录的资源 | 记录频率

配置记录器

配置记录器以配置项的形式将受支持资源的配置存储在您的账户中。您必须先创建并启动配置记录器,然后才能开始记录。您可以随时停止或重启配置记录器。有关更多信息,请参阅管理配置记录器

默认情况下,配置记录器会记录 AWS Config 正在运行的区域中所有支持的资源。您可以创建一个自定义配置记录器,仅记录您指定的资源类型。有关更多信息,请参阅选择 AWS Config 记录哪些资源

如果您使用 AWS Management Console 或 CLI 开启服务,则 AWS Config 会自动为您创建并启动配置记录器。

配置历史

配置历史记录是指定资源在某个时间段的配置项集合。配置历史记录包含多种信息,例如资源首次创建的时间、过去一个月的资源配置情况以及昨天上午 9 点发生了哪些配置更改等。配置历史记录有多种格式可供您使用。 AWS Config 自动将正在记录的每种资源类型的配置历史记录文件传送到您指定的 Amazon S3 存储桶。您可以在 AWS Config 控制台中选择给定资源,然后使用时间轴导航到该资源的所有先前配置项目。此外,您还可以从 API 访问资源的历史配置项。

有关更多信息,请参阅查看 AWS 资源配置和历史记录以及管理 AWS 资源配置和历史记录

配置快照

配置快照是您账户中受支持资源的配置项的集合。配置快照可以完整展示被记录的资源及其配置的相关信息。配置快照是验证您的配置的有效工具。例如,您可以定期检查配置快照,以便找出配置错误的资源或可能不应存在的资源。配置快照具有多种格式。您可以将配置快照传输到您指定的 Amazon Simple Storage Service (Amazon S3) 存储桶。此外,您还可以在 AWS Config 控制台中选择一个时间点,并使用资源之间的关系浏览配置项目的快照。

配置流

配置流是自动更新的列表,列出了 AWS Config 正在录制的资源的所有配置项目。每当资源被创建、修改或删除时, AWS Config 会创建一条配置项并将其添加到配置流。配置流使用您选择的 Amazon Simple Notification Service (Amazon SNS) 主题工作。配置流有助于观察配置更改的发生,这样您就可以发现潜在的问题,在某些资源发生更改时生成通知,或者更新需要反映 AWS 资源配置的外部系统。

资源关系

AWS Config 发现您账户中的 AWS 资源,然后创建 AWS 资源之间的关系图。例如,关系可能包括附加到与安全组 sg-ef678hk 关联的 Amazon EC2 实例 i-a1b2c3d4 的 Amazon EBS 卷 vol-123ab45d

有关更多信息,请参阅支持的资源类型

AWS Config 规则

AWS Config 规则代表您所需的特定 AWS 资源或整个 AWS 账户的配置设置。如果资源未通过规则检查,则将该资源和规则 AWS Config 标记为不合规,并通过 Amazon SNS AWS Config 通知您。以下是某 AWS Config 条规则可能的评估结果:

  • COMPLIANT - 规则通过了合规性检查的条件。

  • NON_COMPLIANT - 规则未通过合规性检查的条件。

  • ERROR - 其中一个必选/可选参数无效,或者类型不正确,或者格式不正确。

  • NOT_APPLICABLE - 用于筛选出无法应用规则逻辑的资源。例如,该alb-desync-mode-check规则仅检查应用程序负载均衡器,而忽略网络负载均衡器和网关负载均衡器。

有两种类型的规则: AWS Config 托管规则和 AWS Config 自定义规则。有关规则定义和规则元数据结构的更多信息,请参阅AWS Config 规则的组成部分

AWS Config 托管规则

AWS Config 托管规则是由创建的预定义的、可自定义的规则 AWS Config。有关托管规则的列表,请参阅 AWS Config 托管规则列表。

AWS Config 自定义规则

AWS Config 自定义规则是您从头开始创建的规则。有两种方法可以创建 AWS Config 自定义规则:使用 Lambda 函数(AWS Lambda 开发者指南)和使用 Guard(Guard GitHub存储库)(一种 policy-as-code 语言)。 AWS Config 使用创建的 AWS Lambda 自定义规则称为AWS Config 自定义 Lambda 规则,使用 Guard 创建的 AWS Config 自定义规则称为AWS Config 自定义策略规则。

有关如何创建 AWS Config 自定义策略规则的演练,请参阅创建 AWS Config 自定义策略规则。有关如何创建自定义 Lambda 规则的演练,请参阅 AWS Config 创建 AWS Config 自定义 Lamb da 规则。

触发器类型

向账户添加规则后, AWS Config 将您的资源与规则的条件进行比较。在这次初始评估之后,每次触发评估时都会 AWS Config 继续运行评估。规则中会定义评估触发器,可以包括以下类型:

配置更改

AWS Config 当存在与规则范围匹配的资源并且资源的配置发生变化时,会对规则进行评估。评估将在 AWS Config 发送配置项目变更通知后运行。

通过定义规则的范围来选择哪些资源启动评估。范围可以包括:

  • 一个或多个资源类型

  • 资源类型和资源 ID 的组合

  • 标签键和值的组合

  • 当创建、更新或删除任何记录的资源时

AWS Config 当它检测到与规则范围相匹配的资源发生变化时,就会运行评估。您可以使用范围来定义哪些资源启动评估。

定期

AWS Config 按您选择的频率对规则进行评估;例如,每 24 小时运行一次。

混合

有些规则既有配置更改也有定期触发器。对于这些规则,它 AWS Config 会在检测到配置更改时以及按照您指定的频率评估您的资源。

评估模式

AWS Config 规则有两种评估模式:

主动

使用主动评估在资源部署之前对其进行评估。这使您可以评估一组资源属性(如果用于定义 AWS 资源)是合规还是不合规,因为您所在地区的账户中有一组主动规则。

有关更多信息,请参阅评估模式。有关支持主动评估的托管规则列表,请参阅按评估模式列出的 AWS Config 托管规则列表。

注意

主动规则不会修复标记为 NON_COMPLIANT 的资源,也不会阻止部署这些资源。

侦查

使用侦查评估来评估已部署的资源。这允许您评估现有资源的配置设置。

合规包

一致性包是 AWS Config 规则和补救措施的集合,可以轻松地将其作为单个实体部署到一个账户和一个区域或整个组织中 AWS Organizations。

通过编写一个包含 AWS Config 规则(托管或自定义)和修复操作列表的 YAML 模板,可以创建一致性包。您可以使用 AWS Config 控制台或 AWS CLI 部署模板。

要快速入门并评估您的 AWS 环境,请使用其中一个样本一致性包模板。您也可以基于自定义合规包,从头开始创建合规包 YAML 文件。自定义一致性包是唯一的 AWS Config 规则和补救措施集合,您可以将它们一起部署到一个账户和一个 AWS 区域,或者跨组织部署。 AWS Organizations

流程检查是一种 AWS Config 规则,允许您跟踪需要作为一致性包一部分进行验证的外部和内部任务。可以将这些检查添加到现有合规包或新的合规包中。您可以在一个位置跟踪所有合规性,包括 AWS Config持续时间和手动检查。

多账户多区域数据聚合

中的多账户多区域数据聚合 AWS Config 允许您将来自多个账户和地区的 AWS Config 配置和合规性数据聚合到一个账户中。多账户多区域数据聚合对于中央 IT 管理员监控企业中多个 AWS 账户的合规性非常有用。

源账户

源账户是您要从中汇总 AWS Config 资源配置和合规性数据的 AWS 账户。源账户可以是 AWS Organizations 中的个人账户或组织。您可以单独提供源帐户,也可以通过它们进行检索 AWS Organizations。

源区域

来源区域是您要从中汇总 AWS Config 配置和合规性数据的 AWS 区域。

聚合器

聚合器是一种新的资源类型 AWS Config ,用于从多个源账户和区域收集 AWS Config 配置和合规性数据。在要查看聚合 AWS Config 配置和合规性数据的区域中创建聚合器。

注意

聚合器通过将数据从源账户复制到聚合器账户,提供对源账户和区域的只读视图,聚合器有权查看这些账户和区域。聚合器不提供对源账户或区域的变更访问权限。例如,这意味着您不能通过聚合器部署规则,也不能通过聚合器将快照文件推送到源账户或区域。

使用聚合器不会产生任何额外费用。

聚合器账户

聚合账户是您在其中创建聚合器的账户。

授权

作为源账户所有者,授权是指您向聚合器账户和区域授予的收集 AWS Config 配置和合规性数据的权限。如果要聚合的源账户是 AWS Organizations 的一部分,则不需要授权。

有关更多信息,请参阅Multi-Account Multi-Region Data Aggregation部分中的主题。

使用 AWS Config

AWS Config 控制台

您可以使用 AWS Config 控制台管理服务。控制台提供了用于执行许多 AWS Config 任务的用户界面,例如:

  • 指定用于录制的 AWS 资源类型。

  • 配置要记录的资源,包括:

    • 选择 Simple Storage Service(Amazon S3)存储桶。

    • 选择 Amazon SNS 主题。

    • 创建 AWS Config 角色。

  • 创建托管规则和自定义规则,这些规则和规则代表特定 AWS 资源或整个 AWS 账户所需的配置设置。

  • 创建和管理配置聚合器以跨多个账户和地区聚合数据。

  • 查看受支持资源的当前配置的快照。

  • 查看 AWS 资源之间的关系。

有关更多信息 AWS Management Console,请参阅AWS Management Console

AWS Config CLI

AWS Command Line Interface 是一个统一的工具,可用于 AWS Config 从命令行与之交互。有关更多信息,请参阅 AWS Command Line Interface 用户指南。有关 C AWS Config LI 命令的完整列表,请参阅可用命令

AWS Config API

除了控制台和 CLI 之外,您还可以使用 AWS Config RESTful API AWS Config 直接进行编程。有关更多信息,请参阅 AWS Config API 参考

AWS 软件开发工具包

除了使用 AWS Config API 之外,您还可以使用其中一个 AWS 软件开发工具包。每个软件开发工具包均包含适用于各种编程语言和平台的库和示例代码。这些开发工具包提供了一种简便方法,以使用编程方式访问 AWS Config。例如,您可以使用开发工具包以加密方式对请求进行签名,管理错误并自动重试请求。有关更多信息,请参阅用于 Amazon Web Services 的工具页面。

控制对的访问权限 AWS Config

AWS Identity and Access Management 是一项网络服务,可让 Amazon Web Services (AWS) 客户管理用户和用户权限。

要提供访问权限,请为您的用户、组或角色添加权限:

合作伙伴解决方案

AWS 与第三方日志和分析专家合作,提供使用 AWS Config 输出的解决方案。欲了解更多信息,请访问 AWS Config 详情页面,网址为AWS Config