aws:approve - 手動承認のためにオートメーションを一時停止する - AWS Systems Manager

aws:approve - 手動承認のためにオートメーションを一時停止する

指定されたプリンシパルによってアクションか承認または拒否されるまで、一時的にオートメーションを停止します。必要な承認数が得られると、オートメーションが再開されます。Runbook の mainSteps セクションの任意の場所に承認ステップを挿入できます。

注記

このアクションは、マルチアカウントとリージョンオートメーションをサポートしていません。このアクションのデフォルトのタイムアウトは 7 日間 (604800 秒) で、最大値は 30 日間 (2592000 秒) です。timeoutSeconds ステップで aws:approve パラメータを指定して、タイムアウトを制限または延長することができます。

次の例では、1 つの承認者がアクションを許可または拒否するまで、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.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. ステータスが [待機中] の自動化の横にあるオプションを選択します。

    [Approve/Deny Automation (自動化承認/拒否)] ページへのアクセス
  4. [Approve/Deny] (承認/拒否) を選択します。

  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

オートメーションの承認のための Amazon Simple Notification Service (Amazon SNS) トピックの Amazon リソースネーム (ARN)。Runbook で aws:approve ステップを指定すると、オートメーションステップを承認または拒否する必要があることを知らせるメッセージが、このトピックに送信されます。Amazon SNS トピックのタイトルは「Automation」というプレフィックスをつける必要があります。

型: 文字列

必須: いいえ

メッセージ

承認リクエストが送信されるときに Amazon SNS トピックに含める情報。メッセージの最大長は 4096 文字です。

型: 文字列

必須: いいえ

MinRequiredApprovals

オートメーションが再開されるために必要な承認の最小数。値を指定しない場合、システムによるデフォルトは 1 です。このパラメータの値は、正の数にする必要があります。このパラメータの値は、Approvers パラメータで定義された承認者の数を超えることはできません。

タイプ: 整数

必須: いいえ

Approvers

アクションを承認または拒否できる AWS の認証プリンシパルのリスト。承認者の最大数は 10 です。プリンシパルは、次のいずれかの形式を使用して指定できます。

  • ユーザー名

  • ユーザー ARN

  • IAM ロール ARN

  • IAM 継承ロール ARN

タイプ: StringList

必須: はい

EnhancedApprovals

Change Manager テンプレートにのみ使用される入力。アクションを承認または拒否できる AWS 認証済みプリンシパルのリスト、IAM プリンシパルのタイプ、および承認者の最小数。以下に例を示します。

schemaVersion: "0.3" emergencyChange: false autoApprovable: false mainSteps: - name: ApproveAction1 action: aws:approve timeoutSeconds: 604800 inputs: Message: Please approve this change request MinRequiredApprovals: 3 EnhancedApprovals: Approvers: - approver: John Stiles type: IamUser minRequiredApprovals: 0 - approver: Ana Carolina Silva type: IamUser minRequiredApprovals: 0 - approver: GroupOfThree type: IamGroup minRequiredApprovals: 0 - approver: RoleOfTen type: IamRole minRequiredApprovals: 0

タイプ: StringList

必須: はい

出力

ApprovalStatus

ステップの承認ステータス。ステータスは、Approved、Rejected、または Waiting のいずれかです。Waiting は自動化が承認者の入力を待っていることを意味します。

型: 文字列

ApproverDecisions

各承認者の承認状況を含む JSON マップです。

タイプ: MapList