aws:approve— 暂停自动化以进行手动批准 - Amazon Web Services 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. 打开Amazon Web Services Systems Manager控制台https://console.aws.amazon.com/systems-manager/

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

    -或者-

    如果Amazon Web Services 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 审批 ARN Amazon 资源名称 (Amazon SNS) 主题。当您指定aws:approve步骤,Automation 将向此主题发送消息以让委托人知道必须批准或拒绝 Automation 步骤。Amazon SNS 主题的标题必须使用前缀 “Automation”。

类型: 字符串

:必需 否

Message

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

类型: 字符串

:必需 否

MinRequiredApprovals

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

类型: 整数

:必需 否

Approvers

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

  • AWS Identity and Access Management (IAM) 用户名称

  • IAM 用户 ARN

  • IAM 角色 ARN

  • IAM 担任角色用户 ARN

类型: StringList

:必需 是

输出

ApprovalStatus

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

类型: 字符串

ApproverDecisions

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

类型: MapList