Amazon Config 常见问题

一般性问题

AWS Config 是一种完全托管的服务,可为您提供资源库存、配置历史记录和配置更改通知,用于增强安全性和方便管理。借助 AWS Config,您可以找到现有的 AWS 资源,记录第三方资源的配置,导出资源的完整库存清单与所有配置详细信息,并确定在任何时间点上配置资源的方式。这些功能使用合规性审计、安全分析、资源更改跟踪和故障排除。

AWS Config 规则代表某个资源的期望配置,其评估依据是 AWS Config 中记录的相关资源的配置更改。针对资源配置评估规则的结果可在控制面板中查看。使用 AWS Config 规则,您可以从配置角度评估整体合规性和风险状态、查看一段时间内的合规性趋势,以及查明哪些配置更改导致了资源脱离规则合规性。

一致性包是使用 AWS Config 中的通用框架和打包模型构建的 AWS Config 规则和补救措施的集合。通过打包前述 AWS Config 构件,您可以简化跨多个账户和区域的治理策略和配置合规性的部署和报告方面,并减少资源处于不合规状态的时间。

AWS Config 可用于更加轻松地追踪您的资源配置,而无需预先投资,并且避开了安装和更新代理程序以进行数据收集或大型数据库维护的复杂性。一旦您启用了 AWS Config,您便可以查看与 AWS 资源相关的所有配置属性的持续更新详细信息。您可以通过 Amazon Simple Notification Service(SNS)获得每个配置更改的通知。

AWS Config 可为您提供资源配置历史记录的访问权。您可以将配置更改与可能对配置的更改做出了贡献的 AWS CloudTrail 事件关联起来。通过此信息,您能够充分了解从“谁进行的更改”、“来自哪个 IP 地址”之类的详细信息乃至此更改对 AWS 资源及相关资源产生的影响。您可以使用此信息生成报告,从而在一定的时间段内帮助审计和评估合规性。

任何期望通过持续评估其资源配置以在 AWS 上改进安全性和管理状况的 AWS 客户都可以从此功能获益。在大型组织中推荐配置资源最佳实践的管理员可以将这些规则编写成 AWS Config 规则,然后在用户中安装自管理。监视使用活动和检测漏洞配置的信息安全专家可以从 AWS Config 规则获益。如果您的工作负载必须遵循特定标准(例如 PCI-DSS 或 HIPAA),则可以使用此功能评估其 AWS 基础设施配置的合规性,并为审计人员生成报告。管理大型 AWS 基础设施或频繁变更组件的操作员也可以从 AWS Config 规则获益以进行故障排查。如果您想追踪资源配置更改、获得资源配置相关问题解答、证明合规性、进行故障排除或执行安全性分析,则应启用 AWS Config。

如果您正在寻找一个框架来为多个账户的 AWS 资源配置构建和部署合规性包,则应使用一致性包。此框架可用于针对安全性、DevOps 和其他角色构建自定义包,并且您可以使用其中一个示例一致性包模板快速开始。

AWS Config 规则和一致性包提供有关您的资源是否符合所指定的配置规则的信息。它们将定期和/或在检测到配置更改时根据 AWS Config 规则评估资源配置,具体取决于您如何配置规则。它们不能保证资源将符合规则或阻止用户执行非合规操作。但是,可以使用它们为每个 AWS Config 规则配置适当的补救措施,使不符合要求的资源重新符合要求。

AWS Config 规则不会直接影响最终用户使用 AWS 的方式。AWS Config 规则仅在配置更改已完成并由 AWS Config 记录之后才评估资源配置。AWS Config 规则不会阻止用户进行可能非合规的更改。若要控制您可以对 AWS 进行的预置以及预置期间所使用的配置参数,则分别使用 AWS Identity and Access Management(IAM)策略和 AWS Service Catalog

可以,AWS Config 规则可以设置为仅主动模式、仅侦测模式,或者同时设置为主动模式和侦测模式。有关这些规则的完整列表,请参阅文档

您可以使用现有的 PutConfigRule API 或 AWS Config 控制台,在自己账户中的 AWS Config 规则上启用主动模式。

AWS Config 可帮助您记录第三方资源或自定义资源类型的配置,例如本地服务器、软件即服务(SaaS)监控工具和版本控制系统。为此,必须创建符合并验证资源类型配置的资源提供者架构。您必须使用 AWS CloudFormation 或基础设施即代码(IaC)工具注册自定义资源。

