

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 使用控制台处理 Patch Manager 资源和合规性
<a name="patch-manager-console"></a>

要使用Patch Manager（AWS Systems Manager 中的一项工具），请完成以下任务。此部分更详细地说明了这些任务。

1. 验证您使用的每个操作系统类型的 AWS 预定义的补丁基准是否符合您的需求。如果不符合，则为该托管式节点类型创建定义一组标准补丁的补丁基准，并将其设置为默认值。

1. 使用 Amazon Elastic Compute Cloud (Amazon EC2) 标签将托管节点整理到补丁组中（可选，但建议执行）。

1. 请执行以下操作之一：
   + （推荐）在Quick Setup（Systems Manager 中的一项工具）中配置补丁策略让您可以按计划为整个组织、部分组织单位或单个 AWS 账户安装缺失的补丁。有关更多信息，请参阅 [使用 Quick Setup 补丁策略为组织中的实例配置修补](quick-setup-patch-manager.md)。
   + 在 Run Command 任务类型中，创建使用 Systems Manager 文档（SSM 文档）`AWS-RunPatchBaseline` 的维护时段。有关更多信息，请参阅 [教程：使用控制台创建修补的维护时段](maintenance-window-tutorial-patching.md)。
   + 在 Run Command 操作中，手动运行 `AWS-RunPatchBaseline`。有关更多信息，请参阅 [从控制台运行命令](running-commands-console.md)。
   + 使用 **Patch now**（立即修补）功能按需手动修补节点。有关更多信息，请参阅 [按需修补托管式节点](patch-manager-patch-now-on-demand.md)。

1. 监视修补以验证合规性和调查故障。

**Topics**
+ [创建补丁策略](patch-manager-create-a-patch-policy.md)
+ [查看补丁程序控制面板摘要](patch-manager-view-dashboard-summaries.md)
+ [使用补丁合规性报告](patch-manager-compliance-reports.md)
+ [按需修补托管式节点](patch-manager-patch-now-on-demand.md)
+ [使用补丁基准](patch-manager-create-a-patch-baseline.md)
+ [查看可用的补丁](patch-manager-view-available-patches.md)
+ [创建和管理补丁组](patch-manager-tag-a-patch-group.md)
+ [将 Patch Manager 与 AWS Security Hub CSPM 集成](patch-manager-security-hub-integration.md)

# 创建补丁策略
<a name="patch-manager-create-a-patch-policy"></a>

补丁策略是您使用Quick Setup（AWS Systems Manager 中的一项工具）设置的一项配置。与其他配置修补的方法相比，补丁策略可以对补丁操作进行更广泛、更集中的控制。补丁策略定义了自动修补节点和应用程序时使用的计划和基准。

有关更多信息，请参阅以下主题：
+ [Quick Setup 中的补丁策略配置](patch-manager-policies.md)
+ [使用 Quick Setup 补丁策略为组织中的实例配置修补](quick-setup-patch-manager.md)

# 查看补丁程序控制面板摘要
<a name="patch-manager-view-dashboard-summaries"></a>

Patch Manager中的**控制面板**选项卡在控制台中提供一个摘要视图，可用于在统一视图中监控修补操作。Patch Manager是 AWS Systems Manager 中的一项工具。在**控制面板**选项卡上，您可以查看以下内容：
+ 有多少托管式节点符合和不符合修补规则的快照。
+ 托管式节点补丁合规性结果的时间快照。
+ 对于每种最常见的不合规原因，有多少不合规的托管式节点链接计数。
+ 最近修补操作的链接列表。
+ 已设置的定期修补任务的链接列表。

**查看补丁控制面板摘要**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**控制面板**选项卡。

1. 滚动到包含要查看的摘要数据的部分：
   + **Amazon EC2 实例管理**
   + **合规性摘要**
   + **不合规问题计数**
   + **合规性报告**
   + **基于非补丁策略的操作**
   + **基于非补丁策略的重复任务**

# 使用补丁合规性报告
<a name="patch-manager-compliance-reports"></a>

使用以下主题中的信息帮助您Patch Manager（AWS Systems Manager 中的一项工具）中生成和使用补丁合规性报告。

无论您使用哪种配置方法或类型进行修补操作，以下主题中的信息都适用：
+ Quick Setup 中配置的补丁策略
+ Quick Setup 中配置的主机管理选项
+ 运行补丁 `Scan` 或 `Install` 任务的维护时段
+ 按需 **Patch now**（立即修补）操作

**重要**  
补丁合规性报告是仅在成功进行修补操作后生成的特定时间点快照。每个报告都包含一个捕获时间，用于标识合规性状态的计算时间。  
如果您用多种操作来扫描实例的补丁合规性，请注意每次扫描都会覆盖先前扫描的补丁合规性数据。作为结果，您最终可能会导致补丁合规性数据中产生意外结果。有关更多信息，请参阅 [识别创建补丁合规性数据的执行](patch-manager-compliance-data-overwrites.md)。  
要验证使用哪个补丁基准来生成最新的合规性信息，请导航到 Patch Manager 中的**合规性报告**选项卡，找到要了解的托管节点行，然后在**使用的基准 ID** 列中选择基准 ID。

**Topics**
+ [查看补丁合规性结果](patch-manager-view-compliance-results.md)
+ [生成 .csv 补丁合规性报告](patch-manager-store-compliance-results-in-s3.md)
+ [使用 Patch Manager 修复不合规的托管式节点](patch-manager-noncompliant-nodes.md)
+ [识别创建补丁合规性数据的执行](patch-manager-compliance-data-overwrites.md)

# 查看补丁合规性结果
<a name="patch-manager-view-compliance-results"></a>

使用这些过程可查看有关托管式节点的补丁合规性信息。

此过程适用于使用 `AWS-RunPatchBaseline` 文档的补丁操作。查看有关使用 `AWS-RunPatchBaselineAssociation` 文档进行补丁操作的补丁合规性信息的信息，请参阅 [标识不合规的托管式节点](patch-manager-find-noncompliant-nodes.md)。

**注意**  
Quick Setup和 Explorer 的补丁扫描操作使用 `AWS-RunPatchBaselineAssociation` 文档。Quick Setup和 Explorer 都是 AWS Systems Manager 中的工具。

**确定针对特定 CVE 问题的补丁解决方案 (Linux)**  
对于许多基于 Linux 的操作系统，补丁合规性结果表明哪些常见漏洞和暴露 (CVE) 公告问题是通过哪些补丁来解决的。此信息可帮助您确定需要安装丢失或失败的补丁的紧迫程度。

受支持的以下操作系统的类型版本中包含 CVE 详细信息：
+ AlmaLinux
+ Amazon Linux 2
+ Amazon Linux 2023
+ Oracle Linux
+ Red Hat Enterprise Linux (RHEL)
+ Rocky Linux

