使用 Compliance - AWS Systems Manager

使用 Compliance

Compliance 是 AWS Systems Manager 的一项功能,它可收集和报告有关 Patch Manager 修补中的修补状态和 State Manager 中的关联的数据。(Patch Manager 和 State Manager 也都是 AWS Systems Manager 的功能。) Compliance 还可报告有关您为托管式节点指定的自定义合规性类型的信息。本节包含有关每个合规性类型以及如何查看 Systems Manager 合规性数据的详细信息。本节还包含有关如何查看合规性历史记录和变更跟踪的信息。

注意

Systems Manager 与 Chef InSpec 集成在一起。InSpec 是一个开源的运行时框架,您可以使用该框架在 GitHub 或 Amazon Simple Storage Service(Amazon S3)上创建人类可读的配置文件。然后,您可以使用 Systems Manager 运行合规性扫描并查看合规和不合规的实例。有关更多信息,请参阅 将 Chef InSpec 配置文件与 Systems Manager Compliance 结合使用

关于补丁合规性

使用 Patch Manager 在实例上安装补丁之后,控制台、AWS Command Line Interface (AWS CLI) 命令响应或相应 Systems Manager API 操作的响应中将立即出现合规性状态信息。

有关补丁合规性状态值的信息,请参阅 了解补丁合规性状态值

关于 State Manager 关联合规性

创建一个或多个 State Manager 关联之后,控制台、AWS CLI 命令响应或相应 Systems Manager API 操作的响应中将立即出现合规性状态信息。对于关联,Compliance 显示 CompliantNon-compliant 的状态和分配给关联的严重性级别,如 CriticalMedium

关于自定义合规性

您可以将合规性元数据分配给托管式节点。然后此元数据可以与用于合规性报告目的的其他合规性数据聚合。例如,假设您的企业在您的托管式节点上运行软件 X 的版本 2.0、3.0 和 4.0。公司希望在版本 4.0 上实现标准化,这意味着运行版本 2.0 和 3.0 的实例将不合规。您可以使用 PutComplianceItems API 操作显式注释哪些托管式节点在运行软件 X 的较旧版本。您只能使用 AWS CLI、AWS Tools for Windows PowerShell 或软件开发工具包分配合规性元数据。以下 CLI 示例命令会将合规性元数据分配给一个托管实例并以要求的格式 Custom: 指定合规性类型。将每个示例资源占位符替换为您自己的信息。

Linux & macOS
aws ssm put-compliance-items \ --resource-id i-1234567890abcdef0 \ --resource-type ManagedInstance \ --compliance-type Custom:SoftwareXCheck \ --execution-summary ExecutionTime=AnyStringToDenoteTimeOrDate \ --items Id=Version2.0,Title=SoftwareXVersion,Severity=CRITICAL,Status=NON_COMPLIANT
Windows
aws ssm put-compliance-items ^ --resource-id i-1234567890abcdef0 ^ --resource-type ManagedInstance ^ --compliance-type Custom:SoftwareXCheck ^ --execution-summary ExecutionTime=AnyStringToDenoteTimeOrDate ^ --items Id=Version2.0,Title=SoftwareXVersion,Severity=CRITICAL,Status=NON_COMPLIANT
注意

ResourceType 参数仅支持 ManagedInstance。如果您将自定义合规性添加到托管式 AWS IoT Greengrass 核心设备,则必须指定 ManagedInstanceResourceType

然后合规经理可以查看摘要,或创建有关哪些托管式节点合规或不合规的报告。您可将最多 10 个不同的自定义合规性类型分配给一个托管式节点。

有关如何创建自定义合规性类型并查看合规性数据的示例,请参阅 Compliance 演练 (AWS CLI)

查看当前合规性数据

本节介绍如何在 Systems Manager 控制台中以及如何使用 AWS CLI 查看合规性数据。有关如何查看补丁和关联合规性历史记录和变更跟踪的信息,请参阅 查看合规性配置历史记录和变更跟踪

查看当前合规性数据(控制台)

使用以下过程在 Systems Manager 控制台中查看合规性数据。

在 Systems Manager 控制台中查看合规性报告
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 AWS Systems Manager 控制台。

  2. 在导航窗格中,选择 合规性

  3. Compliance dashboard filtering(合规性控制面板筛选)部分中,选择一个选项来筛选合规性数据。Compliance resources summary(合规性资源摘要)部分会根据您选择的筛选条件显示合规性数据的计数。

  4. 要深入了解资源以获取更多信息,请向下滚动至 Details overview for resources(资源详细信息概览)区域,然后选择托管式节点的 ID。

  5. Instance ID(实例 ID)或 Name(名称)详细信息页面上,选择 Configuration compliance(配置合规性)选项卡以查看详细的托管式节点配置合规性报告。

注意

有关修复合规性问题的信息,请参阅 使用 EventBridge 修复合规性问题

查看当前合规性数据 (AWS CLI)

可以通过使用以下 AWS CLI 命令,在 AWS CLI 中查看修补、关联和自定义合规性类型的合规性数据摘要。

list-compliance-summaries

根据您指定的筛选条件返回合规和不合规关联状态的摘要计数。(API:ListComplianceSummaries

list-resource-compliance-summaries

返回资源级摘要计数。根据您指定的筛选条件,摘要包括有关合规和不合规状态的信息,以及详细的合规性项目严重性计数。(API:ListResourceComplianceSummaries

可以使用以下 AWS CLI 命令查看修补的其他合规性数据。

describe-patch-group-state

返回补丁组的高级聚合补丁合规性状态。(API:DescribePatchGroupState

describe-instance-patch-states-for-patch-group

返回指定补丁组中实例的高级补丁状态。(API:DescribeInstancePatchStatesForPatchGroup

注意

有关如何使用 AWS CLI 配置修补和查看补丁合规性详细信息的说明,请参阅 教程:修补服务器环境(AWS CLI)

查看合规性配置历史记录和变更跟踪

Systems Manager Compliance 显示您的托管式节点的最新修补和关联合规性数据。您可以使用 AWS Config 查看修补和关联合规性历史记录和变更追踪。AWS Config 提供关于 AWS 账户中 AWS 资源配置的详细视图。这些信息包括资源之间的关联方式以及资源以前的配置方式,让您了解资源的配置和关系如何随着的时间的推移而更改。要查看修补和关联合规性历史记录和变更跟踪,您必须在 AWS Config 中打开以下资源:

  • SSM:PatchCompliance

  • SSM:AssociationCompliance

有关如何在 AWS Config 中选择和配置这些特定资源的信息,请参阅 AWS Config Developer Guide 中的选择哪些资源 AWS Config 记录

注意

有关 AWS Config 定价的信息,请参阅 定价