承認者を使用してオートメーションを実行する - AWS Systems Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

承認者を使用してオートメーションを実行する

次の手順では、AWS Systems Manager コンソールおよび AWS Command Line Interface (AWS CLI) を使用して、シンプルな実行によりオートメーションを実行する方法について説明します。オートメーションは、オートメーションアクション aws:approve を使用します。これにより、指定されたプリンシパルがアクションを承認または拒否するまで、オートメーションは一時停止します。このオートメーションは、現在のユーザーのコンテキストで実行します。これは、ランブックおよびこのランブックが呼び出すアクションを使用するアクセス許可がある限り、追加の IAM アクセス許可を設定する必要がないことを意味しています。IAM での管理者アクセス許可がある場合、このオランブックを実行するアクセス許可を既に保持しています。

開始する前に

ランブックで必要とされる標準入力に加えて、aws:approve アクションは以下の 2 つのパラメータを必要とします。

  • 承認者のリスト。承認者のリストには、ユーザー名またはユーザー ARN の形式の承認者を少なくとも 1 人含める必要があります。複数の承認者が提供されている場合は、対応する最小承認数もランブック内で指定する必要があります。

  • Amazon Simple Notification Service (Amazon SNS) のトピック ARN Amazon SNS トピック名は、Automation で始まる必要があります。

この手順では、承認リクエストを配信するために必要な Amazon SNS トピックが既に作成されていることを前提としています。詳細については、Amazon Simple Notification Service デベロッパーガイドの「トピックの作成」を参照してください。

承認者によるオートメーションの実行 (コンソール)

承認者を使用してオートメーションを実行するには

次の手順では、Systems Manager コンソールを使用して承認者がシンプルなオートメーションを実行する方法を説明します。

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[オートメーション]、[オートメーションの実行] の順に選択します。

  3. [Automation document (自動化ドキュメント)] リストで、ランブックを選択します。[Document categories (ドキュメントカテゴリ)] ペインで 1 つ以上のオプションを選択して、目的に応じて SSM ドキュメントをフィルタリングします。自分が所有するランブックを表示するには、[Owned by me (自分が所有)] タブを選択します。自分のアカウントと共有されているランブックを表示するには、[Shared with me (共有ファイル)] タブを選択します。すべてのランブックを表示するには、[すべてのドキュメント] タブを選択します。

    注記

    ランブックの名前を選択すると、ランブックに関する情報を表示できます。

  4. [Document details (ドキュメントの詳細)] セクションで、[Document version (ドキュメントのバージョン)] が実行するバージョンに設定されていることを確認します。システムには、次のバージョンのオプションが含まれています。

    • [ランタイムのデフォルトバージョン]: 自動化ランブックが定期的に更新され、新しいデフォルトバージョンが割り当てられている場合は、このオプションを選択します。

    • [ランタイムの最新バージョン]: 自動化ランブックが定期的に更新され、直前に更新されたバージョンを実行する場合は、このオプションを選択します。

    • [1 (デフォルト)]: ドキュメントの最初のバージョンを実行するには、このオプションを選択します。これはデフォルト設定です。

  5. [Next] (次へ) をクリックします。

  6. [Execute automation document (自動化ドキュメントの実行)] ページで、[Simple execution (シンプルな実行)] を選択します。

  7. [Input Parameters (入力パラメータ)] セクションで、必須の入力パラメータを指定します。

    例えば、AWS-StartEC2InstanceWithApproval ランブックを選択した場合は、[InstanceId] パラメータにインスタンス ID を指定または選択する必要があります。

  8. [承認者] セクションで、自動化アクションの承認者のユーザー名またはユーザー ARN を指定します。

  9. [SNSTopicARN] セクションで、承認通知の送信に使用する SNS トピックの ARN を指定します。SNS トピック名は Automation で始まる必要があります。

  10. 必要に応じて、[AutomationAssumeRole] リストから IAM サービスロールを選択できます。100 を超えるアカウントとリージョンをターゲットにする場合は、AWS-SystemsManager-AutomationAdministrationRole を指定する必要があります。

  11. [Execute automation] を選択します。

指定された承認者は、オートメーションを承認または却下するための詳細を含む Amazon SNS 通知を受け取ります。この承認アクションは発行日から 7 日間有効で、Systems Manager コンソールまたは AWS Command Line Interface (AWS CLI) を使用して発行できます。

オートメーションを承認することを選択した場合、オートメーションは指定されたランブックに含まれているステップを実行し続けます。オートメーションのステータスがコンソールに表示されます。オートメーションの実行に失敗した場合は、「Systems Manager Automation のトラブルシューティング」を参照してください。

オートメーションを許可または拒否するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Automation (オートメーション)] を選択し、前の手順で実行したオートメーションを選択します。

  3. [Actions (アクション)] を選択して、[Approve/Deny (承認/拒否)] を選択します。

  4. [Approve (承認)] または [Deny (拒否)]を選択し、オプションでコメントを入力します。

  5. [Submit] (送信) をクリックします。

承認者によるオートメーションの実行 (コマンドライン)

次の手順では、AWS CLI (Linux または Windowsで) または AWS Tools for PowerShell を使用して承認者がオートメーションを実行する方法を説明します。

承認者を使用してオートメーションを実行するには
  1. まだ AWS CLI または AWS Tools for PowerShell をインストールして設定していない場合は、インストールして設定します。

    詳細については、「AWS CLI の最新バージョンをインストールまたは更新します。」および「AWS Tools for PowerShell のインストール」を参照してください。

  2. 次のコマンドを実行して、承認者によりオートメーションを実行します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。[Document name (文書名)] セクションで、オートメーションアクション 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"}

    コマンドが成功した場合、出力はありません。