如果您已将 AWS Config 配置为记录所有资源类型,则通过 AWS CloudFormation 管理(创建、更新或删除)的第三方资源将作为配置项目在 AWS Config 中自动进行跟踪。要更深入地了解所需的步骤并了解可在哪些 AWS 区域使用此功能,请参阅 AWS Config 开发人员指南:记录第三方资源的配置

AWS CloudTrail 会记录您账户上的用户 API 活动,协助您访问有关该活动的信息。您将获得有关 API 操作的完整详细信息,如调用者的身份、该 API 调用的时间、请求参数和 AWS 服务返回的响应元素。AWS Config 将您的 AWS 资源的时间点配置详细信息记录为配置项(CI)。您可以使用 CI 在某个时间点回答“我的 AWS 资源是什么样的?”您可以使用 CloudTrail 回答“谁进行了 API 调用来修改此资源?” 例如,您可以对 AWS Config 使用 AWS 管理控制台以检测安全组“生产数据库”过去的配置是否不正确。使用集成的 CloudTrail 信息,您可以发现是哪个用户错误配置了“生产数据库”安全组。

借助 AWS Config,您能够更加轻松地使用多账户、多地区数据聚合功能来监控多个账户和地区的合规状态。您可以在任一账户中创建配置聚合器,并从其他账户聚合合规详情。该功能还在 AWS Organizations 上得到利用,因此您可以聚合组织内所有账户的数据。

符合。适用于 ServiceNow 和 Jira Service Desk 的 AWS Service Management Connector 可协助 ServiceNow 和 Jira Service Desk 最终用户使用 ServiceNow 和 Jira Service Desk 在本地预置、管理和使用 AWS 资源。ServiceNow 用户可以在由 AWS Config 支持的配置项目视图中,通过 AWS Service Management Connector 在 ServiceNow 上无缝跟踪资源。Jira Service Desk 用户可以使用 AWS Service Management Connector 跟踪发布请求中的资源。这简化了针对 ServiceNow 和 Jira Service Desk 用户的 AWS 产品请求操作,并为 ServiceNow 和 Jira Service Desk 管理员提供了对 AWS 产品的管理和监督。

适用于 ServiceNow 的 AWS 服务管理连接器在 ServiceNow Store 中免费提供。已推出 AWS Service Catalog 的所有 AWS 区域均已正式提供这项新功能。有关更多信息,请访问文档

适用于 Jira Service Desk 的 AWS Service Management Connector 在 Atlassian Marketplace 上免费提供。已推出 AWS Service Catalog 的所有 AWS 区域均已正式提供这项新功能。有关更多信息,请访问文档

入门

开始使用 AWS Config 最快捷的方式就是使用 AWS 管理控制台。几次选择即可启用 AWS Config。有关其他详细信息,请参阅入门文档。

您可以使用 AWS 管理控制台、AWS 命令行界面或 SDK 查找当前和历史资源配置。

有关其他详细信息,参阅 AWS Config 文档

您可以基于每个地区为您的账户启用 AWS Config。

能,一旦适当的 IAM 策略应用到 Amazon S3 存储桶,您就可以将 AWS Config 设置为将配置更新从不同的账户发送到一个 Amazon Simple Storage Service(S3)存储桶中。一旦适当的 IAM 策略应用到 SNS 主题,您还可以向同一地区内的一个 SNS 主题发布通知。

符合。所有 AWS Config API 活动,包括 AWS Config API 操作的使用到阅读配置数据,都会被 CloudTrail 记录下来。

AWS Config 显示在时间轴上记录资源的配置项 (CI) 的时间。所有时间均以国际协调时间(UTC)为准。在管理控制台上直观显示时间轴时,服务使用当前时区(若适用,已针对夏令时调整)在时间轴视图中显示所有时间。

资源配置

配置项(CI)指的是一项资源在给定时间点的配置。CI 由五个部分组成:

各不同资源类型共同的有关资源的基本信息(例如 Amazon Resource 名称、标签)、

资源特定的配置数据(例如 EC2 实例类型)、

与其他资源关系的映射(例如 EC2::Volume vol-3434df43“附加到实例”EC2 实例 i-3432ee3a)、

