aws:approve – Pause an execution for manual approval - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

aws:approve – Pause an execution for manual approval

临时暂停 Automation 执行,直至指定委托人批准或拒绝操作。在达到所需批准数后,Automation 执行将恢复。您可在 Automation 文档的 mainSteps 部分中的任何位置插入批准步骤。

注意

此操作的默认超时为 7 天(604800 秒)。您可以通过指定 aws:approve 步骤的 timeoutSeconds 参数限制或延长超时。如果自动化步骤在收到所有必需的审批决定前达到了超时值,此步骤和自动化将停止运行并返回“Timed Out (超时)”状态。

在以下示例中,aws:approve 操作临时暂停 Automation 工作流程,直至一个审批者接受或拒绝工作流程。批准后,此文档将运行简单的 PowerShell 命令。

YAML
--- description: RunInstancesDemo1 schemaVersion: '0.3' assumeRole: "{{ assumeRole }}" parameters: assumeRole: type: String message: type: String mainSteps: - name: approve action: aws:approve timeoutSeconds: 1000 onFailure: Abort inputs: NotificationArn: arn:aws:sns:us-east-2:12345678901:AutomationApproval Message: "{{ message }}" MinRequiredApprovals: 1 Approvers: - arn:aws:iam::12345678901:user/AWS-User-1 - name: run action: aws:runCommand inputs: InstanceIds: - i-1a2b3c4d5e6f7g DocumentName: AWS-RunPowerShellScript Parameters: commands: - date
JSON
{ "description":"RunInstancesDemo1", "schemaVersion":"0.3", "assumeRole":"{{ assumeRole }}", "parameters":{ "assumeRole":{ "type":"String" }, "message":{ "type":"String" } }, "mainSteps":[ { "name":"approve", "action":"aws:approve", "timeoutSeconds":1000, "onFailure":"Abort", "inputs":{ "NotificationArn":"arn:aws:sns:us-east-2:12345678901:AutomationApproval", "Message":"{{ message }}", "MinRequiredApprovals":1, "Approvers":[ "arn:aws:iam::12345678901:user/AWS-User-1" ] } }, { "name":"run", "action":"aws:runCommand", "inputs":{ "InstanceIds":[ "i-1a2b3c4d5e6f7g" ], "DocumentName":"AWS-RunPowerShellScript", "Parameters":{ "commands":[ "date" ] } } } ] }

您可以在控制台中批准或拒绝等待批准的自动化。

批准或拒绝等待的自动化

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择自动化

    -或者-

    如果 AWS Systems Manager 主页首先打开,请选择菜单图标 ( ) 以打开导航窗格,然后选择自动化

  3. 选择状态为 Waiting (正在等待) 的 Automation 旁边的选项。

    
                        访问批准/拒绝 Automation 页面
  4. 选择批准/拒绝

  5. 查看自动化的详细信息。

  6. 选择批准拒绝,键入评论 (可选),然后选择提交

Input

YAML
NotificationArn: arn:aws:sns:us-west-1:12345678901:Automation-ApprovalRequest Message: Please approve this step of the Automation. MinRequiredApprovals: 3 Approvers: - IamUser1 - IamUser2 - arn:aws:iam::12345678901:user/IamUser3 - arn:aws:iam::12345678901:role/IamRole
JSON
{ "NotificationArn":"arn:aws:sns:us-west-1:12345678901:Automation-ApprovalRequest", "Message":"Please approve this step of the Automation.", "MinRequiredApprovals":3, "Approvers":[ "IamUser1", "IamUser2", "arn:aws:iam::12345678901:user/IamUser3", "arn:aws:iam::12345678901:role/IamRole" ] }
NotificationArn

Automation 批准的 Amazon SNS 主题的 ARN。当您在 Automation 文档中指定 aws:approve 步骤时,Automation 将向此主题发送消息,以让委托人知道必须批准或拒绝 Automation 步骤。Amazon SNS 主题的标题必须使用前缀“Automation”。

Type :字符串

必填 否

Message

发送批准请求时要包含在 SNS 主题中的信息。最大消息长度为 4096 个字符。

Type :字符串

必填 否

MinRequiredApprovals

恢复 Automation 执行所需的批准的最大数。如果您未指定值,系统将默认为 1。此参数的值必须为正数。此参数的值不能超过 Approvers 参数定义的审批者数。

Type :整数

必填 否

Approvers

能够批准或拒绝操作的经 AWS 身份验证的委托人的列表。最大审批者数为 10。您可使用以下任意格式指定委托人:

  • An AWS Identity and Access Management (IAM) user name

  • An IAM user ARN

  • An IAM role ARN

  • An IAM assume role user ARN

Type StringList

必填 是

Output

ApprovalStatus

步骤的批准状态。状态可以是以下内容之一: 已批准、拒绝或等待。“正在等待”意味着 Automation 正在等待来自审批者的输入。

Type :字符串

ApproverDecisions

包括每位审批者的批准决定的 JSON 映射。

Type MapList