aws:approve - Suspendre une automatisation pour approbation manuelle - AWS Systems Manager

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

aws:approve - Suspendre une automatisation pour approbation manuelle

Interrompt temporairement une automatisation jusqu'à ce que les principaux désignés aient approuvé ou rejeté l'action. Une fois le nombre d'approbations requises atteint, l'automatisation reprend. Vous pouvez insérer l'étape d'approbation n'importe où dans la section mainSteps de votre runbook.

Note

Cette action ne prend pas en charge les automatisations multicomptes et régionales. Le délai d'attente par défaut pour cette action est de 7 jours (604 800 secondes) et la valeur maximale est de 30 jours (2 592 000 secondes). Vous pouvez limiter ou étendre le délai d'attente en spécifiant le paramètre timeoutSeconds pour une étape aws:approve. Si l'étape Automation atteint la valeur de délai d'attente avant de recevoir toutes les approbations requises, alors l'étape et l'instance d'Automation s'arrêtent et renvoient le statut Expiré.

Dans l'exemple suivant, l'action aws:approve interrompt temporairement l'automatisation jusqu'à ce qu'un approbateur accepte ou rejette l'automatisation. Après approbation, l'automatisation exécute une PowerShell commande simple.

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

Vous pouvez approuver ou refuser des automatisations en attente d'approbation dans la console.

Pour approuver ou rejeter des automatisations en attente
  1. Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation de gauche, sélectionnez Automation (Automatisation).

  3. Sélectionnez l'option en regard d'un flux de travail Automation avec le statut En attente.

    Accès à la page d'approbation ou de refus de l'automatisation
  4. Sélectionnez Approve/Deny (Approuver/Refuser).

  5. Vérifiez les détails de l'automatisation.

  6. Sélectionnez Approuver ou Refuser, saisissez un commentaire facultatif, puis sélectionnez Soumettre.

Exemple d'entrée

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

La rubrique Amazon Resource Name (ARN d'un Amazon Simple Notification Service (Amazon SNS) pour les approbations Automation. Lorsque vous spécifiez une étape aws:approve dans un runbook, Automation envoie un message à cette rubrique, permettant aux principaux de savoir qu'ils doivent approuver ou rejeter une étape d'automatisation. Le titre de la rubrique Amazon SNS doit avoir un préfixe contenant « Automation ».

Type : chaîne

Obligatoire : non

Message

Les informations que vous souhaitez inclure dans la rubrique Amazon SNS lorsque la requête d'approbation est envoyée. Le message peut contenir un nombre maximum de 4 096 caractères.

Type : chaîne

Obligatoire : non

MinRequiredApprovals

Le nombre minimum d'approbations requises pour que l'automatisation reprenne. Si vous ne spécifiez aucune valeur, le système en établit une par défaut. La valeur de ce paramètre doit être un nombre positif. La valeur de ce paramètre ne peut pas dépasser le nombre d'approbateurs défini par le paramètre Approvers.

Type : entier

Obligatoire : non

Approbateurs

Liste des principaux AWS authentifiés qui sont en mesure d'approuver ou de rejeter l'action. Le nombre maximum d'approbateurs est de 10. Vous pouvez spécifier des principaux à l'aide des formats suivants :

  • Un nom d'utilisateur

  • Un ARN d'utilisateur

  • Un ARN de rôle IAM

  • Un ARN de rôle de responsable IAM

Type : StringList

Obligatoire : oui

EnhancedApprovals

Cette entrée est uniquement utilisée pour les Change Manager modèles. Liste des principaux AWS authentifiés qui peuvent approuver ou rejeter l'action, le type de principal IAM et le nombre minimum d'approbateurs. Voici un exemple :

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

Type : StringList

Obligatoire : oui

Sortie

ApprovalStatus

L'état d'approbation de l'étape. L'état peut avoir les valeurs suivantes : Approuvé, Rejeté ou En attente. En attente signifie qu'Automation attend la saisie des approbateurs.

Type : chaîne

ApproverDecisions

Une carte JSON incluant la décision d'approbation de chaque approbateur.

Type : MapList