**注意**  
默认情况下，CentOS Stream 不提供有关更新的 CVE 信息。但是，您可以使用 Fedora 发布的 Extra Packages for Enterprise Linux (EPEL) 存储库等第三方存储库来允许这种支持。想要了解有关信息，请参阅 Fedora 维基词条中的 [EPEL](https://fedoraproject.org/wiki/EPEL)。  
目前，仅报告状态为 `Missing` 或 `Failed` 的补丁的 CVE ID 值。

您还可以根据情况和修补目标的需要，将 CVE ID 添加到补丁基准中已批准或已拒绝的补丁列表中。

有关使用已批准和已拒绝的补丁列表的信息，请参阅以下主题：
+ [使用自定义补丁基准](patch-manager-manage-patch-baselines.md)
+ [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)
+ [补丁基准规则在基于 Linux 的系统上的工作原理](patch-manager-linux-rules.md)
+ [如何安装补丁](patch-manager-installing-patches.md)

**注意**  
在某些情况下，Microsoft 会为未指定更新日期和时间的应用程序发布补丁。在这些情况下，系统会默认提供 `01/01/1970` 的更新日期和时间。

## 查看补丁合规性结果
<a name="viewing-patch-compliance-results-console"></a>

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

**注意**  
有关生成下载到 Amazon Simple Storage Service (Amazon S3) 存储桶的补丁合规性报告的信息，请参阅 [生成 .csv 补丁合规性报告](patch-manager-store-compliance-results-in-s3.md)。

**查看补丁合规性结果**

1. 请执行以下操作之一。

   **选项 1**（推荐）：从Patch Manager（AWS Systems Manager 中的一项工具）中导航：
   + 在导航窗格中，请选择 **Patch Manager**。
   + 选择 **Compliance reporting**（合规性报告）选项卡。
   + 在**节点修补详细信息**区域中，选择要查看其补丁合规性结果的托管式节点 ID。此处将不会显示处于 `stopped` 或 `terminated` 状态的节点。
   + 在**详细信息**区域的**属性**列表中，选择**补丁**。

   **选项 2**：从 Compliance（AWS Systems Manager 中的一项工具）中导航：
   + 在导航窗格中，选择 **合规性**。
   + 适用于**合规性资源摘要**，请在列中为要查看的补丁资源类型选择一个数字，例如**不合规资源**。
   + 在下面的**资源**列表中，选择要查看其补丁合规性结果的托管式节点的 ID。
   + 在**详细信息**区域的**属性**列表中，选择**补丁**。

   **选项 3**：从 Fleet Manager（AWS Systems Manager 中的一项工具）中导航：
   + 在导航窗格中，请选择 **Fleet Manager**。
   + 在**托管式实例**区域中，选择要查看其补丁合规性结果的托管式节点的 ID。
   + 在**详细信息**区域的**属性**列表中，选择**补丁**。

1. （可选）在搜索框 (![\[The Search icon\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/search-icon.png)）中，从可用筛选器中选择。

   例如，对于 Red Hat Enterprise Linux (RHEL)，从以下选项中进行选择：
   + 名称
   + 分类
   + 州
   + 严重性

    对于 Windows Server，从以下选项中进行选择：
   + KB
   + 分类
   + 州
   + 严重性

1. 为您选择的筛选器类型选择一个可用值。例如，如果您选择了**状态**，现在选择一个合规性状态，例如**已安装待定重启**、**已失败**或者**缺少**。
**注意**  
目前，仅报告状态为 `Missing` 或 `Failed` 的补丁的 CVE ID 值。

1. 根据托管式节点的合规性状态，您可以选择采取哪些操作来补救任何不合规的节点。

   例如，您可以选择立即修补不合规托管式节点。有关按需修补托管式节点的信息，请参阅 [按需修补托管式节点](patch-manager-patch-now-on-demand.md)。

   有关补丁合规性数据的信息，请参阅 [补丁合规性状态值](patch-manager-compliance-states.md)。

# 生成 .csv 补丁合规性报告
<a name="patch-manager-store-compliance-results-in-s3"></a>

您可以使用 AWS Systems Manager 控制台来生成补丁合规性报告，这些报告将以 .csv 文件格式另存到您选择的 Amazon Simple Storage Service (Amazon S3) 存储桶。您可以生成单个按需报告或制定自动生成报告的计划。

可以在所选择的 AWS 账户 和 AWS 区域 中为单个托管式节点或所有托管式节点生成报告。对于单个节点，报告包含全面的详细信息，包括与不合规节点相关的补丁 ID。对于所有托管式节点的报告，仅提供摘要信息和不合规节点的补丁计数。

生成报告后，您可以使用 Amazon Quick 等工具导入和分析数据。Quick 是一项商业智能（BI）服务，可用于在交互式视觉环境中浏览和解读信息。有关更多信息，请参阅 [Amazon Quick 用户指南](https://docs.aws.amazon.com/quicksuite/latest/userguide/what-is.html)。

**注意**  
创建自定义补丁基准时，您可以为此补丁基准批准的补丁指定合规性严重性级别，例如 `Critical` 或 `High`。如果任何已批准补丁的补丁状态报告为 `Missing`，则补丁基准报告的总体合规性严重性级别就是您指定的严重级别。

也可以指定一个在生成报告时发送通知的 Amazon Simple Notification Service (Amazon SNS) 主题。

**生成补丁合规性报告的服务角色**  
首次生成报告时，Systems Manager 会创建名为 `AWS-SystemsManager-PatchSummaryExportRole` 的自动化担任角色，用于导出到 S3 的过程。

**注意**  
如果您要将合规性数据导出到加密的 S3 存储桶，则必须更新其关联的 AWS KMS 密钥政策以为 `AWS-SystemsManager-PatchSummaryExportRole` 提供必要的权限。例如，将与此类似的权限添加到 S3 存储桶的 AWS KMS 策略中：  

```
{
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey"
    ],
    "Resource": "role-arn"
}
```
将 *role-arn* 替换为账户中创建的 Amazon 资源名称（ARN），格式为 `arn:aws:iam::111222333444:role/service-role/AWS-SystemsManager-PatchSummaryExportRole`。  
有关更多信息，请参阅《*AWS Key Management Service 开发人员指南*》中的[在 AWS KMS 中使用密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

首次按计划生成报告时，Systems Manager 会创建另一个名为 `AWS-EventBridge-Start-SSMAutomationRole` 的另一个服务角色，以及服务角色 `AWS-SystemsManager-PatchSummaryExportRole`（如果尚未创建）以用于导出过程。`AWS-EventBridge-Start-SSMAutomationRole` 使 Amazon EventBridge 能够使用运行手册[AWS-导出补丁报告到 S3](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-exportpatchreporttos3) 来启动自动化。

我们建议不要尝试修改这些策略和角色。这样做可能会导致补丁合规性报告生成失败。有关更多信息，请参阅 [解决补丁合规性报告生成中的问题](#patch-compliance-reports-troubleshooting)。

**Topics**
+ [生成的补丁合规性报告中有哪些内容？](#patch-compliance-reports-to-s3-examples)
+ [为单个托管式节点生成补丁合规性报告](#patch-compliance-reports-to-s3-one-instance)
+ [为所有托管式节点生成补丁合规性报告](#patch-compliance-reports-to-s3-all-instances)
+ [查看补丁合规性报告历史](#patch-compliance-reporting-history)
+ [查看补丁合规性报告计划](#patch-compliance-reporting-schedules)
+ [解决补丁合规性报告生成中的问题](#patch-compliance-reports-troubleshooting)

## 生成的补丁合规性报告中有哪些内容？
<a name="patch-compliance-reports-to-s3-examples"></a>

本主题提供有关生成并下载到指定 S3 存储桶的补丁合规性报告中包含的内容类型的信息。

### 单个托管式节点的报告格式
<a name="patch-compliance-reports-to-s3-examples-single-instance"></a>

为单个托管式节点生成的报告提供摘要信息和详细信息。

[下载示例报告（单个节点）](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/Sample-single-instance-patch-compliance-report.zip)

单个托管式节点的摘要信息包括以下内容：
+ 索引
+ 实例 ID
+ 实例名称
+ 实例 IP
+ 平台名称
+ 平台版本
+ SSM Agent 版本
+ 补丁基准
+ 补丁组
+ 合规性状态
+ 合规性严重性
+ 不合规的重大严重性补丁计数
+ 不合规的高严重性补丁计数
+ 不合规的中等严重性补丁计数
+ 不合规的低严重性补丁计数
+ 不合规的信息严重性补丁计数
+ 不合规的未指定严重性补丁计数

单个托管式节点的详细信息包括以下内容：
+ 索引
+ 实例 ID
+ 实例名称
+ 补丁名称
+ KB ID/补丁 ID
+ 修补状态
+ 上次报告时间
+ 合规级别
+ 补丁严重性
+ 补丁分类
+ CVE ID
+ 补丁基准
+ 日志 URL
+ 实例 IP
+ 平台名称
+ 平台版本
+ SSM Agent 版本

**注意**  
创建自定义补丁基准时，您可以为此补丁基准批准的补丁指定合规性严重性级别，例如 `Critical` 或 `High`。如果任何已批准补丁的补丁状态报告为 `Missing`，则补丁基准报告的总体合规性严重性级别就是您指定的严重级别。

### 所有托管式节点的报告格式
<a name="patch-compliance-reports-to-s3-examples-all-instances"></a>

为所有托管式节点生成的报告仅提供摘要信息。

[下载示例报告（所有托管式节点）](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/Sample-all-instances-patch-compliance-report.zip)

所有托管式节点的摘要信息包括以下内容：
+ 索引
+ 实例 ID
+ 实例名称
+ 实例 IP
+ 平台名称
+ 平台版本
+ SSM Agent 版本
+ 补丁基准
+ 补丁组
+ 合规性状态
+ 合规性严重性
+ 不合规的重大严重性补丁计数
+ 不合规的高严重性补丁计数
+ 不合规的中等严重性补丁计数
+ 不合规的低严重性补丁计数
+ 不合规的信息严重性补丁计数
+ 不合规的未指定严重性补丁计数

## 为单个托管式节点生成补丁合规性报告
<a name="patch-compliance-reports-to-s3-one-instance"></a>

在 AWS 账户 中使用以下过程为单个托管式节点生成补丁摘要报告。单个托管式节点的报告提供有关每个不合规补丁的详细信息，包括补丁名称和 ID。

**为单个托管式节点生成补丁合规性报告**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择 **Compliance reporting**（合规性报告）选项卡。

1. 选择要为其生成报告的托管式节点所在行的按钮，然后选择 **View detail**（查看详细信息）。

1. 在 **Patch summary**（补丁摘要）部分中，选择 **Export to S3**（导出到 S3）。

1. 对于**报告名称**，输入名称以帮助您以后识别该报告。

1. 对于**报告频率**，选择下列选项之一：
   + **按需** — 创建一次性报告。跳至步骤 9。
   + **按计划** — 指定自动生成报告的定期计划。继续执行步骤 8。

1. 对于**计划类型**，请指定速率表达式（如每 3 天），或者提供 cron 表达式来设置报告频率。

   有关 Cron 表达式的更多信息，请参阅 [参考：适用于 Systems Manager 的 Cron 和 Rate 表达式](reference-cron-and-rate-expressions.md)。

1. 对于于 **Bucket name**，选择要存储 .csv 报告文件的 S3 存储桶的名称。
**重要**  
如果您处于 2019 年 3 月 20 日之后启动的 AWS 区域 中，则必须在该区域选择 S3 存储桶。默认情况下，在该日期之后启动的区域会被关闭。有关这些区域的详细信息和列表，请参阅《Amazon Web Services 一般参考》**中的 [Enabling a Region](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

1. （可选）要在报告生成时发送通知，请展开 **SNS topic**（SNS 主题）部分，然后从 **SNS topic Amazon Resource Name (ARN)** [SNS 主题的 Amazon Resource Name (ARN)] 中选择一个现存的 Amazon SNS 主题。

1. 选择**提交**。

有关查看生成报告的历史记录的信息，请参阅 [查看补丁合规性报告历史](#patch-compliance-reporting-history)。

有关查看已创建的报告计划详细信息的信息，请参阅 [查看补丁合规性报告计划](#patch-compliance-reporting-schedules)。

## 为所有托管式节点生成补丁合规性报告
<a name="patch-compliance-reports-to-s3-all-instances"></a>

在 AWS 账户 中使用以下过程为所有托管式节点生成补丁摘要报告。所有托管式节点的报告会指明哪些节点不合规以及不合规补丁的数量。它不提供补丁的名称或其他标识符。对于这些额外详细信息，您可以为单个托管式节点生成补丁合规性报告。有关更多信息，请参阅本主题前面的 [为单个托管式节点生成补丁合规性报告](#patch-compliance-reports-to-s3-one-instance)。

**为所有托管式节点生成补丁合规性报告**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择 **Compliance reporting**（合规性报告）选项卡。

1. 选择**导出到 S3**。（不要先选择节点 ID。）

1. 对于**报告名称**，输入名称以帮助您以后识别该报告。

1. 对于**报告频率**，选择下列选项之一：
   + **按需** — 创建一次性报告。跳至步骤 8。
   + **按计划** — 指定自动生成报告的定期计划。继续执行步骤 7。

1. 对于**计划类型**，请指定速率表达式（如每 3 天），或者提供 cron 表达式来设置报告频率。

   有关 Cron 表达式的更多信息，请参阅 [参考：适用于 Systems Manager 的 Cron 和 Rate 表达式](reference-cron-and-rate-expressions.md)。

1. 对于于 **Bucket name**，选择要存储 .csv 报告文件的 S3 存储桶的名称。
**重要**  
如果您处于 2019 年 3 月 20 日之后启动的 AWS 区域 中，则必须在该区域选择 S3 存储桶。默认情况下，在该日期之后启动的区域会被关闭。有关这些区域的详细信息和列表，请参阅《Amazon Web Services 一般参考》**中的 [Enabling a Region](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

1. （可选）要在报告生成时发送通知，请展开 **SNS topic**（SNS 主题）部分，然后从 **SNS topic Amazon Resource Name (ARN)** [SNS 主题的 Amazon Resource Name (ARN)] 中选择一个现存的 Amazon SNS 主题。

1. 选择**提交**。

有关查看生成报告的历史记录的信息，请参阅 [查看补丁合规性报告历史](#patch-compliance-reporting-history)。

有关查看已创建的报告计划详细信息的信息，请参阅 [查看补丁合规性报告计划](#patch-compliance-reporting-schedules)。

## 查看补丁合规性报告历史
<a name="patch-compliance-reporting-history"></a>

使用本主题中的信息帮助您查看有关 AWS 账户 中生成的补丁合规性报告的详细信息。

**查看补丁合规性报告历史**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择 **Compliance reporting**（合规性报告）选项卡。

1. 选择**查看所有 S3 导出**，然后选择**导出历史记录**选项卡。

## 查看补丁合规性报告计划
<a name="patch-compliance-reporting-schedules"></a>

使用本主题中的信息帮助您查看在 AWS 账户 中生成的补丁合规性报告历史的详细信息。

**查看补丁合规性报告历史**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择 **Compliance reporting**（合规性报告）选项卡。

1. 选择 **View all S3 exports**（查看所有 S3 导出），然后选择 **Report schedule rules**（报告计划规则）选项卡。

## 解决补丁合规性报告生成中的问题
<a name="patch-compliance-reports-troubleshooting"></a>

利用以下信息，帮助排查Patch Manager（AWS Systems Manager 中的一项工具）中有关生成补丁合规性报告的问题。

**Topics**
+ [报告 `AWS-SystemsManager-PatchManagerExportRolePolicy` 策略已损坏的消息](#patch-compliance-reports-troubleshooting-1)
+ [在删除补丁合规性策略或角色后，未成功按照计划生成报告](#patch-compliance-reports-troubleshooting-2)

### 报告 `AWS-SystemsManager-PatchManagerExportRolePolicy` 策略已损坏的消息
<a name="patch-compliance-reports-troubleshooting-1"></a>

**问题**：您收到类似于以下内容的错误消息，指示 `AWS-SystemsManager-PatchManagerExportRolePolicy` 已损坏：

```
An error occurred while updating the AWS-SystemsManager-PatchManagerExportRolePolicy
policy. If you have edited the policy, you might need to delete the policy, and any 
role that uses it, then try again. Systems Manager recreates the roles and policies 
you have deleted.
```
+ **解决方案**：在生成新的补丁合规性报告之前，使用 Patch Manager 控制台或 AWS CLI 删除受影响的角色和策略。

**使用控制台删除损坏的策略**

  1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台

  1. 请执行以下操作之一：

     **按需报告** — 如果在生成一次性按需报告时出现问题，请在左侧导航栏中选择**策略**，搜索 `AWS-SystemsManager-PatchManagerExportRolePolicy`，然后删除该策略。下一步，选择**角色**，搜索 `AWS-SystemsManager-PatchSummaryExportRole`，然后删除该角色。

     **计划报告**：如果在按计划生成报告时出现问题，请在左侧导航栏中选择**策略**，一次搜索一个 `AWS-EventBridge-Start-SSMAutomationRolePolicy` 和 `AWS-SystemsManager-PatchManagerExportRolePolicy`，然后删除每个策略。下一步，选择**角色**，一次搜索一个 `AWS-EventBridge-Start-SSMAutomationRole` 和 `AWS-SystemsManager-PatchSummaryExportRole`，然后删除每个角色。

**使用 AWS CLI 删除损坏的策略**

  请将*占位符值*替换为账户 ID。
  + 如果在生成一次性按需报告时出现问题，请运行以下命令：

    ```
    aws iam delete-policy --policy-arn arn:aws:iam::account-id:policy/AWS-SystemsManager-PatchManagerExportRolePolicy
    ```

    ```
    aws iam delete-role --role-name AWS-SystemsManager-PatchSummaryExportRole
    ```

    如果在按计划生成报告时出现问题，请运行以下命令：

    ```
    aws iam delete-policy --policy-arn arn:aws:iam::account-id:policy/AWS-EventBridge-Start-SSMAutomationRolePolicy
    ```

    ```
    aws iam delete-policy --policy-arn arn:aws:iam::account-id:policy/AWS-SystemsManager-PatchManagerExportRolePolicy
    ```

    ```
    aws iam delete-role --role-name AWS-EventBridge-Start-SSMAutomationRole
    ```

    ```
    aws iam delete-role --role-name AWS-SystemsManager-PatchSummaryExportRole
    ```

  完成任一过程后，按照以下步骤生成或计划新的补丁合规性报告。

### 在删除补丁合规性策略或角色后，未成功按照计划生成报告
<a name="patch-compliance-reports-troubleshooting-2"></a>

**问题**：首次生成报告时，Systems Manager 会创建一个服务角色和一个策略，用于导出过程 (`AWS-SystemsManager-PatchSummaryExportRole` 和 `AWS-SystemsManager-PatchManagerExportRolePolicy`)。首次按计划生成报告时，Systems Manager 会创建另一个服务角色和策略 (`AWS-EventBridge-Start-SSMAutomationRole` 和 `AWS-EventBridge-Start-SSMAutomationRolePolicy`)。这些功能让 Amazon EventBridge 使用运行手册启动自动化 [AWS 导出补丁报告到 S3](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-exportpatchreporttos3)。

如果您删除这些策略或角色中的任何一个，则计划与指定的 S3 存储桶和 Amazon SNS 主题之间的连接可能会丢失。
+ **解决方案**：若要变通解决此问题，我们建议删除以前的计划，并创建一个新的计划来替换遇到问题的计划。

# 使用 Patch Manager 修复不合规的托管式节点
<a name="patch-manager-noncompliant-nodes"></a>

本节中的主题概述了如何标识不符合补丁合规性要求的托管式节点以及如何使节点合规。

**Topics**
+ [标识不合规的托管式节点](patch-manager-find-noncompliant-nodes.md)
+ [补丁合规性状态值](patch-manager-compliance-states.md)
+ [修补不合规的托管式节点](patch-manager-compliance-remediation.md)

# 标识不合规的托管式节点
<a name="patch-manager-find-noncompliant-nodes"></a>

当运行两个 AWS Systems Manager 文档（SSM 文档）中的其中一个文档时，会标识不合规的托管式节点。这些 SSM 文档引用了Patch Manager（AWS Systems Manager 中的一项工具）中每个托管式节点相应的补丁基准。然后，这些文档会评估托管式节点的补丁状态，并向您提供合规性结果。

有两个 SSM 文档用于标识或更新不合规的托管式节点：`AWS-RunPatchBaseline` 和 `AWS-RunPatchBaselineAssociation`。每个文档的使用流程不同，其合规性结果通过不同的渠道提供。下表概述了这些文档之间的差异。

**注意**  
来自 Patch Manager 的补丁合规性数据可以发送到 AWS Security Hub CSPM。Security Hub CSPM 能让您全面了解高优先级安全警报和合规性状态。它还监控您的实例集的修补状态。有关更多信息，请参阅 [将 Patch Manager 与 AWS Security Hub CSPM 集成](patch-manager-security-hub-integration.md)。


|  | `AWS-RunPatchBaseline` | `AWS-RunPatchBaselineAssociation` | 
| --- | --- | --- | 
| 使用文档的过程 |  **按需修补** – 您可以使用 **Patch now**（立即修补）选项按需扫描或修补托管式节点。有关信息，请参阅[按需修补托管式节点](patch-manager-patch-now-on-demand.md)。 **Systems Manager Quick Setup补丁策略**：您可以在Quick Setup（AWS Systems Manager 中的一项工具）中创建修补配置，可针对整个组织、部分组织单位或单个 AWS 账户按不同的计划扫描或安装缺失的补丁。有关信息，请参阅[使用 Quick Setup 补丁策略为组织中的实例配置修补](quick-setup-patch-manager.md)。 **运行命令**：在 Run Command（AWS Systems Manager 中的一项工具）的操作中，您可以手动运行 `AWS-RunPatchBaseline`。有关信息，请参阅[从控制台运行命令](running-commands-console.md)。 **维护时段** – 在 Run Command 任务类型中，您可以使用 SSM 文档 `AWS-RunPatchBaseline` 创建维护时段。有关信息，请参阅[教程：使用控制台创建修补的维护时段](maintenance-window-tutorial-patching.md)。  |  **Systems Manager Quick Setup 主机管理**：您可以在 Quick Setup 中启用主机管理配置选项，每天扫描您的托管实例的补丁合规性。有关信息，请参阅[使用 Quick Setup 设置 Amazon EC2 主机管理](quick-setup-host-management.md)。 **Systems Manager [Explorer](Explorer.md)**：只要允许 Explorer（AWS Systems Manager 中的一项工具），该工具就会定期扫描托管式实例来了解补丁合规性，并会在 Explorer 控制面板中报告结果。  | 
| 补丁扫描结果数据的格式 |  在 `AWS-RunPatchBaseline` 运行后，Patch Manager会将 `AWS:PatchSummary` 对象发送至 Inventory（AWS Systems Manager 中的一项工具）。此报告仅在成功完成修补操作后生成，并且包含用于标识合规性状态计算时间的捕获时间。  |  在 `AWS-RunPatchBaselineAssociation` 运行后，Patch Manager 发送 `AWS:ComplianceItem` 对象至 Systems Manager 库存。  | 
| 在控制台中查看补丁合规性报告 |  您可以查看使用 [Systems Manager 配置合规性](systems-manager-compliance.md)中的 `AWS-RunPatchBaseline` 和 [使用托管式节点](fleet-manager-managed-nodes.md) 进程的补丁合规性信息。有关更多信息，请参阅 [查看补丁合规性结果](patch-manager-view-compliance-results.md)。  |  如果您使用 Quick Setup 扫描托管实例的补丁合规性，您可以在 [Systems Manager Fleet Manager](fleet-manager.md) 中查看合规性报告。在 Fleet Manager 控制台中，选择托管式节点的节点 ID。在**常规**菜单中，选择**配置合规性**。 如果您将Explorer 扫描托管实例的补丁合规性，您可以在 Explorer 和 [Systems Manager OpsCenter](OpsCenter.md) 中查看合规性报告。  | 
| 查看补丁合规性结果的 AWS CLI 命令 |  对于使用 `AWS-RunPatchBaseline` 的进程，您可以使用以下 AWS CLI 命令查看有关托管式节点上的补丁的摘要信息。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/patch-manager-find-noncompliant-nodes.html)  |  对于使用 `AWS-RunPatchBaselineAssociation` 的进程，您可以使用以下 AWS CLI 命令查看有关实例补丁的摘要信息。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/patch-manager-find-noncompliant-nodes.html)  | 
| 修补操作 |  对于使用 `AWS-RunPatchBaseline` 的进程，可以指定是否仅希望该操作运行 `Scan` 操作，或者 `Scan and install` 操作。 如果您的目标是标识而非修复不合规的托管式节点，则仅运行 `Scan` 操作。  | Quick Setup 和 Explorer 进程，使用 AWS-RunPatchBaselineAssociation，请仅运行 Scan 操作。 | 
| 更多信息 |  [用于修补的 SSM 命令文档：`AWS-RunPatchBaseline`](patch-manager-aws-runpatchbaseline.md)  |  [用于修补的 SSM 命令文档：`AWS-RunPatchBaselineAssociation`](patch-manager-aws-runpatchbaselineassociation.md)  | 

有关您可能看到报告的各种补丁合规性状态的信息，请参阅 [补丁合规性状态值](patch-manager-compliance-states.md)

有关修复不符合补丁合规性要求的托管式节点的信息，请参阅 [修补不合规的托管式节点](patch-manager-compliance-remediation.md)。

# 补丁合规性状态值
<a name="patch-manager-compliance-states"></a>

有关托管式节点补丁的信息包括每个单一补丁的状态报告。

**提示**  
如果要将特定补丁合规性状态分配给托管式节点，可以使用 [https://docs.aws.amazon.com/cli/latest/reference/ssm/put-compliance-items.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/put-compliance-items.html) AWS Command Line Interface（AWS CLI）命令或 [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html) API 操作。控制台中不支持分配合规性状态。

使用下表中的信息可帮助您确定托管式节点可能不符合补丁合规性要求的原因。

## Debian Server 和 Ubuntu Server 的补丁合规性值
<a name="patch-compliance-values-ubuntu"></a>

对于 Debian Server 和 Ubuntu Server，将软件包分类到不同合规性状态的规则如下表所述。

**注意**  
在评估 `INSTALLED`、`INSTALLED_OTHER` 和 `MISSING` 状态值时，请记住以下事项：如果在创建或更新补丁基准时未选中**包括非安全性更新**复选框，则补丁候选版本仅限于以下存储库中的补丁：  
Ubuntu Server 16.04 LTS：`xenial-security`
Ubuntu Server 18.04 LTS：`bionic-security`
Ubuntu Server 20.04 LTS：`focal-security`
Ubuntu Server 22.04 LTS：`jammy-security`
Ubuntu Server 24.04 LTS (`noble-security`)
Ubuntu Server 25.04 (`plucky-security`)
`debian-security` (Debian Server)
如果选择了**包括非安全更新**复选框，也会考虑来自其他存储库的补丁。


| 修补状态 | 说明 | 合规性状态 | 
| --- | --- | --- | 
|  **`INSTALLED`**  |  补丁在补丁基准中列出，并已安装在托管式节点上。如果托管式节点上已运行 `AWS-RunPatchBaseline` 文档，则可能是由个人手动安装或由 Patch Manager 自动安装补丁。  | 合规 | 
|  **`INSTALLED_OTHER`**  |  补丁不包括在基准中，或者未获基准批准，但已安装在托管式节点上。该补丁可能已手动安装，该软件包可能是另一个已批准补丁的必需依赖项，或者该补丁可能已包含在 InstallOverrideList 操作中。如果您没有指定 `Block` 作为**拒绝的修补**行动,`INSTALLED_OTHER` 补丁还包括已安装但拒绝的补丁。  | 合规 | 
|  **`INSTALLED_PENDING_REBOOT`**  |  `INSTALLED_PENDING_REBOOT` 可能表示以下任一情况： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/patch-manager-compliance-states.html) 无论是哪种情况，都不表示具有此状态的补丁*需要*重新启动，而是只表示自安装补丁以来该节点尚未重新启动。  | 不合规 | 
|  **`INSTALLED_REJECTED`**  |  该补丁已安装在托管式节点上，但列在 **Rejected patches**（已被拒绝补丁）列表中。这通常意味着补丁是在添加到已拒绝的补丁列表之前安装的。  | 不合规 | 
|  **`MISSING`**  |  基准中已批准补丁，但托管式节点上未安装该补丁。如果将 `AWS-RunPatchBaseline` 文档任务配置为扫描（而不是安装），系统将为扫描期间找到但未安装的补丁报告此状态。  | 不合规 | 
|  **`FAILED`**  |  基准中已批准补丁，但无法安装补丁。要解决此问题，请查看命令输出中是否有可帮助您理解此问题的信息。  | 不合规 | 

## 其他操作系统的补丁合规性值
<a name="patch-compliance-values"></a>

对于除 Debian Server 和 Ubuntu Server 之外的所有操作系统，将软件包分类到不同合规性状态的规则如下表所述。


|  修补状态 | 说明 | 合规性值 | 
| --- | --- | --- | 
|  **`INSTALLED`**  |  补丁在补丁基准中列出，并已安装在托管式节点上。如果节点上已运行 `AWS-RunPatchBaseline` 文档，则可能是由个人手动安装或由 Patch Manager 自动安装补丁。  | 合规 | 
|  **`INSTALLED_OTHER`**¹  |  补丁不在基准中，但已安装在托管式节点上。有两个可能的原因： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/patch-manager-compliance-states.html)  | 合规 | 
|  **`INSTALLED_REJECTED`**  |  该补丁已安装在托管式节点上，但列在已被拒绝补丁列表中。这通常意味着补丁是在添加到已拒绝的补丁列表之前安装的。  | 不合规 | 
|  **`INSTALLED_PENDING_REBOOT`**  |  `INSTALLED_PENDING_REBOOT` 可能表示以下任一情况： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/patch-manager-compliance-states.html) 无论是哪种情况，都不表示具有此状态的补丁*需要*重新启动，而是只表示自安装补丁以来该节点尚未重新启动。  | 不合规 | 
|  **`MISSING`**  |  基准中已批准补丁，但托管式节点上未安装该补丁。如果将 `AWS-RunPatchBaseline` 文档任务配置为扫描（而不是安装），系统将为扫描期间找到但未安装的补丁报告此状态。  | 不合规 | 
|  **`FAILED`**  |  基准中已批准补丁，但无法安装补丁。要解决此问题，请查看命令输出中是否有可帮助您理解此问题的信息。  | 不合规 | 
|  **`NOT_APPLICABLE`**¹  |  *此合规性状态仅针对 Windows Server 操作系统报告。* 基准中已批准补丁，但托管式节点上未安装使用该补丁的服务或功能。例如，如果基准中已批准 Web 服务器服务 [如 Internet Information Services (IIS)] 的补丁，但托管式节点上未安装该 Web 服务，则该补丁将显示 `NOT_APPLICABLE`。如果补丁已由后续更新取代，则也可以将补丁标记为 `NOT_APPLICABLE`。这意味着安装了更高版本的更新，并且不再需要 `NOT_APPLICABLE` 更新。  | 不适用 | 
| AVAILABLE\$1SECURITY\$1UPDATES |  *此合规性状态仅针对 Windows Server 操作系统报告。* 未经补丁基准批准的可用安全更新补丁可以具有合规性值 `Compliant` 或 `Non-Compliant`，如自定义补丁基准中所定义。 创建或更新补丁基准时，需选择要分配给可用但尚未批准的安全补丁（这些补丁由于不符合补丁基准中指定的安装标准而未获批准）的状态。例如，如果您指定在补丁发布后等待较长时间再进行安装，则会跳过某些您可能希望安装的安全补丁。如果在您指定的等待期内发布了该补丁的更新版本，则该补丁的安装等待期将重新开始。如果等待期过长，则可能会发布多个版本的补丁，但不会进行安装。 对于补丁摘要计数，当某个补丁报告为 `AvailableSecurityUpdate` 时，它将始终计入 `AvailableSecurityUpdateCount`。如果基准配置为将此类补丁报告为 `NonCompliant`，则它们也会计入 `SecurityNonCompliantCount`。如果基准配置为将此类补丁报告为 `Compliant`，则它们不会计入 `SecurityNonCompliantCount`。此类补丁始终以未指定严重性的形式报告，且永远不会计入 `CriticalNonCompliantCount`。  |  “合规”或“不合规”，取决于为可用安全更新选择的选项。  通过控制台创建或更新补丁基准，需在**可用安全更新合规性状态**字段中指定此选项。通过 AWS CLI 运行 [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-patch-baseline.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-patch-baseline.html) 或 [https://docs.aws.amazon.com/cli/latest/reference/ssm/update-patch-baseline.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/update-patch-baseline.html) 命令时，需在 `available-security-updates-compliance-status` 参数中指定此选项。   | 

¹ 对于状态为 `INSTALLED_OTHER` 和 `NOT_APPLICABLE` 的补丁，根据 [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-instance-patches.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-instance-patches.html) 命令，Patch Manager 会从查询结果中省略一些数据，例如 `Classification` 和 `Severity` 的值。这样做有助于防止超出 Inventory（AWS Systems Manager 中的一项工具）中单个节点的数据限制。要查看所有补丁的详细信息，可以使用 [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-available-patches.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-available-patches.html) 命令。

# 修补不合规的托管式节点
<a name="patch-manager-compliance-remediation"></a>

许多 AWS Systems Manager 工具和流程均可用来检查托管式节点是否符合补丁合规性要求，您也可以使用这些工具和流程来使节点符合当前应用的补丁规则。要使托管式节点符合补丁合规性要求，Patch Manager（AWS Systems Manager 中的一项工具）必须运行 `Scan and install` 操作。（如果您的目标仅是标识而非修复不合规的托管式节点，请改为运行 `Scan` 操作。有关更多信息，请参阅 [标识不合规的托管式节点](patch-manager-find-noncompliant-nodes.md)。）

**使用 Systems Manager 安装补丁**  
您可以从多个工具中选择以运行 `Scan and install` 操作：
+ （推荐）在Quick Setup（Systems Manager 中的一项工具）中配置补丁策略让您可以按计划为整个组织、部分组织单位或单个 AWS 账户安装缺失的补丁。有关更多信息，请参阅 [使用 Quick Setup 补丁策略为组织中的实例配置修补](quick-setup-patch-manager.md)。
+ 在 Run Command 任务类型中，创建使用 Systems Manager 文档（SSM 文档）`AWS-RunPatchBaseline` 的维护时段。有关信息，请参阅[教程：使用控制台创建修补的维护时段](maintenance-window-tutorial-patching.md)。
+ 在 Run Command 操作中，手动运行 `AWS-RunPatchBaseline`。有关信息，请参阅[从控制台运行命令](running-commands-console.md)。
+ 使用**修补**选项，按需安装补丁。有关信息，请参阅[按需修补托管式节点](patch-manager-patch-now-on-demand.md)。

# 识别创建补丁合规性数据的执行
<a name="patch-manager-compliance-data-overwrites"></a>

补丁合规性数据代表最近一次成功修补操作的时间点快照。每个合规性报告都包含执行 ID 和捕获时间，可帮助您确定是哪个操作创建了合规性数据以及何时生成的。

如果您用多种操作来扫描实例的补丁合规性，则每次扫描都会覆盖先前扫描的补丁合规性数据。作为结果，您最终可能会导致补丁合规性数据中产生意外结果。

例如，假设您创建了一个补丁策略，该策略每天在当地时间凌晨 2 点扫描补丁合规性。该补丁策略使用的补丁基准是针对严重性标记为 `Critical`、`Important` 和 `Moderate` 的补丁。该补丁基准还指定了一些特定的已拒绝补丁。

同时，假设您已经设置了一个没有删除或停用的维护时段，每天在当地时间凌晨 4 点扫描同一组托管节点。该维护时段的任务使用其他补丁基准，该基准仅针对 `Critical` 严重性的补丁，且不排除任何特定补丁。

当维护时段执行第二次扫描时，第一次扫描的补丁合规性数据将被删除，并替换为第二次扫描的补丁合规性数据。

因此，我们强烈建议在修补操作中仅使用一种自动方法进行扫描和安装。如果您要设置补丁策略，应该删除或停用其他扫描补丁合规性的方法。有关更多信息，请参阅以下主题：
+ 要从维护时段删除修补操作任务：[使用控制台更新或注销维护时段任务](sysman-maintenance-update.md#sysman-maintenance-update-tasks)
+ 删除 State Manager 关联：[删除关联](systems-manager-state-manager-delete-association.md)。

要在“主机管理”配置中停用每日补丁合规性扫描，请在 Quick Setup 中执行以下操作：

1. 在导航窗格中，请选择 **Quick Setup**。

1. 选择要更新的主机管理配置。

1. 选择 **Actions, Edit configuration**（操作、编辑配置）。

1. 清除 **Scan instances for missing patches daily**（每日扫描实例以查找缺失的补丁）复选框。

1. 选择**更新**。

**注意**  
使用 **Patch now**（立即修补）选项扫描托管节点的合规性也会覆盖补丁合规性数据。

# 按需修补托管式节点
<a name="patch-manager-patch-now-on-demand"></a>

使用Patch Manager（AWS Systems Manager 中的一项工具）中的**立即修补**选项，您可以从 Systems Manager 控制台运行按需修补操作。这意味着您不必创建计划来更新托管式节点的合规性状态，或在不合规的节点上安装补丁。您也不需要在Patch Manager和 Maintenance Windows（AWS Systems Manager 中的一项工具）之间切换 Systems Manager 控制台来设置或修改计划的补丁时段。

当您必须尽快在托管式节点上应用零日更新或安装其他关键补丁时，**Patch now**（立即修补）特别有用。

**注意**  
每次仅支持按需修补一个 AWS 账户 与 AWS 区域 对。这不能用于基于*补丁策略*的修补操作。我们建议使用补丁策略来确保所有托管节点满足合规性。有关使用补丁策略的更多信息，请参阅 [Quick Setup 中的补丁策略配置](patch-manager-policies.md)。

**Topics**
+ [“立即补丁”的工作原理](#patch-on-demand-how-it-works)
+ [运行“立即修补”](#run-patch-now)

## “立即补丁”的工作原理
<a name="patch-on-demand-how-it-works"></a>

要运行**立即修补**，您只需指定两个必需的设置：
+ 是仅扫描缺少的补丁，还是在托管式节点上扫描*并*安装补丁
+ 要在哪个托管式节点上运行该操作

当 **Patch now**（立即修补）操作运行时，其确定以与为其他修补操作选择的基准相同的方式使用哪个补丁基准。如果托管式节点与补丁组关联，则将使用为该组指定的补丁基准。如果托管式节点未与补丁组关联，则该操作使用的补丁基准为当前设置为托管式节点操作系统类型的默认补丁基准。这可以是预定义基准，也可以是您设置为默认基准的自定义基准。有关选择补丁基准的更多信息，请参阅 [补丁组](patch-manager-patch-groups.md)。

您可以为 **Patch now**（立即修补）指定的选项包括：选择修补后重启托管式节点的时间或是否重启托管式节点，指定 Amazon Simple Storage Service (Amazon S3) 存储桶来存储修补操作的日志数据，以及在修补期间将 Systems Manager 文档（SSM 文档）作为生命周期钩子运行。

### “立即修补”的并发和错误阈值
<a name="patch-on-demand-concurrency"></a>

适用于**立即修补**操作，并发和错误阈值选项由 Patch Manager 来处理。您无需指定一次修补多少个托管式节点，也不需要指定操作失败之前允许的错误数。在按需进行修补时，Patch Manager 将应用下表中描述的并发和错误阈值设置。

**重要**  
以下阈值仅适用于 `Scan and install` 操作。对于 `Scan` 操作，Patch Manager 会尝试同时扫描多达 1,000 个节点，并继续扫描，直到遇到多达 1,000 个错误。


**并发性：安装操作**  

| **Patch now**（立即修补）操作中的托管式节点总数 | 一次扫描或修补的托管式节点数量 | 
| --- | --- | 
| 少于 25 | 1 | 
| 25-100 | 5% | 
| 101 到 1,000 | 8% | 
| 1,000 以上 | 10% | 


**错误阈值：安装操作**  

| **Patch now**（立即修补）操作中的托管式节点总数 | 操作失败前允许的错误数 | 
| --- | --- | 
| 少于 25 | 1 | 
| 25-100 | 5 | 
| 101 到 1,000 | 10 | 
| 1,000 以上 | 10 | 

### 使用“立即修补”生命周期钩子
<a name="patch-on-demand-hooks"></a>

**立即修补**提供了在 `Install` 修补操作期间将 SSM 命令文档作为生命周期钩子运行的能力。您可以使用这些钩子执行诸如在修补之前关闭应用程序或在修补后或重启后对应用程序运行状况检查之类的任务。

有关使用生命周期钩子的更多信息，请参阅 [用于修补的 SSM 命令文档：`AWS-RunPatchBaselineWithHooks`](patch-manager-aws-runpatchbaselinewithhooks.md)。

下表列出了适用于三个**立即修补**重启选项之一的可用生命周期钩子，以及每个钩子的示例用途。


**生命周期钩子和示例用途**  

| 重启选项 | 钩子：安装前 | 钩子：安装后 | 钩子：退出时 | 钩子：计划重启后 | 
| --- | --- | --- | --- | --- | 
| 如果需要，重启 |  在开始修补之前运行 SSM 文档。 示例用途：在修补过程开始之前安全地关闭应用程序。  |  在修补操作结束时和托管式节点重启前运行 SSM 文档。 示例用途：在潜在重启之前运行诸如安装第三方应用程序等操作。  |  修补操作完成后运行 SSM 文档，重新启动实例。 示例用途：确保应用程序在修补后按预期运行。  | 不可用 | 
| 不重启我的实例 | 同上。 |  在修补操作结束时运行 SSM 文档。 示例用途：确保应用程序在修补后按预期运行。  |  *不可用*   |  *不可用*   | 
| 计划重启时间 | 同上。 | 与不重启我的实例相同。 | 不可用 |  在计划的重启完成后立即运行 SSM 文档。 示例用途：确保应用程序在重启后按预期运行。  | 

## 运行“立即修补”
<a name="run-patch-now"></a>

使用以下过程按需修补托管式节点。

**要运行“立即修补”**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**立即修补**。

1. 适用于**修补操作**，请选择以下选项之一：
   + **Scan**（扫描）：Patch Manager 查找托管式节点中缺少的补丁，但不进行安装。您可以在**合规性**控制面板中查看结果，或在你使用的其他工具中查看补丁合规性。
   + **Scan and install**（扫描并安装）：Patch Manager 查找并安装托管式节点中缺少的补丁。

1. 仅在上一个步骤中选择**扫描并安装**时，使用此步骤。对于 **重启选项**，请选择以下选项之一：
   + **Reboot if needed**（如需要，则重启）：安装后，Patch Manager 仅在需要完成补丁安装时才会重启托管式节点。
   + **Don't reboot my instances**（不重启我的实例）：安装后，Patch Manager 不会重启托管式节点。当您在 Patch Manager 之外选择或管理重启时，您可以手动重启节点。
   + **Schedule a reboot time**（计划重启时间）：为 Patch Manager 重启托管式节点，指定日期、时间和 UTC 时区。在您运行**立即修补**操作时，计划的重启将在 State Manager 中列为关联内容，名称为 `AWS-PatchRebootAssociation`。
**重要**  
如果在主修补操作开始后取消该操作，则State Manager中的 `AWS-PatchRebootAssociation` 关联不会自动取消。为防止意外重启，如果不再希望发生计划重启，则必须手动从State Manager中删除 `AWS-PatchRebootAssociation`。否则可能导致系统意外重启，从而影响生产工作负载。您可以在 Systems Manager 控制台的**State Manager** > **关联**下找到此关联。

1. 对于 **要修补的实例**，请选择以下任一项：
   + **Patch all instances**（修补所有实例）：在当前 AWS 区域 中，Patch Manager 在 AWS 账户 中的所有托管式节点上运行指定操作。
   + **Patch only the target instances I specify**（仅修补我指定的目标实例）：您可以指定要在下一步中作为目标的托管式节点。

1. 仅在上一个步骤中选择**仅修补我指定的目标实例**时，使用此步骤。在 **Target selection**（目标选择）部分中，通过指定标签、手动选择节点或指定资源组，标识要在其上运行此操作的节点。
**注意**  
如果未列出您希望看到的托管式节点，请参阅 [排除托管式节点可用性的问题](fleet-manager-troubleshooting-managed-nodes.md) 以获取故障排除技巧。  
如果选择以资源组为目标，请注意，基于 AWS CloudFormation 堆栈的资源组仍然必须使用默认 `aws:cloudformation:stack-id` 标签来标记。如果已删除，Patch Manager 可能无法确定属于资源组的托管式节点。

1. （可选）对于**补丁日志存储**，如果要从此修补操作创建和保存日志，请选择用于存储日志的 S3 存储桶。
**注意**  
授予将数据写入 S3 存储桶的能力的 S3 权限，是分配给实例的实例配置文件（适用于 EC2 实例）或 IAM 服务角色（混合激活的计算机）的权限，而不是执行此任务的 IAM 用户的权限。有关更多信息，请参阅[配置 Systems Manager 所需的实例权限](setup-instance-permissions.md)或[在混合和多云环境中创建 Systems Manager 所需的 IAM 服务角色](hybrid-multicloud-service-role.md)。此外，如果指定的 S3 存储桶位于不同的 AWS 账户 中，请确保与该托管式节点关联的实例配置文件或 IAM 服务角色具有写入该存储桶的所需权限。

1. （可选）如果要在修补操作的特定点期间将 SSM 文档作为生命周期钩子运行，请执行以下操作：
   + 选择**使用生命周期钩子**。
   + 对于每个可用钩子，选择要在操作的指定点运行的 SSM 文档：
     + 安装前
     + 安装后
     + 退出时
     + 计划重启后
**注意**  
默认文档 `AWS-Noop`，不运行任何操作。

1. 选择**立即修补**。

   打开 **Association execution targets (关联执行目标)**页面。[“立即修补”使用State Manager（AWS Systems Manager 中的一项工具）中的关联进行操作。] 在 **Operation summary**（操作摘要）区域中，您可以监控指定托管式节点上的扫描或修补状态。

# 使用补丁基准
<a name="patch-manager-create-a-patch-baseline"></a>

Patch Manager（AWS Systems Manager 中的一项工具）中的补丁基准定义获批在托管式节点上安装的补丁。您可以逐个指定批准或拒绝的补丁。也可以创建自动批准规则，指定应自动批准的某些更新类型 (例如重要更新)。拒绝补丁列表将覆盖这些规则和批准列表。要使用一系列已批准的补丁来安装特定软件包，需要先删除所有自动批准规则。如果您将补丁明确标识为已拒绝，即使它匹配自动批准规则中的所有条件，也不会被批准或安装。此外，即使补丁获批用于某个托管式节点，只有该补丁适用于托管式节点上的软件时，才会安装该补丁。

**Topics**
+ [查看 AWS 预定义补丁基准](patch-manager-view-predefined-patch-baselines.md)
+ [使用自定义补丁基准](patch-manager-manage-patch-baselines.md)
+ [将现有补丁基准设置为默认项](patch-manager-default-patch-baseline.md)

**更多信息**  
+ [补丁基准](patch-manager-patch-baselines.md)

# 查看 AWS 预定义补丁基准
<a name="patch-manager-view-predefined-patch-baselines"></a>

Patch Manager（AWS Systems Manager 中的一项工具）包含用于Patch Manager支持的每个操作系统的预定义补丁基准。您可以利用这些补丁基准（您不能对其进行自定义），也可创建自己的补丁基准。以下过程介绍了如何查看预定义的补丁基准，以查看它是否满足您的需求。要了解有关补丁基准的更多信息，请参阅 [预定义和自定义补丁基准](patch-manager-predefined-and-custom-patch-baselines.md)。

**查看 AWS 预定义补丁基准**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 在补丁基准列表中，请选择其中一个预定义补丁基准的基准 ID。

   –或者–

   如果您是在当前 AWS 区域 首次访问 Patch Manager，请选择**从概览开始**，然后选择**补丁基准**选项卡，然后选择预定义补丁基准之一的基准 ID。
**注意**  
适用于 Windows Server，提供三个预定义的补丁基准。补丁基准 `AWS-DefaultPatchBaseline` 和 `AWS-WindowsPredefinedPatchBaseline-OS` 仅支持 Windows 操作系统本身的操作系统更新。除非您指定了其他补丁基准，`AWS-DefaultPatchBaseline` 用作 Windows Server 托管式节点的默认补丁基准。这两个补丁基准中的配置设置是相同的。两者中较新的,`AWS-WindowsPredefinedPatchBaseline-OS` 被创建来区分它和 Windows Server 的第三个预定义补丁基准。补丁基准 `AWS-WindowsPredefinedPatchBaseline-OS-Applications`，可用于将补丁应用到 Windows Server 操作系统和 Microsoft 发布的受支持的应用程序。  
有关更多信息，请参阅 [将现有补丁基准设置为默认项](patch-manager-default-patch-baseline.md)。

1. 在**批准规则**部分中，查看补丁基准配置。

1. 如果托管式节点接受该配置，则可以直接跳至过程 [创建和管理补丁组](patch-manager-tag-a-patch-group.md)。

   –或者–

   要创建自己的默认补丁基准，请继续主题 [使用自定义补丁基准](patch-manager-manage-patch-baselines.md)。

# 使用自定义补丁基准
<a name="patch-manager-manage-patch-baselines"></a>

Patch Manager（AWS Systems Manager 中的一项工具）包含用于Patch Manager支持的每个操作系统的预定义补丁基准。您可以利用这些补丁基准（您不能对其进行自定义），也可创建自己的补丁基准。

以下过程描述如何创建、更新和删除您自己的自定义补丁基准。要了解有关补丁基准的更多信息，请参阅 [预定义和自定义补丁基准](patch-manager-predefined-and-custom-patch-baselines.md)。

**Topics**
+ [创建适用于 Linux 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-linux.md)
+ [创建适用于 macOS 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-macos.md)
+ [创建适用于 Windows Server 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-windows.md)
+ [更新或删除自定义补丁基准](patch-manager-update-or-delete-a-patch-baseline.md)

# 创建适用于 Linux 的自定义补丁基准
<a name="patch-manager-create-a-patch-baseline-for-linux"></a>

在Patch Manager（AWS Systems Manager 中的一项工具）中，按照以下过程为 Linux 托管式节点创建自定义补丁基准。

有关为 macOS 托管式节点创建补丁基准的信息，请参阅 [创建适用于 macOS 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-macos.md)。有关为 Windows 托管式节点创建补丁基准的信息，请参阅 [创建适用于 Windows Server 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-windows.md)。

**为 Linux 托管式节点创建自定义补丁基准**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**补丁基准**选项卡，然后选择**创建补丁基准**。

   –或者–

   如果您是在当前 AWS 区域首次访问 Patch Manager，请选择**从概览开始**，然后选择**补丁基准**选项卡，然后选择**创建补丁基准**。

1. 在 **Name (名称)** 中，输入新补丁基准的名称，例如，`MyRHELPatchBaseline`。

1. （可选）对于 **Description (描述)**，输入此补丁基准的描述。

1. 对于 **Operating system (操作系统)**，请选择操作系统，例如 `Red Hat Enterprise Linux`。

1. 如果要在创建后即开始将此补丁基准用作所选操作系统的默认项，请选中 **Set this patch baseline as the default patch baseline for *operating system name* instances (将此补丁基准设置为 <操作系统名称> 实例的默认补丁基准)** 旁边的框。
**注意**  
只有在 2022 年 12 月 22 日 [补丁策略](patch-manager-policies.md) 发布之前首次访问 Patch Manager时，此选项才可用。  
有关将现有补丁基准设置为默认项的信息，请参阅 [将现有补丁基准设置为默认项](patch-manager-default-patch-baseline.md)。

1. 在 **Approval rules for operating-systems (操作系统的批准规则)** 部分，使用字段创建一个或多个自动批准规则。
   + **产品**：批准规则适用的操作系统版本，例如 `RedhatEnterpriseLinux7.4`。默认选择为 `All`。
   + **Classification (分类)**：批准规则适用于的补丁的类型，例如 `Security` 或 `Enhancement`。默认选择为 `All`。
**提示**  
您可以配置补丁基准来控制是否安装 Linux 的次要版本升级，如 RHEL 7.8。次要版本升级可由 Patch Manager 自动安装，前提是此更新在适当的存储库中可用。  
对于 Linux 操作系统，次要版本升级的分类方式不一致。它们可以分类为错误修复或安全更新，或者不分类，即使在同一内核版本中也是如此。以下是控制补丁基准是否安装这些补丁的几个选项。  
**选项 1**：确保在可用时安装次要版本升级的最广泛的批准规则是将 **Classification**（分类）指定为 `All` (\$1)，然后选择 **Include nonsecurity updates**（包括非安全更新）选项。
**选项 2**：为确保安装操作系统版本的补丁，您可以使用通配符 (\$1) 在基准的 **Patch exceptions (补丁例外)** 部分指定其内核格式。例如，RHEL 7.\$1 的内核格式为 `kernel-3.10.0-*.el7.x86_64`。  
在补丁基准中的 **Approved patches**（已批准补丁）列表中输入 `kernel-3.10.0-*.el7.x86_64`，以确保所有补丁（包括次要版本升级）都应用到 RHEL 7.\$1 托管式节点。（如果您知道次要版本补丁的确切程序包名称，则可以输入此名称。）
**Option 3**（选项 3）：通过使用 `AWS-RunPatchBaseline` 文档中的 [InstallOverrideList](patch-manager-aws-runpatchbaseline.md#patch-manager-aws-runpatchbaseline-parameters-installoverridelist) 参数，您可以最大程度地控制应用于托管式节点的补丁（包括次要版本升级）。有关更多信息，请参阅 [用于修补的 SSM 命令文档：`AWS-RunPatchBaseline`](patch-manager-aws-runpatchbaseline.md)。
   + **Severity (严重性)**：规则适用于的补丁的严重性值，例如 `Critical`。默认选择为 `All`。
   + **Auto-approval**（自动批准）：选择要自动批准的补丁的方法。
**注意**  
由于无法可靠地确定 Ubuntu Server 的更新程序包的发布日期，因此此操作系统不支持自动批准选项。
     + **在指定的天数后批准补丁**：Patch Manager 在发布或最后更新补丁之后等待的天数，然后自动批准补丁。可以输入零 (0) 到 360 的任何整数。对于大多数情况，我们建议等待期不超过 100 天。
     + **批准在特定日期之前发布的补丁**：补丁发布日期，Patch Manager 自动应用在该日期或之前发布或更新的所有补丁。例如，如果指定 2023 年 7 月 7 日，则不会自动安装在 2023 年 7 月 8 日或之后发布或最后更新的任何补丁。
   + （可选）**合规性报告**：要分配给基准批准的补丁的严重性级别，例如 `Critical` 或 `High`。
**注意**  
如果您指定合规性报告级别以及任何已批准补丁的补丁状态报告为 `Missing`，则补丁基准报告的总体合规性严重性级别就是您指定的严重级别。
   + **Include non-security updates (包括非安全性更新)**：选中此复选框，除了可以安装与安全性相关的补丁外，还可以安装源存储库中提供的非安全性 Linux 操作系统补丁。

   有关在自定义补丁基准中使用批准规则的更多信息，请参阅 [自定义基准](patch-manager-predefined-and-custom-patch-baselines.md#patch-manager-baselines-custom)。

1. 如果要明确批准除满足批准规则的补丁外的任何补丁，请在 **Patch exceptions (补丁例外)** 部分执行以下操作：
   + 对于 **Approved patches (已批准的补丁)**，输入要批准的补丁的逗号分隔列表。

     有关已批准的补丁和已拒绝的补丁列表的已接受格式的信息，请参阅 [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)。
   + （可选）对于 **Approved patches compliance level (已批准补丁合规性级别)**，为列表中的补丁分配合规性级别。
   + 如果您指定的任何已批准的补丁与安全性无关，请选中**包括非安全性更新**复选框，以便也在 Linux 操作系统上安装这些补丁。

1. 如果要明确拒绝除满足批准规则的补丁外的任何补丁，请在 **Patch exceptions (补丁例外)** 部分执行以下操作：
   + 对于 **Rejected patches (已拒绝的补丁)**，输入要拒绝的补丁的逗号分隔列表。

     有关已批准的补丁和已拒绝的补丁列表的已接受格式的信息，请参阅 [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)。
   + 对于**已拒绝的补丁操作**，请选择 Patch Manager 要对**已拒绝的补丁**列表中包含的补丁采取的操作。
     + **允许作为依赖项**：仅当**已拒绝的补丁**列表中的软件包是另一个软件包的依赖项时，才安装它。它被视为符合补丁基准，并且它的状态报告为 *InstalledOther*。这是未指定选项时的默认操作。
     + **阻止**：在任何情况下，Patch Manager 都不安装**已拒绝补丁**列表中的软件包以及包含相关补丁作为依赖项的软件包。如果在将软件包添加到**已拒绝补丁**列表之前已安装该软件包，或者之后会在 Patch Manager 外部安装该软件包，则将其视为不符合补丁基准并将状态报告为 *InstalledRejected*。
**注意**  
Patch Manager 递归搜索补丁依赖项。

1. （可选）如果您要为不同版本的操作系统 (如 *AmazonLinux2016.03* 和 *AmazonLinux2017.09*) 指定备用补丁存储库，请为 **Patch sources (补丁来源)** 部分中的每个产品执行以下操作：
   + 在 **Name (名称)** 中，输入名称以帮助您标识源配置。
   + 在 **Product**（产品）中，请选择补丁源存储库适用于的操作系统的版本，例如 `RedhatEnterpriseLinux7.4`。
   + 在**配置**中，输入要以适当格式使用的存储库配置的值：

------
#### [  Example for yum repositories  ]

     ```
     [main]
     name=MyCustomRepository
     baseurl=https://my-custom-repository
     enabled=1
     ```

**提示**  
有关 yum 存储库配置可用的其他选项的信息，请参阅 [dnf.conf(5)](https://man7.org/linux/man-pages/man5/dnf.conf.5.html)。

------
#### [  Examples for Ubuntu Server and Debian 服务器 ]

      `deb http://security.ubuntu.com/ubuntu jammy main` 

      `deb https://site.example.com/debian distribution component1 component2 component3` 

     必须在一行中指定 Ubuntu Server 存储库的存储库信息。有关更多示例和信息，请参阅 *Ubuntu 服务器手册*网站上的 [jammy (5) sources.list.5.gz](https://manpages.ubuntu.com/manpages/jammy/man5/sources.list.5.html) 以及 *Debian Wiki* 上的 [sources.list 格式](https://wiki.debian.org/SourcesList#sources.list_format)。

------

     选择**添加其他来源**来为每个其他操作系统版本指定源存储库，最多 20 个。

     有关备用源补丁存储库的更多信息，请参阅 [如何指定备用补丁源存储库 (Linux)](patch-manager-alternative-source-repository.md)。

1. （可选）对于**管理标签**，将一个或多个标签键名称/值对应用到补丁基准。

   标签是您分配给资源的可选元数据。标签允许您按各种标准（如用途、所有者或环境）对资源进行分类。例如，您可能想要标记补丁基准来确定其指定的补丁的严重性级别、它适用的操作系统系列以及环境类型。在这种情况下，您可以指定类似于以下键名称/值对的标签：
   + `Key=PatchSeverity,Value=Critical`
   + `Key=OS,Value=RHEL`
   + `Key=Environment,Value=Production`

1. 请选择**创建补丁基准**。

# 创建适用于 macOS 的自定义补丁基准
<a name="patch-manager-create-a-patch-baseline-for-macos"></a>

在Patch Manager（AWS Systems Manager 中的一项工具）中，按照以下过程为 macOS 托管式节点创建自定义补丁基准。

有关为 Windows Server 托管式节点创建补丁基准的信息，请参阅 [创建适用于 Windows Server 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-windows.md)。有关为 Linux 托管式节点创建补丁基准的信息，请参阅 [创建适用于 Linux 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-linux.md)。

**注意**  
并非所有 AWS 区域 都支持 macOS。有关对适用于 macOS 的 Amazon EC2 支持的一般信息，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 Mac 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html)。

**为 macOS 托管式节点创建自定义补丁基准**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**补丁基准**选项卡，然后选择**创建补丁基准**。

   –或者–

   如果您是在当前 AWS 区域首次访问 Patch Manager，请选择**从概览开始**，然后选择**补丁基准**选项卡，然后选择**创建补丁基准**。

1. 在 **Name (名称)** 中，输入新补丁基准的名称，例如，`MymacOSPatchBaseline`。

1. （可选）对于 **Description (描述)**，输入此补丁基准的描述。

1. 对于 **Operating system**（操作系统），请选择 macOS。

1. 如果要在创建后即开始将此补丁基准用作 macOS 的默认项，请选中**将此补丁基准设置为 macOS 实例的默认补丁基准** 旁边的框。
**注意**  
只有在 2022 年 12 月 22 日 [补丁策略](patch-manager-policies.md) 发布之前首次访问 Patch Manager时，此选项才可用。  
有关将现有补丁基准设置为默认项的信息，请参阅 [将现有补丁基准设置为默认项](patch-manager-default-patch-baseline.md)。

1. 在 **Approval rules for operating-systems (操作系统的批准规则)** 部分，使用字段创建一个或多个自动批准规则。
   + **产品**：批准规则适用的操作系统版本，例如 `BigSur11.3.1` 或 `Ventura13.7`。默认选择为 `All`。
   + **分类**：要在修补过程中应用软件包的软件包管理器。可从以下选项中进行选择：
     + 软件更新
     + 安装程序
     + 酿造
     + 酿造桶

     默认选择为 `All`。
   + （可选）**合规性报告**：要分配给基准批准的补丁的严重性级别，例如 `Critical` 或 `High`。
**注意**  
如果您指定合规性报告级别以及任何已批准补丁的补丁状态报告为 `Missing`，则补丁基准报告的总体合规性严重性级别就是您指定的严重级别。

   有关在自定义补丁基准中使用批准规则的更多信息，请参阅 [自定义基准](patch-manager-predefined-and-custom-patch-baselines.md#patch-manager-baselines-custom)。

1. 如果要明确批准除满足批准规则的补丁外的任何补丁，请在 **Patch exceptions (补丁例外)** 部分执行以下操作：
   + 对于 **Approved patches (已批准的补丁)**，输入要批准的补丁的逗号分隔列表。

     有关已批准的补丁和已拒绝的补丁列表的已接受格式的信息，请参阅 [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)。
   + （可选）对于 **Approved patches compliance level (已批准补丁合规性级别)**，为列表中的补丁分配合规性级别。

1. 如果要明确拒绝除满足批准规则的补丁外的任何补丁，请在 **Patch exceptions (补丁例外)** 部分执行以下操作：
   + 对于 **Rejected patches (已拒绝的补丁)**，输入要拒绝的补丁的逗号分隔列表。

     有关已批准的补丁和已拒绝的补丁列表的已接受格式的信息，请参阅 [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)。
   + 对于**已拒绝的补丁操作**，请选择 Patch Manager 要对**已拒绝的补丁**列表中包含的补丁采取的操作。
     + **允许作为依赖项**：仅当**已拒绝的补丁**列表中的软件包是另一个软件包的依赖项时，才安装它。它被视为符合补丁基准，并且它的状态报告为 *InstalledOther*。这是未指定选项时的默认操作。
     + **阻止**：在任何情况下，Patch Manager 都不安装**已拒绝补丁**列表中的软件包以及包含相关补丁作为依赖项的软件包。如果在将软件包添加到**已拒绝补丁**列表之前已安装该软件包，或者之后会在 Patch Manager 外部安装该软件包，则将其视为不符合补丁基准并将状态报告为 *InstalledRejected*。

1. （可选）对于**管理标签**，将一个或多个标签键名称/值对应用到补丁基准。

   标签是您分配给资源的可选元数据。标签允许您按各种标准（如用途、所有者或环境）对资源进行分类。例如，您可能想要标记补丁基准来确定其指定的补丁的严重性级别、它适用的软件包管理器以及环境类型。在这种情况下，您可以指定类似于以下键名称/值对的标签：
   + `Key=PatchSeverity,Value=Critical`
   + `Key=PackageManager,Value=softwareupdate`
   + `Key=Environment,Value=Production`

1. 请选择**创建补丁基准**。

# 创建适用于 Windows Server 的自定义补丁基准
<a name="patch-manager-create-a-patch-baseline-for-windows"></a>

在Patch Manager（AWS Systems Manager 中的一项工具）中，按照以下过程为 Windows 托管式节点创建自定义补丁基准。

有关为 Linux 托管式节点创建补丁基准的信息，请参阅 [创建适用于 Linux 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-linux.md)。有关为 macOS 托管式节点创建补丁基准的信息，请参阅 [创建适用于 macOS 的自定义补丁基准](patch-manager-create-a-patch-baseline-for-macos.md)。

有关创建仅限于安装 Windows Service Pack 的补丁基准的示例，请参阅 [教程：使用控制台创建用于安装 Windows Service Pack 的补丁基准](patch-manager-windows-service-pack-patch-baseline-tutorial.md)。

**创建自定义补丁基准 (Windows)**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**补丁基准**选项卡，然后选择**创建补丁基准**。

   –或者–

   如果您是在当前 AWS 区域首次访问 Patch Manager，请选择**从概览开始**，然后选择**补丁基准**选项卡，然后选择**创建补丁基准**。

1. 在 **Name (名称)** 中，输入新补丁基准的名称，例如，`MyWindowsPatchBaseline`。

1. （可选）对于 **Description (描述)**，输入此补丁基准的描述。

1. 对于 **Operating system**（操作系统），请选择 `Windows`。

1. 对于**可用安全更新合规性状态**，需选择要分配给可用但尚未批准的安全补丁（这些补丁不符合补丁基准中指定的安装标准因此未获批准）的状态，即**不合规**或**合规**。

   示例场景：如果您指定在补丁发布后等待较长时间再进行安装，则会跳过某些您可能希望安装的安全补丁。如果在您指定的等待期内发布了该补丁的更新版本，则该补丁的安装等待期将重新开始。如果等待期过长，则可能会发布多个版本的补丁，但不会进行安装。

1. 如果要在创建后即开始将此补丁基准用作 Windows 的默认项，请选择 **Set this patch baseline as the default patch baseline for Windows Server instances**（将此补丁基准设置为 Windows Server 实例的默认补丁基准）。
**注意**  
只有在 2022 年 12 月 22 日 [补丁策略](patch-manager-policies.md) 发布之前首次访问 Patch Manager时，此选项才可用。  
有关将现有补丁基准设置为默认项的信息，请参阅 [将现有补丁基准设置为默认项](patch-manager-default-patch-baseline.md)。

1. 在 **Approval rules for operating systems (操作系统的批准规则)** 部分，使用字段创建一个或多个自动批准规则。
   + **产品**：批准规则适用的操作系统版本，例如 `WindowsServer2012`。默认选择为 `All`。
   + **Classification (分类)**：批准规则适用于的补丁的类型，例如 `CriticalUpdates`、`Drivers` 和 `Tools`。默认选择为 `All`。
**提示**  
您可以在您的批准规则中包括 Windows 服务包安装，方法是包含 `ServicePacks` 或通过在您的**分类**列表中选择 `All`。有关示例，请参阅 [教程：使用控制台创建用于安装 Windows Service Pack 的补丁基准](patch-manager-windows-service-pack-patch-baseline-tutorial.md)。
   + **Severity (严重性)**：规则适用于的补丁的严重性值，例如 `Critical`。默认选择为 `All`。
   + **Auto-approval**（自动批准）：选择要自动批准的补丁的方法。
     + **在指定的天数后批准补丁**：Patch Manager 在发布或更新补丁之后等待的天数，然后自动批准补丁。可以输入零 (0) 到 360 的任何整数。对于大多数情况，我们建议等待期不超过 100 天。
     + **批准在特定日期之前发布的补丁**：补丁发布日期，Patch Manager 自动应用在该日期或之前发布或更新的所有补丁。例如，如果指定 2023 年 7 月 7 日，则不会自动安装在 2023 年 7 月 8 日或之后发布或最后更新的任何补丁。
   + （可选）**Compliance reporting（合规性报告）**：要分配给基准批准的补丁的严重性级别，例如 `High`。
**注意**  
如果您指定合规性报告级别以及任何已批准补丁的补丁状态报告为 `Missing`，则补丁基准报告的总体合规性严重性级别就是您指定的严重级别。

1. （可选）在**应用程序的批准规则**部分，使用字段创建一个或多个自动批准规则。
**注意**  
您可以将已批准和已拒绝的补丁列表指定为补丁例外，而不是指定批准规则。请参阅步骤 10 和 11。
   + **Product family (产品系列)**：您要为其指定规则的一般 Microsoft 产品系列，如 `Office` 或 `Exchange Server`。
   + **产品**：批准规则适用的应用程序版本，例如 `Office 2016` 或 `Active Directory Rights Management Services Client 2.0 2016`。默认选择为 `All`。
   + **Classification (分类)**：批准规则适用于的补丁的类型，例如 `CriticalUpdates`。默认选择为 `All`。
   + **Severity (严重性)**：规则适用于的补丁的严重性值，如 `Critical`。默认选择为 `All`。
   + **Auto-approval**（自动批准）：选择要自动批准的补丁的方法。
     + **在指定的天数后批准补丁**：Patch Manager 在发布或更新补丁之后等待的天数，然后自动批准补丁。可以输入零 (0) 到 360 的任何整数。对于大多数情况，我们建议等待期不超过 100 天。
     + **批准在特定日期之前发布的补丁**：补丁发布日期，Patch Manager 自动应用在该日期或之前发布或更新的所有补丁。例如，如果指定 2023 年 7 月 7 日，则不会自动安装在 2023 年 7 月 8 日或之后发布或最后更新的任何补丁。
   + （可选）**合规性报告**：要分配给基准批准的补丁的严重性级别，例如 `Critical` 或 `High`。
**注意**  
如果您指定合规性报告级别以及任何已批准补丁的补丁状态报告为 `Missing`，则补丁基准报告的总体合规性严重性级别就是您指定的严重级别。

1. （可选）如果要明确批准任何补丁，而不是允许根据批准规则选择补丁，请在**修补例外**部分进行以下操作：
   + 对于 **Approved patches (已批准的补丁)**，输入要批准的补丁的逗号分隔列表。

     有关已批准的补丁和已拒绝的补丁列表的已接受格式的信息，请参阅 [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)。
   + （可选）对于 **Approved patches compliance level (已批准补丁合规性级别)**，为列表中的补丁分配合规性级别。

1. 如果要明确拒绝除满足批准规则的补丁外的任何补丁，请在 **Patch exceptions (补丁例外)** 部分执行以下操作：
   + 对于 **Rejected patches (已拒绝的补丁)**，输入要拒绝的补丁的逗号分隔列表。

     有关已批准的补丁和已拒绝的补丁列表的已接受格式的信息，请参阅 [已批准补丁和已拒绝补丁列表的程序包名称格式](patch-manager-approved-rejected-package-name-formats.md)。
   + 对于**已拒绝的补丁操作**，请选择 Patch Manager 要对**已拒绝的补丁**列表中包含的补丁采取的操作。
     + **允许作为依赖项**：Windows Server 不支持软件包依赖项的概念。如果**已拒绝的补丁**列表中的软件包已安装在节点上，则其状态将报告为 `INSTALLED_OTHER`。任何尚未安装在节点上的软件包都将被跳过。
     + **阻止**：Patch Manager 在任何情况下都不会安装**已拒绝的补丁**列表中的软件包。如果在将软件包添加到**已拒绝补丁**列表之前已安装该软件包，或者之后会在 Patch Manager 外部安装该软件包，则将其视为不符合补丁基准并将状态报告为 `INSTALLED_REJECTED`。

     有关已拒绝软件包操作的更多信息，请参阅[自定义补丁基准中的“已拒绝的补丁”列表选项](patch-manager-windows-and-linux-differences.md#rejected-patches-diff)。

1. （可选）对于**管理标签**，将一个或多个标签键名称/值对应用到补丁基准。

   标签是您分配给资源的可选元数据。标签允许您按各种标准（如用途、所有者或环境）对资源进行分类。例如，您可能想要标记补丁基准来确定其指定的补丁的严重性级别、它适用的操作系统系列以及环境类型。在这种情况下，您可以指定类似于以下键名称/值对的标签：
   + `Key=PatchSeverity,Value=Critical`
   + `Key=OS,Value=RHEL`
   + `Key=Environment,Value=Production`

1. 请选择**创建补丁基准**。

# 更新或删除自定义补丁基准
<a name="patch-manager-update-or-delete-a-patch-baseline"></a>

您可以更新或删除自己在Patch Manager（AWS Systems Manager 中的一项工具）中创建的自定义补丁基准。更新补丁基准时，可以更改它的名称或说明、批准规则，以及对已批准和已拒绝补丁的例外。另外还可以更新应用于补丁基准的标签。您不能更改为其创建补丁基准的操作系统类型，也不能对 AWS 提供的预定义补丁基准进行更改。

## 更新或删除补丁基准
<a name="sysman-maintenance-update-mw"></a>

请按照以下步骤更新或删除补丁基准。

**重要**  
 在 Quick Setup 中删除补丁策略配置可能使用的自定义补丁基准时要谨慎。  
如果您在 Quick Setup 中使用[补丁策略配置](patch-manager-policies.md)，则系统会每小时与 Quick Setup 同步一次您对自定义补丁基准所做的更新。  
如果删除了补丁策略中引用的自定义补丁基准，那么补丁策略的 Quick Setup **Configuration details**（配置详细信息）页面上会显示一个横幅。横幅将通知您，补丁策略引用的补丁基准已不存在，且后续的修补操作将失败。在这种情况下，返回 Quick Setup **Configurations**（配置）页面，选择 Patch Manager 配置，然后选择 **Actions**（操作），**Edit configuration**（编辑配置）。已删除的补丁基准名称将突出显示，您必须为受影响的操作系统选择新的补丁基准。

**更新或删除补丁基准**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 请选择要更新或删除的补丁基准，然后执行以下操作之一：
   + 要从您的 AWS 账户 中删除补丁基准，请选择**删除**。系统将提示您确认操作。
   + 要对补丁基准的名称或说明、批准规则或补丁例外进行更改，请选择 **Edit**（编辑）。在 **Edit patch baseline**（编辑补丁基准）页面中，更改所需的值和选项，然后选择 **Save changes**（保存更改）。
   + 要添加、更改或删除应用到补丁基准的标签，请选择 **Tags (标签)** 选项卡，然后选择 **Edit tags (编辑标签)**。在 **Edit patch baseline tags (编辑补丁基准标签)** 页面上，对补丁基准标签进行更新，然后选择 **Save changes (保存更改)**。

   有关您可以进行的配置选择的信息，请参阅 [使用自定义补丁基准](patch-manager-manage-patch-baselines.md)。

# 将现有补丁基准设置为默认项
<a name="patch-manager-default-patch-baseline"></a>

**重要**  
您在此处所作的任何默认补丁基准选择均不适用于基于补丁策略的修补操作。补丁策略将使用自身的补丁基准规范。有关补丁策略的更多信息，请参阅 [Quick Setup 中的补丁策略配置](patch-manager-policies.md)。

当您在Patch Manager（AWS Systems Manager 中的一项工具）中创建自定义补丁基准时，可在创建后便将此基准设置为关联的操作系统类型的默认项。有关信息，请参阅[使用自定义补丁基准](patch-manager-manage-patch-baselines.md)。

您还可以将现有补丁基准设置为某个操作系统类型的默认项。

**注意**  
您执行的步骤取决于您首次访问 Patch Manager 是在 2022 年 12 月 22 日补丁策略发布之前还是之后。如果您在此日期之前使用过 Patch Manager，则可以使用控制台过程。否则，请使用 AWS CLI 过程。补丁策略发布前未使用 Patch Manager 的区域不会显示控制台过程中引用的**操作**菜单。

**将补丁基准设置为默认项**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**补丁基准**选项卡。

1. 在补丁基准列表中，选择当前未设置为操作系统类型的默认项的补丁基准的按钮。

   **Default baseline (默认基准)** 列指示哪些基准当前被设置为默认项。

1. 在 **Actions (操作)** 菜单中，选择 **Set default patch baseline (设置默认补丁基准)**。
**重要**  
如果您在 2022 年 12 月 22 日之前未在当前 AWS 账户 和区域中使用 Patch Manager，则**操作**菜单不可用。有关更多信息，请参阅本主题前面的**注释**。

1. 在确认对话框中，选择 **Set default (设置默认值)**。

**将补丁基准设置为默认项（AWS CLI）**

1. 运行 [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-patch-baselines.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-patch-baselines.html) 命令以查看可用补丁基准及其 ID 和 Amazon 资源名称（ARN）的列表。

   ```
   aws ssm describe-patch-baselines
   ```

1. 运行 [https://docs.aws.amazon.com/cli/latest/reference/ssm/register-default-patch-baseline.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-default-patch-baseline.html) 命令将基准设置为与其关联的操作系统的默认设置。将 *baseline-id-or-ARN* 替换为要使用的自定义补丁基准或预定义基准的 ID。

------
#### [ Linux & macOS ]

   ```
   aws ssm register-default-patch-baseline \
       --baseline-id baseline-id-or-ARN
   ```

   以下是将自定义基准设置为默认基准的示例。

   ```
   aws ssm register-default-patch-baseline \
       --baseline-id pb-abc123cf9bEXAMPLE
   ```

   以下是将 AWS 托管的预定义基准设置为默认基准的示例。

   ```
   aws ssm register-default-patch-baseline \
       --baseline-id arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646e
   ```

------
#### [ Windows Server ]

   ```
   aws ssm register-default-patch-baseline ^
       --baseline-id baseline-id-or-ARN
   ```

   以下是将自定义基准设置为默认基准的示例。

   ```
   aws ssm register-default-patch-baseline ^
       --baseline-id pb-abc123cf9bEXAMPLE
   ```

   以下是将 AWS 托管的预定义基准设置为默认基准的示例。

   ```
   aws ssm register-default-patch-baseline ^
       --baseline-id arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-071da192df1226b63
   ```

------

# 查看可用的补丁
<a name="patch-manager-view-available-patches"></a>

使用Patch Manager（AWS Systems Manager 中的一项工具），您可以查看指定操作系统以及特定操作系统版本（可选）的所有可用补丁。

**提示**  
要生成可用补丁列表并将其保存到文件中，可以使用 [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-available-patches.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-available-patches.html) 命令并指定您的首选[输出](https://docs.aws.amazon.com/cli/latest/reference/ssm/cli-usage-output.html)。

**查看可用补丁**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**补丁**选项卡。

   –或者–

   如果您是在当前 AWS 区域首次访问 Patch Manager，请选择**从概览开始**，然后选择**补丁**选项卡。
**注意**  
对于 Windows Server，**补丁**选项卡显示 Windows Server 更新服务（WSUS）提供的更新。

1. 对于**操作系统**，选择要查看其可用补丁的操作系统，例如 `Windows` 或者 `Amazon Linux`。

1. （可选）对于**产品**，选择操作系统版本，例如 `WindowsServer2019` 或者 `AmazonLinux2018.03`。

1. （可选）要添加或删除结果的信息列，请选择位于**补丁**列表右上方的配置按钮 (![\[The icon to view configuration settings.\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/configure-button.png))。（默认情况下，**补丁**选项卡仅显示部分可用补丁元数据的列。）

   有关可以添加到视图中的元数据类型的信息，请参阅 *AWS Systems Manager API 参考*中的[补丁](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_Patch.html)。

# 创建和管理补丁组
<a name="patch-manager-tag-a-patch-group"></a>

如果您在操作中*未*使用补丁策略，则可以通过使用标签将托管式节点添加到补丁组来组织修补工作。

**注意**  
补丁组不会用于基于*补丁策略*的修补操作。有关使用补丁策略的更多信息，请参阅 [Quick Setup 中的补丁策略配置](patch-manager-policies.md)。  
对于在 2022 年 12 月 22 日发布补丁策略支持之前尚未使用补丁组的账户-区域对，控制台不支持补丁组功能。补丁组功能在此日期之前开始使用补丁组的账户区域对中仍然可用。

要在修补操作中使用标签，必须将标签键 `Patch Group` 或 `PatchGroup` 应用于托管式节点。您还必须指定要为补丁组提供的名称作为标签的值。您可以指定任何标签值，但标签键必须为 `Patch Group` 或 `PatchGroup`。

如果[在 EC2 实例元数据中允许使用标签](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS)，则必须使用 `PatchGroup`（不带空格）。

使用标签对托管式节点进行分组后，请将补丁组值添加到补丁基准。通过将补丁组注册到补丁基准，您可以确保在修补操作期间安装正确的补丁。有关补丁组的更多信息，请参阅 [补丁组](patch-manager-patch-groups.md)。

完成本主题中的任务，使用带节点和补丁基准的标签对托管式节点进行修补。只有在修补 Amazon EC2 实例时才需要执行任务 1。只有在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中修补非 EC2 实例时才需要执行任务 2。所有托管式节点都必须执行任务 3。

**提示**  
您还可以使用 AWS CLI 命令 `[https://docs.aws.amazon.com/cli/latest/reference/ssm/add-tags-to-resource.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/add-tags-to-resource.html)` 或 Systems Manager API 操作 ssm-agent-minimum-s3-permissions-required`[https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_AddTagsToResource.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_AddTagsToResource.html)`，向托管式节点添加标签。

**Topics**
+ [任务 1：请使用标签将 EC2 实例添加到补丁组](#sysman-patch-group-tagging-ec2)
+ [任务 2：使用标签将托管式节点添加到补丁组](#sysman-patch-group-tagging-managed)
+ [任务 3：将补丁组添加到补丁基准](#sysman-patch-group-patchbaseline)

## 任务 1：请使用标签将 EC2 实例添加到补丁组
<a name="sysman-patch-group-tagging-ec2"></a>

您可以使用 Systems Manager 控制台或 Amazon EC2 控制台向 EC2 实例添加标签。只有在修补 Amazon EC2 实例时才需要执行此任务。

**重要**  
如果在实例上启用 **Allow tags in instance metadata**（允许在实例元数据中使用标签）选项，则无法将 `Patch Group` 标签（带空格）应用于 Amazon EC2 实例。允许在实例元数据中使用标签会导致标签密钥名称不得包含空格。如果[在 EC2 实例元数据中允许使用标签](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS)，则必须使用标签键 `PatchGroup`（不带空格）。

**选项 1：将 EC2 实例添加到补丁组（Systems Manager 控制台）**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Fleet Manager**。

1. 在**托管式节点**列表中，选择您要配置以进行修补的托管式 EC2 实例的 ID。EC2 实例的节点 ID 以 `i-` 开头。
**注意**  
使用 Amazon EC2 控制台和 AWS CLI 时，可以将 `Key = Patch Group` 或 `Key = PatchGroup` 标签应用于尚未配置为与 Systems Manager 结合使用的实例。  
如果未列出您希望看到的托管式节点，请参阅 [排除托管式节点可用性的问题](fleet-manager-troubleshooting-managed-nodes.md) 以获取故障排除技巧。

1. 选择**标签**选项卡，然后选择**编辑**。

1. 在左列中，输入 **Patch Group** 或 **PatchGroup**。如果[在 EC2 实例元数据中允许使用标签](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS)，则必须使用 `PatchGroup`（不带空格）。

1. 在右列中，输入一个标签值作为此补丁组的名称。

1. 选择**保存**。

1. 重复此过程，向同一补丁组中添加其他 EC2 实例。

**选项 2：将 EC2 实例添加到补丁组（Amazon EC2 控制台）**

1. 打开 [ Amazon EC2 控制台](https://console.aws.amazon.com/ec2/)，然后在导航窗格中选择**实例**。

1. 从实例列表中选择您要配置用于修补的实例。

1. 在**操作**菜单中，依次选择**实例设置**、**管理标签**。

1. 选择**添加新标签**。

1. 对于 **Key**（键），输入 **Patch Group** 或 **PatchGroup**。如果[在 EC2 实例元数据中允许使用标签](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS)，则必须使用 `PatchGroup`（不带空格）。

1. 对于**值**，输入一个值作为此补丁组的名称。

1. 选择**保存**。

1. 重复此过程，向同一补丁组中添加其他实例。

## 任务 2：使用标签将托管式节点添加到补丁组
<a name="sysman-patch-group-tagging-managed"></a>

按照本主题中的步骤，向 AWS IoT Greengrass 核心设备和非 EC2 混合激活的托管式节点（mi-\$1）添加标签。只有在混合和多云环境中修补非 EC2 实例时才需要执行此任务。

**注意**  
您不能使用 Amazon EC2 控制台为非 EC2 托管式节点添加标签。

**将非 EC2 托管式节点添加到补丁组（Systems Manager 控制台）**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Fleet Manager**。

1. 在**托管实例**列表中，选择您要为修补配置的托管节点的名称。
**注意**  
如果未列出您希望看到的托管式节点，请参阅 [排除托管式节点可用性的问题](fleet-manager-troubleshooting-managed-nodes.md) 以获取故障排除技巧。

1. 选择**标签**选项卡，然后选择**编辑**。

1. 在左列中，输入 **Patch Group** 或 **PatchGroup**。如果[在 EC2 实例元数据中允许使用标签](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#allow-access-to-tags-in-IMDS)，则必须使用 `PatchGroup`（不带空格）。

1. 在右列中，输入一个标签值作为此补丁组的名称。

1. 选择**保存**。

1. 重复此过程，向同一补丁组添加其他托管式节点。

## 任务 3：将补丁组添加到补丁基准
<a name="sysman-patch-group-patchbaseline"></a>

要将特定的补丁基准与托管式节点关联，必须将补丁组值添加到补丁基准。通过将补丁组注册到补丁基准，您可以确保在修补操作期间安装正确的补丁。无论是修补 EC2 实例、非 EC2 托管式节点还是两者，都需要执行此任务。

有关补丁组的更多信息，请参阅 [补丁组](patch-manager-patch-groups.md)。

**注意**  
您执行的步骤取决于您首次访问 Patch Manager 是在 2022 年 12 月 22 日[补丁策略](patch-manager-policies.md)发布之前还是之后。

**将补丁组添加到补丁基准（Systems Manager 控制台）**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Patch Manager**。

1. 如果您是首次在当前 AWS 区域 中访问 Patch Manager，并且 Patch Manager 起始页打开，则请选择**从概览开始**。

1. 选择**补丁基准**选项卡，然后在**补丁基准**列表中，选择要为补丁组配置的补丁基准的名称。

   如果您在补丁策略发布后才首次访问 Patch Manager，则必须选择已创建的自定义基准。

1. 如果**基准 ID** 详细信息页面包含**操作**菜单，请执行以下操作：
   + 选择 **Actions (操作)**，然后选择 **Modify patch groups (修改补丁组)**。
   + 在 [任务 2：使用标签将托管式节点添加到补丁组](#sysman-patch-group-tagging-managed) 中输入您添加到托管式节点的标签*值*，然后选择**添加**。

   如果**基准 ID** 详细信息页面*不*包含**操作**菜单，则无法在控制台中配置补丁组。请改为执行以下操作之一：
   + （推荐）在Quick Setup（AWS Systems Manager 中的一项工具）中设置补丁策略，将补丁基准映射到一个或多个 EC2 实例。

     有关更多信息，请参阅 [Using Quick Setup patch policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-policies.html) 和 [Automate organization-wide patching using a Quick Setup patch policy](https://docs.aws.amazon.com/systems-manager/latest/userguide/quick-setup-patch-manager.html)。
   + 使用 AWS Command Line Interface（AWS CLI）中的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/register-patch-baseline-for-patch-group.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-patch-baseline-for-patch-group.html) 命令配置补丁组。

# 将 Patch Manager 与 AWS Security Hub CSPM 集成
<a name="patch-manager-security-hub-integration"></a>

[AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) 向您提供 AWS 中安全状态的全面视图。Security Hub CSPM 会跨 AWS 账户、AWS 服务 和受支持的第三方合作伙伴产品收集安全数据。利用 Security Hub CSPM，您可以根据安全行业标准和最佳实践检查您的环境。Security Hub CSPM 帮助您分析安全趋势并确定最高优先级的安全问题。

通过使用Patch Manager（AWS Systems Manager 中的一项工具）和 Security Hub CSPM 之间的集成，您可以将有关不合规节点的调查发现从Patch Manager发送至 Security Hub CSPM。调查发现是安全检查或与安全相关的检测的可观测记录。然后，Security Hub CSPM 可以在其对您的安全状况分析中包含这些补丁相关的调查发现。

无论您使用哪种配置方法或类型进行修补操作，以下主题中的信息都适用：
+ Quick Setup 中配置的补丁策略
+ Quick Setup 中配置的主机管理选项
+ 运行补丁 `Scan` 或 `Install` 任务的维护时段
+ 按需 **Patch now**（立即修补）操作

**Contents**
+ [Patch Manager 如何将调查发现发送到 Security Hub CSPM](#securityhub-integration-sending-findings)
  + [Patch Manager 发送的结果类型](#securityhub-integration-finding-types)
  + [发送调查发现的延迟](#securityhub-integration-finding-latency)
  + [Security Hub CSPM 不可用时重试](#securityhub-integration-retry-send)
  + [查看 Security Hub CSPM 中的 调查发现](#securityhub-integration-view-findings)
+ [来自 Patch Manager 的典型调查发现](#securityhub-integration-finding-example)
+ [打开并配置集成](#securityhub-integration-enable)
+ [如何停止发送调查发现](#securityhub-integration-disable)

## Patch Manager 如何将调查发现发送到 Security Hub CSPM
<a name="securityhub-integration-sending-findings"></a>

在 Security Hub CSPM 中，安全问题按调查发现进行跟踪。一些检查结果来自其他 AWS 服务或第三方合作伙伴检测到的问题。Security Hub CSPM 还有一套用于检测安全问题和生成调查发现的规则。

 Patch Manager是 Systems Manager 的一项工具，能将结果发送到 Security Hub CSPM。在您通过运行 SSM 文档（`AWS-RunPatchBaseline`、`AWS-RunPatchBaselineAssociation` 或者 `AWS-RunPatchBaselineWithHooks`）来执行修补操作之后，修补信息将被发送至 Inventory 或 Compliance（都是 AWS Systems Manager 中的工具），或同时发给这两者。在库存、合规性或两者收到数据后，Patch Manager 会收到通知。然后,Patch Manager 评估数据的准确性、格式化和合规性。如果满足所有条件，Patch Manager将数据转发到 Security Hub CSPM。

Security Hub CSPM 提供了用于管理来自所有这些来源的调查发现的工具。您可以查看和筛选调查发现列表，并查看调查发现的详细信息。有关更多信息，请参阅 *AWS Security Hub 用户指南*中的[查看结果](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-viewing.html)。您还可以跟踪调查发现的调查状态。有关更多信息，请参阅 *AWS Security Hub 用户指南*中[对结果采取行动](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-taking-action.html)。

Security Hub CSPM 中的所有调查发现都使用名为 AWS 安全调查发现格式（ASFF）的标准 JSON 格式。ASFF 包含有关问题根源、受影响资源以及调查发现当前状态的详细信息。有关更多信息，请参阅《AWS Security Hub 用户指南》**中的 [AWS 安全调查发现格式（ASFF）](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.htm)。

### Patch Manager 发送的结果类型
<a name="securityhub-integration-finding-types"></a>

Patch Manager 使用 [AWS 安全调查发现格式（ASFF）](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html)将调查发现发送到 Security Hub CSPM。在 ASFF 中，`Types` 字段提供调查发现类型。来自 Patch Manager 的结果可能具有 `Types` 的以下值：
+ 软件和配置检查/补丁管理

 Patch Manager 为每个不合规的托管式节点发送一个调查发现。调查发现与资源类型 [https://docs.aws.amazon.com//securityhub/latest/userguide/securityhub-findings-format-attributes.html#asff-resourcedetails-awsec2instance](https://docs.aws.amazon.com//securityhub/latest/userguide/securityhub-findings-format-attributes.html#asff-resourcedetails-awsec2instance) 一起报告，以便调查发现可以与其他 Security Hub CSPM 集成相关联，这些集成会报告 `AwsEc2Instance` 资源类型。只有当操作发现托管式节点不合规时，Patch Manager 才会将调查发现转发给 Security Hub CSPM。调查发现中包括补丁摘要结果。

**注意**  
向 Security Hub CSPM 报告不合规的节点之后。节点合规后Patch Manager不会向 Security Hub CSPM 发送更新。将所需的补丁应用到托管式节点后，您可以在 Security Hub CSPM 中手动解决调查发现的问题。

有关合规性定义的更多信息，请参阅 [补丁合规性状态值](patch-manager-compliance-states.md)。有关 `PatchSummary` 的更多信息，请参阅 *AWS Security Hub API 参考*中的[补丁程序摘要](https://docs.aws.amazon.com//securityhub/1.0/APIReference/API_PatchSummary.html)。

### 发送调查发现的延迟
<a name="securityhub-integration-finding-latency"></a>

当Patch Manager创建新调查发现时，通常会在几秒到 2 小时内将结果发送到 Security Hub CSPM。速度取决于处理 AWS 区域 时的流量。

### Security Hub CSPM 不可用时重试
<a name="securityhub-integration-retry-send"></a>

如果存在服务中断，则运行 AWS Lambda 函数，以便在服务再次运行后将消息放回主队列。当消息进入主队列后，将自动重试。

如果 Security Hub CSPM 不可用，Patch Manager重试发送调查发现，直到收到这些调查发现。

### 查看 Security Hub CSPM 中的 调查发现
<a name="securityhub-integration-view-findings"></a>

此程序介绍如何在 Security Hub CSPM 中查看有关实例集中不符合补丁合规性的托管式节点的调查发现。

**查看补丁合规性的 Security Hub CSPM 调查发现**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 AWS Security Hub CSPM 控制台：[https://console.aws.amazon.com/securityhub/](https://console.aws.amazon.com/securityhub/)。

1. 在导航窗格中，选择 **调查发现**。

1. 选择**添加筛选条件**（![\[The Search icon\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/search-icon.png)）框。

1. 在菜单中的**筛选条件**下，选择**产品名称**。

1. 在打开的对话框中，在第一个字段中选择 **is**，然后在第二个字段中输入 **Systems Manager Patch Manager**。

1. 选择**应用**。

1. 添加您需要的任何其他筛选条件以帮助缩小搜索范围。

1. 在结果列表中，选择您想了解更多信息的调查发现的标题。

   屏幕右侧将打开一个窗格，其中包含有关资源、发现的问题和建议补救措施的更多详细信息。
**重要**  
目前，Security Hub CSPM 将所有托管式节点的资源类型报告为 `EC2 Instance`。这包括您已注册用于 Systems Manager 的本地服务器和虚拟机（VM）。

**严重性分类**  
**Systems Manager Patch Manager** 的调查发现列表包括有关调查发现严重性的报告。**严重性**级别包括以下内容（从最低到最高）：
+ **性** – 未发现任何问题。
+ **低** – 问题不需要修复。
+ **中** – 必须解决问题，但不是紧急的。
+ **高** – 必须优先解决问题。
+ **严重** – 必须立即解决此问题，以避免它升级。

严重性由实例上最严重的不合规软件包确定。由于您可以拥有多个具有多个严重性级别的补丁基准，因此会在所有不合规软件包中报告最高的严重性。例如，假设您有两个不合规程序包，其中程序包 A 的严重性为“严重”，而程序包 B 的严重性为“低”。“严重”将报告为严重性。

请注意，严重性字段与 Patch Manager `Compliance` 字段直接相关。这是您设置分配给与规则匹配的各个补丁的字段。由于此 `Compliance` 字段已分配给各个补丁，因此不会反映在“补丁摘要”级别。

**相关内容**
+ 《AWS Security Hub User Guide》**中的 [Findings](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings.html)
+ *AWS 管理与治理博客*中的 [Multi-Account patch compliance with Patch Manager and Security Hub](https://aws.amazon.com/blogs/mt/multi-account-patch-compliance-with-patch-manager-and-security-hub/)

## 来自 Patch Manager 的典型调查发现
<a name="securityhub-integration-finding-example"></a>

Patch Manager使用 [AWS 安全调查发现格式（ASFF）](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html)将调查发现发送到 Security Hub CSPM。

下面是来自 Patch Manager 的典型调查发现的示例。

```
{
  "SchemaVersion": "2018-10-08",
  "Id": "arn:aws:patchmanager:us-east-2:111122223333:instance/i-02573cafcfEXAMPLE/document/AWS-RunPatchBaseline/run-command/d710f5bd-04e3-47b4-82f6-df4e0EXAMPLE",
  "ProductArn": "arn:aws:securityhub:us-east-1::product/aws/ssm-patch-manager",
  "GeneratorId": "d710f5bd-04e3-47b4-82f6-df4e0EXAMPLE",
  "AwsAccountId": "111122223333",
  "Types": [
    "Software & Configuration Checks/Patch Management/Compliance"
  ],
  "CreatedAt": "2021-11-11T22:05:25Z",
  "UpdatedAt": "2021-11-11T22:05:25Z",
  "Severity": {
    "Label": "INFORMATIONAL",
    "Normalized": 0
  },
  "Title": "Systems Manager Patch Summary - Managed Instance Non-Compliant",
  "Description": "This AWS control checks whether each instance that is managed by AWS Systems Manager is in compliance with the rules of the patch baseline that applies to that instance when a compliance Scan runs.",
  "Remediation": {
    "Recommendation": {
      "Text": "For information about bringing instances into patch compliance, see 'Remediating out-of-compliance instances (Patch Manager)'.",
      "Url": "https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-compliance-remediation.html"
    }
  },
  "SourceUrl": "https://us-east-2.console.aws.amazon.com/systems-manager/fleet-manager/i-02573cafcfEXAMPLE/patch?region=us-east-2",
  "ProductFields": {
    "aws/securityhub/FindingId": "arn:aws:securityhub:us-east-2::product/aws/ssm-patch-manager/arn:aws:patchmanager:us-east-2:111122223333:instance/i-02573cafcfEXAMPLE/document/AWS-RunPatchBaseline/run-command/d710f5bd-04e3-47b4-82f6-df4e0EXAMPLE",
    "aws/securityhub/ProductName": "Systems Manager Patch Manager",
    "aws/securityhub/CompanyName": "AWS"
  },
  "Resources": [
    {
      "Type": "AwsEc2Instance",
      "Id": "i-02573cafcfEXAMPLE",
      "Partition": "aws",
      "Region": "us-east-2"
    }
  ],
  "WorkflowState": "NEW",
  "Workflow": {
    "Status": "NEW"
  },
  "RecordState": "ACTIVE",
  "PatchSummary": {
    "Id": "pb-0c10e65780EXAMPLE",
    "InstalledCount": 45,
    "MissingCount": 2,
    "FailedCount": 0,
    "InstalledOtherCount": 396,
    "InstalledRejectedCount": 0,
    "InstalledPendingReboot": 0,
    "OperationStartTime": "2021-11-11T22:05:06Z",
    "OperationEndTime": "2021-11-11T22:05:25Z",
    "RebootOption": "NoReboot",
    "Operation": "SCAN"
  }
}
```

## 打开并配置集成
<a name="securityhub-integration-enable"></a>

要使用Patch Manager与 Security Hub CSPM 的集成，必须开启 Security Hub CSPM。有关如何开启 Security Hub CSPM 的信息，请参阅《AWS Security Hub 用户指南》**中的[设置 Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)。

以下程序介绍如何集成Patch Manager和 Security Hub CSPM（如果 Security Hub CSPM 已处于活动状态，但Patch Manager集成处于关闭状态）。只有在手动关闭集成时，才需要完成此过程。

**把Patch Manager添加到 Security Hub CSPM 集成**

1. 在导航窗格中，请选择 **Patch Manager**。

1. 选择**设置**选项卡。

   –或者–

   如果您是在当前 AWS 区域首次访问 Patch Manager，请选择**从概览开始**，然后选择**设置**选项卡。

1. 在**导出到 Security Hub CSPM** 部分（在**补丁合规性调查发现未导出到 Security Hub** 的右侧），选择**启用**。

## 如何停止发送调查发现
<a name="securityhub-integration-disable"></a>

要停止向 Security Hub CSPM 发送调查发现，您可以使用 Security Hub CSPM 控制台或 API。

有关更多信息，请参阅《AWS Security Hub 用户指南》**中的以下主题：
+ [禁用和启用来自集成的结果流（控制台）](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-integrations-managing.html#securityhub-integration-findings-flow-console)
+ [禁用来自集成（Security Hub CSPM API，AWS CLI）的结果流](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-integrations-managing.html#securityhub-integration-findings-flow-disable-api)