以核准者身分執行自動化 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

以核准者身分執行自動化

下列程序說明如何使用 AWS Systems Manager 主控台和 AWS Command Line Interface (AWS CLI),使用簡易執行並搭配核准執行自動化。自動化使用自動化動作 aws:approve,這會臨時暫停自動化,直到指定的委託人核准或拒絕動作為止。自動化會在目前的使用者內容中執行。這表示只要有使用 Runbook 和 Runbook 所呼叫任何動作的許可,您就不必設定其他的 IAM 許可。如果您在 IAM 中有管理員許可,您便已經有執行此 Runbook 的許可。

開始之前

除了 Runbook 需要的標準輸入,aws:approve 動作需要以下兩個參數:

  • 核准者清單。核准者清單必須至少包含一個核准者,形式為使用者名稱或使用者 ARN。如果提供多個核准者,必須在 Runbook 指定對應的最低核准計數。

  • Amazon Simple Notification Service (Amazon SNS) 主題 ARN。Amazon SNS 主題名稱必須以 Automation 開頭。

此程序假設您已經建立一個 Amazon SNS 主題,其為交付核准請求所需。如需資訊,請參閱 Amazon Simple Notification Service 開發人員指南中的建立主題

以核准者身分執行自動化 (主控台)

以核准者身分執行自動化

以下程序說明如何使用 Systems Manager 主控台以核准者身分執行自動化。

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Automation (自動化),接著選擇 Execute automation (執行自動化)

  3. Automation document (自動化文件) 清單中,選擇 Runbook。在 Document categories (文件類別) 窗格中選擇一個或多個選項,根據 SSM 文件的用途來進行篩選。若要檢視您擁有的 Runbook,請選擇 Owned by me (我所擁有的) 索引標籤。若要檢視與您帳戶共用的 Runbook,請選擇 Shared with me (與我共用的) 索引標籤。若要檢視所有 Runbook,請選擇 All documents (所有文件) 索引標籤。

    注意

    您可以選擇 Runbook 名稱檢視 Runbook 資訊。

  4. Document details (文件詳細資訊) 部分,確認 Document version (文件版本) 設定為您想要執行的版本。系統包括以下版本選項:

    • 執行期的預設版本:如果 Automation 執行手冊會定期更新且已指派新的預設版本,則請選擇此選項。

    • 執行期的最新版本:如果 Automation 執行手冊會定期更新,而您想要執行最近更新的版本,請選擇此選項。

    • 1 (預設):選擇此選項以執行文件的第一個版本,也是預設版本。

  5. 選擇 Next (下一步)

  6. Execute automation document (執行自動化文件) 頁面上,選擇 Simple execution (簡易執行)

  7. Input Parameters (輸入參數) 部分,指定所需的輸入參數。

    例如,如果您選擇 AWS-StartEC2InstanceWithApproval Runbook,則必須指定或選擇 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) 核發。

若您選擇核准自動化,自動化會繼續執行指定 Runbook 中所包含的步驟。主控台會顯示自動化的狀態。若自動化無法執行,請參閱 故障診斷 Systems Manager Automation

核准或拒絕自動化
  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/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. 執行以下命令,以核准者身分執行自動化。將每個範例資源預留位置取代為您自己的資訊。在文件名稱區段中,指定包含自動化動作 aws:approve 的 Runbook。

    Approvers 中,指定動作核准者的使用者名稱或使用者 ARN。在 SNSTopic 中,指定要用來傳送核准通知的 SNS 主題 ARN。Amazon SNS 主題名稱必須以 Automation 開頭。

    注意

    核准者參數值的特定名稱和 SNS 主題取決於您所選擇 Runbook 中指定的值。

    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"}

    如果命令成功,則無輸出訊息。