Executar uma automação que exija aprovações - AWS Systems Manager

Executar uma automação que exija aprovações

Os procedimentos a seguir descrevem como usar o console do AWS Systems Manager e a AWS Command Line Interface (AWS CLI) para executar uma automação com aprovações usando uma execução simples. A automação usa a ação aws:approve, que pausa temporariamente a automação até que as entidades principais designadas aprovem ou neguem a ação. A automação é executada no contexto do usuário atual. Isso significa que você não precisa configurar outras permissões do IAM, desde que tenha permissão para usar o runbook e qualquer ação chamada pelo runbook. Se você tiver permissões de administrador no IAM, isso significa que você já tem permissão para usar esse runbook.

Antes de começar

Além das entradas padrão exigidas pelo runbook, a ação aws:approve requer os dois parâmetros a seguir:

  • Uma lista de aprovadores. A lista de aprovadores deve conter, no mínimo, um aprovador na forma de um nome de usuário ou ARN de usuário. Se vários aprovadores forem fornecidos, uma contagem de aprovações mínimas correspondente também deverá ser especificada no runbook.

  • ARN do tópico de um Amazon Simple Notification Service (Amazon SNS) O nome do tópico do Amazon SNS deve começar com Automation.

Esse procedimento pressupõe que você já tenha criado um tópico do Amazon SNS, que é necessário para fornecer a solicitação de aprovação. Para obter informações, consulte Criar um tópico no Manual do desenvolvedor do Amazon Simple Notification Service.

Executar uma automação com aprovadores (console)

Para executar uma automação com aprovadores

O procedimento a seguir descreve como usar o console do Systems Manager para executar uma automação com aprovadores.

  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, selecione Automation e Execute automation (Executar automação).

  3. Na lista Automation document (Documento do Automation), escolha um runbook. Escolha uma ou mais opções no painel Document categories (Categorias de documentos) para filtrar documentos SSM de acordo com sua finalidade. Para visualizar um runbook que você tenha, escolha a guia Owned by me (De minha propriedade). Para visualizar um runbook compartilhado com sua conta, escolha a guia Shared with me (Compartilhado comigo). Para visualizar todos os runbooks, escolha a guia All documents (Todos os documentos).

    nota

    Você pode visualizar informações sobre um runbook, selecionando o nome dele.

  4. Na seção Document details (Detalhes do documento), verifique se Document version (Versão do documento) está definida como a versão que você quer executar. O sistema inclui as seguintes opções de versão:

    • Versão padrão no runtime: escolha essa opção se o runbook do Automation for atualizado periodicamente e uma nova versão padrão for atribuída.

    • Versão mais recente no runtime: escolha essa opção se o runbook do Automation for atualizado periodicamente e se você quiser executar a versão mais recente.

    • 1 (padrão): escolha esta opção para executar a primeira versão do documento, que é a versão padrão.

  5. Escolha Próximo.

  6. Na página Execute automation document (Executar documento de automação), escolha Simple execution (Execução simples).

  7. Na seção Input parameters (Parâmetros de entrada), especifique os parâmetros de entrada necessários.

    Por exemplo, se você escolheu o runbook AWS-StartEC2InstanceWithApproval, deverá especificar ou escolher IDs de instância para o parâmetro InstanceId.

  8. Na seção Aprovadores, especifique os nomes de usuário ou os ARNs de usuário dos aprovadores para a ação de automação.

  9. Na seção SNSTopicARN, especifique o ARN do tópico do SNS a ser usado para enviar notificações de aprovação. O nome do tópico do SNS deve começar com Automation (Automação).

  10. Opcionalmente, você pode escolher uma função de serviço do IAM na lista AutomationAssumeRole. Se seu destino tem mais de 100 contas e regiões, é necessário especificar o AWS-SystemsManager-AutomationAdministrationRole.

  11. Escolha Execute automation.

O aprovador especificado recebe uma notificação do Amazon SNS com detalhes para aprovar ou rejeitar a automação. Essa ação de aprovação é válida por 7 dias a contar da data de emissão e pode ser emitida usando o console do Systems Manager ou a AWS Command Line Interface (AWS CLI).

Se você optou por aprovar a automação, ela continuará a executar as etapas incluídas no runbook especificado. O console exibe o status da automação. Se houver falha na execução da automação, consulte Solução de problemas do Systems Manager Automation.

Para aprovar ou negar uma automação
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Automation (Automação) e selecione a automação que foi executada no procedimento anterior.

  3. Escolha Actions (Ações) e depois Approve/Deny (Aprovar/negar).

  4. Escolha entre Approve (Aprovar) ou Deny (Negar) e, opcionalmente, forneça um comentário.

  5. Selecione Enviar.

Executar uma automação com aprovadores (linha de comando)

O procedimento a seguir descreve como usar a AWS CLI (no Linux ou no Windows) ou o AWS Tools for PowerShell para executar uma automação com aprovadores.

Para executar uma automação com aprovadores
  1. Instale e configure a AWS CLI ou o AWS Tools for PowerShell, caso ainda não o tenha feito.

    Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI e Instalar o AWS Tools for PowerShell.

  2. Execute o comando a seguir para executar uma automação com aprovadores. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações. Na seção de nome do documento, especifique um runbook que inclua a ação de automação aws:approve.

    Em Approvers, especifique os nomes de usuário ou os ARNs de usuário dos aprovadores para a ação. Em SNSTopic, especifique o ARN do tópico do SNS a ser usado para enviar a notificação de aprovação. O nome do tópico do Amazon SNS deve começar com Automation.

    nota

    Os nomes específicos dos valores dos parâmetros para aprovadores e o tópico do SNS dependem dos valores especificados no runbook escolhido.

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

    O sistema retorna informações como estas.

    Linux & macOS
    {
        "AutomationExecutionId": "df325c6d-b1b1-4aa0-8003-6cb7338213c6"
    }
    Windows
    {
        "AutomationExecutionId": "df325c6d-b1b1-4aa0-8003-6cb7338213c6"
    }
    PowerShell
    df325c6d-b1b1-4aa0-8003-6cb7338213c6
Para aprovar uma automação
  • Execute o comando a seguir para aprovar uma automação. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

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

    Não haverá saída se o comando for bem-sucedido.

Para negar uma automação
  • Execute o comando a seguir para negar uma automação. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

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

    Não haverá saída se o comando for bem-sucedido.