aws:approve – 暂停自动化以进行手动批准 - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

aws:approve – 暂停自动化以进行手动批准

临时暂停自动化,直到指定委托人批准或拒绝操作。在达到所需数量的审批后,自动化将继续。您可以在运行手册的 mainSteps 部分中的任何位置插入审批步骤。

注意

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

在以下示例中,aws:approve 操作临时暂停自动化,直至一个审批者接受或拒绝自动化。在批准后,自动化运行简单的 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. 选择批准拒绝,键入评论 (可选),然后选择提交.

输入

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。当您在运行手册中指定 aws:approve 步骤时,Automation 会向此主题发送消息,以便委托人知道必须批准或拒绝 Automation 步骤。Amazon SNS 主题的标题必须使用前缀“Automation”。

类型:字符串

必需:否

Message

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

类型:字符串

必需:否

MinRequiredApprovals

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

类型:整数

必需:否

Approvers

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

  • AWS Identity and Access ManagementIAM) 用户名称

  • IAM 用户 ARN

  • IAM 角色 ARN

  • IAM 担任角色用户 ARN

类型:StringList

必需:是

输出

ApprovalStatus

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

类型:字符串

ApproverDecisions

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

类型:MapList