aws:approve: sospendere un'automazione per l'approvazione manuale - AWS Systems Manager

aws:approve: sospendere un'automazione per l'approvazione manuale

Sospende temporaneamente un'automazione finché i principali designati non approvano o rifiutano l'operazione. Una volta raggiunto il numero richiesto di approvazioni, viene ripresa l'automazione. Puoi inserire la fase di approvazione in qualsiasi punto della sezione mainSteps del runbook.

Nota

Questa operazione non supporta le automazioni per più account e regioni. Il timeout predefinito per questa azione è 7 giorni (604800 secondi) e il valore massimo è 30 giorni (2592000 secondi). Puoi limitare o estendere il timeout specificando il parametro timeoutSeconds per una fase aws:approve.

Nell'esempio seguente l'operazione aws:approve sospende temporaneamente l'automazione finché un approvatore non accetta o rifiuta l'automazione. Dopo l'approvazione, l'automazione esegue un semplice comando di 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" ] } } } ] }

È possibile approvare o rifiutare le automazioni in attesa di approvazione nella console.

Per approvare o rifiutare le automazioni in attesa
  1. Aprire la console AWS Systems Manager all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel pannello di navigazione, scegliere Automation (Automazione).

  3. Scegliere l'opzione accanto un'automazione con stato Waiting (In attesa).

    Accesso alla pagina di approvazione/rifiuto dell'automazione
  4. Scegliere Approve/Deny (Approva/Rifiuta).

  5. Rivedere i dettagli dell'automazione.

  6. Scegliere Approve (Approva) o Deny (Rifiuta), immettere un commento facoltativo, quindi scegliere Submit (Invia).

Esempio di input

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

L'Amazon Resource Name (ARN) di un argomento Amazon Simple Notification Service (Amazon SNS) per approvazioni del servizio di automazione. Quando si specifica una fase aws:approve in un runbook, il servizio di automazione invia un messaggio a questo argomento per informare i principali che devono approvare o rifiutare una fase di automazione. Il titolo dell'argomento Amazon SNS devono avere il prefisso "Automation".

Tipo: string

Campo obbligatorio: no

Messaggio

Informazioni da includere nell'argomento Amazon SNS quando viene inviata la richiesta di approvazione. La lunghezza massima del messaggio è 4096 caratteri;

Tipo: string

Campo obbligatorio: no

MinRequiredApprovals

Numero minimo di approvazioni richieste per riprendere l'automazione. Se non si specifica un valore, il valore predefinito è uno. Il valore di questo parametro deve essere un numero intero positivo. Il valore di questo parametro non può superare il numero di approvatori definiti dal parametro Approvers.

Tipo: integer

Campo obbligatorio: no

Approvers

Elenco di principali autenticati da AWS che possono approvare o rifiutare l'operazione. Il numero massimo di approvatori è 10. È possibile specificare i principali utilizzando uno dei seguenti formati:

  • Un nome utente

  • Un ARN utente

  • Un Ruolo IAM e ARN

  • Un ARN del ruolo di assunzione IAM

Tipo: StringList

Campo obbligatorio: sì

Autorizzazioni avanzate

Questo input viene utilizzato solo per i modelli Change Manager. Un elenco di responsabili autenticati AWS che possono approvare o rifiutare l'operazione, il tipo di responsabile IAM e il numero minimo di soggetti che determinano l'approvazione. Di seguito è riportato un esempio:

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

Tipo: StringList

Campo obbligatorio: sì

Output

ApprovalStatus

Stato di approvazione della fase. Lo stato può essere avere uno dei seguenti valori: Approved (Approvato), Rejected (Rifiutato) o Waiting (In attesa). "In attesa" indica che l'automazione è in attesa di input dagli approvatori.

Tipo: stringa

ApproverDecisions

Mappa JSON che include la decisione di approvazione di ciascun approvatore.

Tipo: MapList