亚马逊AWS官方博客
新功能 — AWS Config 规则现在支持主动合规
在经营企业时,您必须在云运维的速度和控制之间找到适当的平衡。一方面,您希望能够快速配置应用程序所需的云资源。同时,根据您所在行业的不同,您需要保持监管、安全和运营最佳实践的合规性。
AWS Config 提供规则,您可以在侦测模式下运行这些规则,以评估您的 AWS 资源的配置设置是否符合所需的配置设置。今天,我们正在扩展 AWS Config 规则以支持主动模式,这样它们就可以在预置之前随时运行,并节省实施自定义部署前验证所花费的时间。
在创建标准资源模板时,平台团队可以在主动模式下运行 AWS Config 规则,以便在组织间共享之前测试其合规性。在实施新服务或新功能时,开发团队可以在持续集成和持续交付 (CI/CD) 管道中以主动模式运行规则,以识别不合规的资源。
您还可以在部署管道中使用 AWS CloudFormation Guard 来主动检查合规性,并确保在配置资源之前和之后都应用一组一致的策略。
我们来看看这些步骤的实际操作。
使用 AWS Config 主动合规
在 AWS Config 控制台中,我在导航窗格中选择规则。在规则表中,我看到新的已启用评估模式列,该列指定了规则是主动还是侦测。下面来设置我的第一条规则。
我选择添加规则,然后在 AWS 托管规则搜索框中输入 rds-storage
以查找 rds-storage-encrypted 规则。此规则检查您的 Amazon Relational Database Service (RDS) 数据库实例是否启用了存储加密,是否可以在主动或侦测评估模式下添加。我选择下一步。
在评估模式部分,我开启了主动评估。现在,主动评估开关和侦测评估开关均已启用。
我将所有其他设置保留为默认值,然后选择下一步。在下一步中,我查看配置并添加规则。
现在,我可以通过 AWS Config API(包括 AWS Command Line Interface (CLI) 和 AWS 开发工具包)或 CloudFormation Guard 使用主动合规性。在我的 CI/CD 管道中,我可以在创建资源之前使用 AWS Config API 检查资源的合规性。使用 AWS CloudFormation 进行部署时,我可以设置 CloudFormation 挂钩,以便在实际部署之前主动检查我的配置。
下面我们来看一个 AWS CLI 示例。首先,我调用 StartProactiveEvaluationResponse
API,输入资源 ID(仅供参考)、资源类型及其使用 CloudFormation 架构的配置。为简单起见,在数据库配置中,我只使用 StorageEncrypted
选项并将其设置为 true
来通过评估。我使用了 60
秒的评估超时,这对于这条规则来说已经足够了。
我在输出中回到了我用来使用 GetResourceEvaluationSummary
API 检查评估状态的 ResourceEvaluationId
。开始时,评估为 IN_PROGRESS
。通常需要几秒钟才能得到 COMPLIANT
或 NON_COMPLIANT
结果。
正如预期的那样,Amazon RDS 配置符合 rds-storage-encrypted 规则。如果我在 StorageEncrypted
设置为 false
的情况下重复前面的步骤,我会得到不合规的结果。
如果为一种资源类型启用了多个规则,则所有适用的规则都将在主动模式下运行以进行资源评估。要了解资源的各个规则级别的合规性,我可以调用 GetComplianceDetailsByResource
API:
如果在查看这些详细信息时未调用所需的规则,请务必检查主动模式是否已开启。
可用性和定价
所有提供 AWS Config 的商用 AWS 区域都将提供主动合规性,但在所有这些区域部署这项新功能可能需要几天时间。部署完成后,我将更新这篇文章。要了解哪些 AWS Config 规则可以转换为主动模式,请参阅开发人员指南。
根据记录的 AWS Config 规则评估次数向您收费。每次评估资源是否符合 AWS Config 规则时,都会记录规则评估。规则评估可以在侦测模式和/或主动模式(如果有)下运行。如果您同时在侦测模式和主动模式下运行规则,则只需要为侦测模式下的评估付费。有关更多信息,请参阅 AWS Config 定价。
借助这项新功能,您可以在配置之前使用 AWS Config 检查规则,避免实施自己的自定义验证。
— Danilo