与此状态相关的 AWS CloudTrail 事件 ID(仅适用于 AWS 资源)、

帮助您识别 CI 有关信息的元数据,如该 CI 的版本、以及捕捉到该 CI 的时间。

了解有关配置项的更多信息。

自定义配置项 (CI) 是第三方或自定义资源的 CI。示例包括本地数据库、Active Directory 服务器、版本控制系统(如 GitHub)和第三方监视工具(如 Datadog)。

当记录更改时,AWS Config 会将资源之间的关系考虑进去。例如,如果新的 EC2 安全组与 EC2 实例相关联,AWS Config 会在主要资源(EC2 安全组)和相关资源发生更改时,记录它们更新后的配置。

AWS Config 检测资源配置的更改并记录由更改导致的配置状态。如果接二连三地对资源进行多次配置更改,则 AWS Config 将只记录代表这一组更改累积影响的最终配置。在这些情况下,AWS Config 将只在配置项的 relatedEvents 字段列出最近的更改。这可协助用户和计划继续更改基础设施配置,而不必等待 AWS Config 记录中级瞬态。

定期记录使您能够决定记录环境中变化的频率,从而减少经常更改的资源中的配置项目。与其持续接收更新,不如使用定期记录来每 24 小时接收一次配置更改以满足您的应用场景。 

定期记录使您可以选择决定接收资源配置更新的频率。启用后,如果资源发生变化,AWS Config 只会在 24 小时周期结束时提供最新的配置,从而减少配置数据的频率,并使收集这些数据的成本更可预测,以用于运营计划和审计等应用场景。如果您的安全性和合规性需求需要持续监控您的资源,则应使用持续记录。

会。AWS Config 将定期扫描资源配置,以获取尚未记录的更改并记录这些更改。从这些扫描记录的 CI 在消息中没有 relatedEvent 字段,并且将仅选择尚未记录的最新状态进行记录。

符合。AWS Config 协助您记录 AWS 账户中的 EC2 实例内软件的配置更改,还可记录本地环境中虚拟机(VM)或服务器的配置更改。AWS Config 记录的配置信息包括操作系统更新、网络配置和已安装的应用程序。您可以使用 AWS Config 规则来评估您的实例、虚拟机和服务器是否符合相关指南。借助 AWS Config 提供的深入洞察和持续监控功能,您可以评估资源的合规情况,并针对操作问题进行故障排除。

只有在合规状态改变后,AWS Config 才会发送通知。如果之前不合规的某项资源仍不合规,AWS Config 不会发送新通知。如果合规状态更改为“合规”,您将会收到关于状态更改的通知。

是的,您可以排除某些资源,方法是在控制台中导航到 AWS Config 的“记录器设置”页面,选择“排除资源类型”选项并指定所需的排除项。或者,您可以使用 PutConfigurationRecorder API 来访问此功能。此 API 将禁用该资源类型的配置记录。此外,在配置 AWS Config 规则时,您可以指定您的规则是否评估指定的资源或带有特定标记的资源。

AWS Config 规则

资源的配置由 AWS Config 的配置项(CI)中所含的数据定义。AWS Config 规则的初始版本为相关规则提供了资源的 CI。AWS Config 规则可以将此信息与任何其他相关信息(例如其他附加资源和工作时间)一起用于评估资源配置的合规性。

规则表示用于资源的期望配置项(CI)属性值,并通过将这些属性值与 AWS Config 所记录的 CI 比较进行评估。规则有两种类型:

AWS 托管规则:AWS 托管规则由 AWS 预先生成和管理。您可以选择希望启用的规则,然后提供一些配置参数即可开始使用。了解更多 »

客户托管规则:客户托管规则为自定义规则,由您定义和生成。您可以在 AWS Lambda 中创建能够作为自定义规则的一部分来调用的函数,这些函数将在您的账户中应用。了解更多 »

开始使用 AWS Config 最快捷的方式就是使用 AWS 管理控制台。几次选择即可启用 AWS Config。有关其他详细信息,请参阅入门文档。

规则通常由 AWS 账户管理员建立。可以利用 AWS 托管规则(由 AWS 提供的一组预定义规则)或通过客户托管规则创建它们。借助 AWS 托管规则,对规则进行的更新将自动应用于任何使用该规则的账户。在客户托管模型中,客户拥有规则的完整副本,并在自己的账户中应用该规则。这些规则由客户维护。

