

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

# 运行需要审批的自动化
<a name="running-automations-require-approvals"></a>

以下过程介绍了如何使用 AWS Systems Manager 控制台和 AWS Command Line Interface (AWS CLI) 通过简单执行来运行包含审批的自动化。该自动化使用自动化操作 `aws:approve`，这会暂停自动化，直到指定的委托人批准或拒绝该操作。自动化在当前用户的上下文中运行。因此，只要您有权使用运行手册和此运行手册调用的任何操作，就无需配置其他 IAM 权限。如果您在 IAM 中拥有管理员权限，则已有权运行此运行手册。

**开始前的准备工作**  
除了运行手册所需的标准输入外，`aws:approve` 操作还需要以下两个参数：
+ 审批者列表。审批者列表必须以用户名或用户 ARN 的形式包含至少一个审批者。如果提供了多个审批者，还必须在运行手册内指定对应的最少审批数。
+ Amazon Simple Notification Service (Amazon SNS) 主题 ARN Amazon SNS 主题名称必须以 `Automation` 开头。

此过程假设您已经创建了 Amazon SNS 主题，这是提交审批请求所必需的。有关信息，请参阅《Amazon Simple Notification Service 开发人员指南》**中的[创建主题](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#CreateTopic)。

## 运行包含审批者的自动化（控制台）
<a name="approval-console"></a>

**运行包含审批者的自动化**

以下过程介绍了如何使用 Systems Manager 控制台运行包含审批者的自动化。

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

1. 在导航窗格中，选择**自动化**，然后选择**执行自动化**。

1. 在**自动化文档**列表中，请选择运行手册。在**文档类别**窗格中选择一个或多个选项，以便根据 SSM 文档的用途对其进行筛选。要查看您拥有的运行手册，请选择**我拥有的**选项卡。要查看与您的账户共享的运行手册，请选择**与我共享**选项卡。要查看所有运行手册，请选择**所有文档**选项卡。
**注意**  
您可以通过选择运行手册名称来查看有关该手册的信息。

1. 在**文档详细信息**部分中，验证**文档版本**已设置为要运行的版本。系统包括以下版本选项：
   + **运行时的默认版本** – 如果定期更新自动化运行手册并分配新的默认版本，请选择此选项。
   + **运行时的最新版本** – 如果定期更新自动化运行手册并且想要运行最新更新的版本，请选择此选项。
   + **1（默认）** – 选择此选项可执行文档的第一个版本，即默认版本。

1. 选择**下一步**。

1. 在**执行自动化文档**页面上，选择**简单执行**。

1. 在**输入参数** 部分，指定所需的输入参数。

   例如，如果选择了 `AWS-StartEC2InstanceWithApproval` 运行手册，则必须为 **InstanceId** 参数指定或选择实例 ID。

1. 在**审批者**部分中，指定自动化操作的审批者的用户名或用户 ARN。

1. 在 **SNSTopicARN** 部分，指定要用于发送审批通知的 SNS 主题 ARN。SNS 主题名称必须以**自动化**开头。

1. 或者，您也可以从 **AutomationAssumeRole** 列表选择一个 IAM 服务角色。如果您将超过 100 个的账户和地区设置为目标，则必须指定 `AWS-SystemsManager-AutomationAdministrationRole`。

1. 选择**执行自动化**。

指定的审批者将收到包含详细信息的 Amazon SNS 通知以批准或拒绝自动化。此审批操作从发布之日起 7 天内有效，此操作可以使用 Systems Manager 控制台或 AWS Command Line Interface (AWS CLI) 发布。

如果选择批准自动化，自动化将继续运行指定的运行手册中包含的步骤。控制台将显示自动化的状态。如果自动化无法运行，请参阅 [Systems Manager 自动化故障排除](automation-troubleshooting.md)。

**批准或拒绝自动化**

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

1. 在导航窗格中，选择**自动化**，然后选择上一过程中运行的自动化。

1. 选择**操作**，然后选择**批准/拒绝**。

1. 选择**批准**或**拒绝**，并选择性地提供注释。

1. 选择**提交**。

## 运行包含审批者的自动化（命令行）
<a name="approval-cli"></a>

以下过程介绍了如何使用 AWS CLI（在 Linux 或 Windows 上）或 AWS Tools for PowerShell 运行包含审批者的自动化。

**运行包含审批者的自动化**

1. 安装并配置 AWS CLI 或 AWS Tools for PowerShell（如果尚未执行该操作）。

   有关信息，请参阅[安装或更新 AWS CLI 的最新版本](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)以及[安装 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 运行以下命令以运行包含审批者的自动化。将每个*示例资源占位符*替换为您自己的信息。在文档名称部分中，指定包括自动化操作 `aws:approve` 的运行手册。

   对于 `Approvers`，指定该操作的审批者的用户名或用户 ARN。对于 `SNSTopic`，指定用于发送审批通知的 SNS 主题 ARN。Amazon SNS 主题名称必须以 `Automation` 开头。
**注意**  
审批者和 SNS 主题的参数值的具体名称取决于您选择的运行手册中指定的值。

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

   ```
   aws ssm start-automation-execution \
       --document-name "AWS-StartEC2InstanceWithApproval" \
       --parameters "InstanceId=i-02573cafcfEXAMPLE,Approvers=arn:aws:iam::123456789012:role/Administrator,SNSTopicArn=arn:aws:sns:region:123456789012:AutomationApproval"
   ```

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

   ```
   aws ssm start-automation-execution ^
       --document-name "AWS-StartEC2InstanceWithApproval" ^
       --parameters "InstanceId=i-02573cafcfEXAMPLE,Approvers=arn:aws:iam::123456789012:role/Administrator,SNSTopicArn=arn:aws:sns:region:123456789012:AutomationApproval"
   ```

------
#### [ PowerShell ]

   ```
   Start-SSMAutomationExecution `
       -DocumentName AWS-StartEC2InstanceWithApproval `
       -Parameters @{
           "InstanceId"="i-02573cafcfEXAMPLE"
           "Approvers"="arn:aws:iam::123456789012:role/Administrator"
           "SNSTopicArn"="arn:aws:sns:region:123456789012:AutomationApproval"
       }
   ```

------

   系统将返回类似于以下内容的信息。

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

   ```
   {
       "AutomationExecutionId": "df325c6d-b1b1-4aa0-8003-6cb7338213c6"
   }
   ```

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

   ```
   {
       "AutomationExecutionId": "df325c6d-b1b1-4aa0-8003-6cb7338213c6"
   }
   ```

------
#### [ PowerShell ]

   ```
   df325c6d-b1b1-4aa0-8003-6cb7338213c6
   ```

------

**批准自动化**
+ 运行以下命令来批准自动化。将每个*示例资源占位符*替换为您自己的信息。

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

  ```
  aws ssm send-automation-signal \
      --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" \
      --signal-type "Approve" \
      --payload "Comment=your comments"
  ```

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

  ```
  aws ssm send-automation-signal ^
      --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" ^
      --signal-type "Approve" ^
      --payload "Comment=your comments"
  ```

------
#### [ PowerShell ]

  ```
  Send-SSMAutomationSignal `
      -AutomationExecutionId df325c6d-b1b1-4aa0-8003-6cb7338213c6 `
      -SignalType Approve `
      -Payload @{"Comment"="your comments"}
  ```

------

  如果此命令成功，则无任何输出。

**拒绝自动化**
+ 运行以下命令来拒绝自动化。将每个*示例资源占位符*替换为您自己的信息。

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

  ```
  aws ssm send-automation-signal \
      --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" \
      --signal-type "Deny" \
      --payload "Comment=your comments"
  ```

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

  ```
  aws ssm send-automation-signal ^
      --automation-execution-id "df325c6d-b1b1-4aa0-8003-6cb7338213c6" ^
      --signal-type "Deny" ^
      --payload "Comment=your comments"
  ```

------
#### [ PowerShell ]

  ```
  Send-SSMAutomationSignal `
      -AutomationExecutionId df325c6d-b1b1-4aa0-8003-6cb7338213c6 `
      -SignalType Deny `
      -Payload @{"Comment"="your comments"}
  ```

------

  如果此命令成功，则无任何输出。