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

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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 azione non supporta le automazioni per più account e aree geografiche. 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 PowerShell comando.

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. Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel riquadro di navigazione, scegli 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

Il nome della risorsa Amazon (ARNdi un argomento di Amazon Simple Notification Service (AmazonSNS) per le approvazioni 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'SNSargomento Amazon deve avere il prefisso «Automazione».

Tipo: string

Campo obbligatorio: no

Messaggio

Le informazioni che desideri includere nell'SNSargomento Amazon 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

Un elenco di responsabili AWS autenticati che sono in grado di approvare o rifiutare l'azione. Il numero massimo di approvatori è 10. È possibile specificare i principali utilizzando uno dei seguenti formati:

  • Un nome utente

  • Un utente ARN

  • Un IAM ruolo ARN

  • Un ruolo da IAM assumere ARN

Tipo: StringList

Campo obbligatorio: sì

EnhancedApprovals

Questo input viene utilizzato solo per i Change Manager modelli. Un elenco di responsabili AWS autenticati che sono in grado di approvare o rifiutare l'azione, il tipo di IAM responsabile e il numero minimo di approvatori. 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

Una JSON mappa che include la decisione di approvazione di ogni approvatore.

Tipo: MapList