默认情况下,您在 AWS 账户中最多可以创建 150 个规则。此外,您可以访问 AWS 服务限制页面,申请提高您的账户中的规则数量上限。

任何规则都可以作为由更改触发的规则或作为定期规则建立。由更改触发的规则在 AWS Config 为任何指定资源记录配置更改后应用。此外,还必须指定以下项之一:

标签键:(可选值):“标签键:值”意味着为带有指定“标签键:值”的资源记录的任何配置更改都将启动规则评估。

资源类型:为指定资源类型内的任何资源记录的任何配置更改都将启动规则评估。

资源 ID:为由资源类型和资源 ID 指定的资源记录的任何更改都将启动规则评估。

定期规则以指定的频率启动。可用频率为 1 小时、3 小时、6 小时、12 小时或 24 小时。定期规则具有适用于该规则的所有资源当前配置项 (CI) 的完整快照。

规则的评估可确定某个规则是否在特定时间点与某个资源相符合。这是针对资源配置评估规则的结果。AWS Config 规则将捕获并存储每个评估的结果。此结果将包含资源、规则、评估时间和导致非合规的配置项(CI)链接。

如果资源遵守了适用于其的所有规则,则该资源即为合规;否则,它就不合规。同样地,如果由规则评估的所有资源都符合该规则,则该规则为合规;否则,它就不合规。在某些情况下,例如为规则提供的权限不足时,可能不存在资源评估,从而导致数据不足的状态。此状态不能确定资源或规则的合规性状态。

AWS Config 规则控制面板为您提供由 AWS Config 跟踪的资源概述以及按资源和按规则显示的当前合规性摘要。当您按资源查看合规性时,您可以确定适用于资源的任何规则当前是否为非合规。您可以按规则查看合规性,这将向您显示规则范围下的任何资源当前是否为非合规。通过使用这些摘要视图,您可以进一步探索资源的 AWS Config 时间线视图,从而确定哪些配置参数发生变更。您可以使用此仪表板从概述开始了解,然后深入查看细化视图,该视图提供有关合规性状态以及哪些更改导致非合规的完整信息。

一致性包

您可以使用单个 AWS Config 规则来评估一个或多个账户中的资源配置合规性。一致性包提供了将规则以及补救措施打包到单个实体中的额外好处,只需一次选择即可将该单个实体部署到整个组织中。当您管理多个账户时,一致性包旨在简化合规性管理和大规模报告。一致性包旨在提供包级别的汇总合规性报告和不可变性。这有助于防止组织的个人成员账户修改或删除一致性包中的托管 AWS Config 规则和修复文档。

如果 Security Hub 中已存在合规性标准(如 PCI DSS),则更加简单的实施方法是使用完全托管的 Security Hub 服务。您可以通过 Security Hub 与 Amazon Detective 的集成调查结果,并且还可以使用 Security Hub 与 Amazon EventBridge 的集成构建自动化或半自动化的修复操作。但是,如果您想要制定自己的合规性或安全性标准(其中可包括安全、运行或成本优化检查),则 AWS Config 一致性包是您的理想之选。AWS Config 一致性包可以将一组 AWS Config 规则和关联的修复操作打包到单个实体中,从而简化 AWS Config 规则的管理。此打包操作可以简化在组织中部署规则和修复操作。它还支持汇总报告,因为可以在包级别报告合规性摘要。您可以从我们提供的 AWS Config 一致性包示例入手,然后根据您的需要进行自定义。

是,Security Hub 和 AWS Config 一致性包均支持持续合规性监控,前提是它们都依赖 AWS Config 和 AWS Config 规则。基础 AWS Config 规则可定期触发,也可以在检测到资源配置发生更改时触发。这可协助您持续审计和评估 AWS 资源配置在整体上是否符合您组织的策略和指南。

最快的入门方法是通过 CLI 或 AWS Config 控制台使用我们的某个示例模板创建一致性包。其中一些示例模板包括 S3 操作最佳实践、Amazon DynamoDB 操作最佳实践和 PCI 操作最佳实践。这些模板是用 YAML 编写的。您可以从我们的文档站点下载这些模板,并使用自己喜欢的文本编辑器对其进行修改以适合您的环境。您甚至可以添加以前可能已写入包中的自定义 AWS Config 规则。

一致性包将使用分级定价模型收费。有关更多详细信息,请访问 AWS Config 定价页面

多账户、多区域数据聚合

AWS Config 中的数据聚合功能可协助您将多个账户和区域的 AWS Config 数据聚合到单个账户和单个区域中。多账户数据聚合功能适合中央 IT 管理员使用,可以监控企业中多个 AWS 账户的合规性。

数据聚合功能不能用于跨多个账户预置规则。它只是一种报告功能,供您了解合规性信息。您可以使用 AWS CloudFormation StackSets 跨账户和地区预置规则。要了解更多信息,请参阅此博客链接

如果您在账户中启用了 AWS Config 和 AWS Config 规则,并且账户经过聚合,您便可通过在账户中创建聚合器来启用数据聚合功能。了解更多

聚合器是一种 AWS Config 资源类型,可从多个账户和地区收集 AWS Config 数据。您可以使用聚合器来查看 AWS Config 中针对多个账户和地区记录的资源配置和合规性数据。

聚合视图将显示整个组织的非合规规则总数、按资源数排序的前五个非合规规则以及具有最多非合规规则的前五个 AWS 账户。然后,您可以深入查看有关违反规则的资源的更多详细信息以及账户违反的规则列表。

您可以通过上传文件或单独输入账户来指定要聚合其 AWS Config 数据的账户。请注意,这些账户不属于任何 AWS 组织,因此您需要让每个账户均显式授权聚合器账户。了解更多

数据聚合功能对于多地区聚合也很有用。因此,您可以使用该功能跨多个地区聚合您账户的 AWS Config 数据。

有关提供多账户、多区域数据聚合的区域的详细信息,请访问 AWS Config 开发人员指南:多账户多区域数据聚合

在创建聚合器时,您需要指定可从其聚合数据的区域。该列表仅显示可以使用该功能的区域。您还可以选择“所有区域”,在这种情况下,只要在其他区域添加支持,它就会自动聚合数据。

服务和区域支持

有关受支持资源类型的完整列表,请查看我们的文档

有关已推出 AWS Config 的 AWS 区域的更多信息,请参阅 AWS 区域表。

定价

使用 AWS Config 时,您将根据账户中记录的配置项数量、活动 AWS Config 规则评估数量和一致性包评估数量付费。配置项是对您的 AWS 账户中资源配置状态的记录。AWS Config 可以以两种频率提供配置项目:连续和定期。每当发生更改时,连续记录会记录并提供配置更改。定期记录每 24 小时提供一次配置数据,前提是发生了更改。AWS Config 规则评估是由您 AWS 账户中的 AWS Config 规则对资源执行的合规性状态评估。一致性包评估是由一致性包内的 AWS Config 规则对资源进行的一次评估。有关更多详细信息和示例,请访问 https://aws.amazon.com/config/pricing/

您可以从一组由 AWS 提供的托管规则中进行选择,或者您可以编写自己的规则,以 Lambda 函数的方式进行编写。托管规则完全由 AWS 维护,您无需支付任何额外的 Lambda 费用即可运行它们。您可以启用托管规则、提供任何所需参数,然后在给定月份为每个活动的 AWS Config 规则支付单一费率即可。自定义规则使您具有完全控制权,因为它们作为 Lambda 函数在您的账户中应用。除了活动规则的月度费用外,自定义 AWS Config 规则还将按照标准的 Lambda 免费套餐*和函数执行费率计费。

*AWS 中国(北京)地区和 AWS 中国(宁夏)地区不提供 AWS 免费套餐。

合作伙伴解决方案

APN 合作伙伴解决方案(如 Splunk、ServiceNow、Evident.io、CloudCheckr、Redseal 和 Red Hat CloudForms)提供与 AWS Config 中的数据完全集成的服务。2nd Watch 和 CloudNexa 之类的托管服务提供商发布了与 AWS Config 的集成。此外,借助 AWS Config 规则,CloudHealth Technologies、Alert Logic 和 Trend Micro 等合作伙伴还可以提供可使用的集成式产品/服务。这些解决方案包括更改管理和安全分析等功能,可协助您可视化、监控和管理 AWS 资源配置。