Tutorial: monitorar alterações importantes em sua organização com o Amazon EventBridge - AWS Organizations

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tutorial: monitorar alterações importantes em sua organização com o Amazon EventBridge

Este tutorial mostra como configurar o Amazon EventBridge, anteriormente Amazon CloudWatch Events, para monitorar alterações em sua organização. Você começa por configurar uma regra que é acionada quando os usuários invocam operações específicas do AWS Organizations. Em seguida, você configura o Amazon EventBridge para executar uma função do AWS Lambda quando a regra é acionada e configura o Amazon SNS para enviar um e-mail com detalhes sobre o evento.

A seguinte ilustração mostra as etapas principais do tutorial.

Etapa 1: configurar um seletor de eventos e trilhas

Crie um log, chamado trilha, em AWS CloudTrail. Você configura-o para capturar todas as chamadas de API.

Etapa 2: Configurar uma função do Lambda

Crie uma função AWS Lambda que registra detalhes sobre o evento para um bucket do S3.

Etapa 3: Criar um tópico do Amazon SNS que envia e-mails para assinantes

Crie um tópico do Amazon SNS que envia e-mails para seus assinantes e, em seguida, inscreva-se no tópico.

Etapa 4: criar uma regra do Amazon EventBridge

Crie uma regra que diz ao Amazon EventBridge para passar detalhes de chamadas de API especificadas para a função do Lambda e para os assinantes do tópico do SNS.

Etapa 5: testar sua regra do Amazon EventBridge

Teste a sua nova regra executando uma das operações monitoradas. Neste tutorial, a operação monitorada é a criação de uma unidade organizacional (UO). Você vê a entrada do log que a função do Lambda cria e o e-mail que o Amazon SNS envia aos assinantes.

Dica

Você também poderá usar este tutorial como um guia para configurar operações semelhantes, como enviar notificações por e-mail quando a criação da conta estiver concluída. Como a criação da conta é uma operação assíncrona, por padrão, você não é notificado quando ela é concluída. Para obter mais informações sobre como usar o AWS CloudTrail e o Amazon EventBridge com o AWS Organizations, consulte Registrar em log e monitorar no AWS Organizations.

Pré-requisitos

Este tutorial assume o seguinte:

  • Você pode fazer login no AWS Management Console como um usuário do IAM da conta de gerenciamento de sua organização. O usuário do IAM deve ter permissões para criar e configurar um log no CloudTrail, uma função no Lambda, um tópico no Amazon SNS e uma regra no Amazon EventBridge. Para obter mais informações sobre a concessão de permissões, consulte Gerenciamento de acesso no Manual do usuário do IAM ou o guia do serviço para o qual você deseja configurar acesso.

  • Você tem acesso a um bucket do Amazon Simple Storage Service (Amazon S3) (ou tem permissões para criar um bucket) para receber o log do CloudTrail que você configura na etapa 1.

Importante

No momento, o AWS Organizations só é hospedado na região Leste dos EUA (Norte da Virgínia) (embora esteja disponível globalmente). Para executar as etapas neste tutorial, você deve configurar o AWS Management Console para usar essa região.

Etapa 1: configurar um seletor de eventos e trilhas

Nesta etapa, você faz login na conta de gerenciamento e configura um log (chamado de trilha) no AWS CloudTrail. Você também configura um seletor de eventos na trilha para capturar todas as chamadas de API de leitura e gravação para que o Amazon EventBridge tenha chamadas para acionar.

Para criar uma trilha
  1. Faça login na AWS como administrador da conta de gerenciamento da organização e abra o console do CloudTrail em https://console.aws.amazon.com/cloudtrail/.

  2. Na barra de navegação no canto superior direito do console, escolha a região US East (N. Virginia) (Leste dos EUA (Norte da Virgínia)). Se você escolher uma região diferente, o AWS Organizations não aparecerá como uma opção nas definições de configuração do Amazon EventBridge e o CloudTrail não capturará informações sobre o AWS Organizations.

  3. No painel de navegação, selecione Trilhas.

  4. Escolha Create Trail (Criar trilha).

  5. Em Trail name (Nome da trilha), digite My-Test-Trail.

  6. Execute uma das seguintes opções para especificar onde o CloudTrail deve entregar seus logs:

    • Se precisar criar um bucket, escolha Create new S3 bucket (Criar um novo bucket do S3) e, em Trail log bucket and folder (Bucket e pasta de log de trilha), insira um nome para o novo bucket.

      nota

      Os nomes de buckets do S3 devem ser exclusivos globalmente.

    • Se você já tiver um bucket, escolha Use existing S3 bucket (Usar bucket do S3 existente) e, em seguida, escolha o nome do bucket na lista S3 bucket (Buckets do S3).

  7. Escolha Next (Próximo).

  8. Na página Choose log events (Escolher eventos de log), na seção Management events (Eventos de gerenciamento), escolha Read (Ler) e Write (Gravar).

  9. Escolha Next (Próximo).

  10. Verifique suas seleções e escolha Create trail (Criar trilha).

O Amazon EventBridge permite que você escolha entre diversas maneiras diferentes de enviar alertas quando uma regra de alarme corresponder a uma chamada de API recebida. Este tutorial demonstra dois métodos: invocar uma função do Lambda que pode registrar a chamada de API no log e enviar informações para um tópico do Amazon SNS que envia um e-mail ou mensagem de texto para os assinantes do tópico. Nas duas próximas etapas, você criará os componentes necessários: a função do Lambda e o tópico do Amazon SNS.

Etapa 2: Configurar uma função do Lambda

Nesta etapa, você cria uma função do Lambda que registra em log a atividade da API enviada a ela pela regra do Amazon EventBridge configurada posteriormente.

Criar uma função do Lambda que registra em log eventos do Amazon EventBridge
  1. Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.

  2. Se você não tiver familiaridade com o Lambda, escolha Get Started Now (Começar a usar agora) na página de boas-vindas. Caso contrário, escolha Create function (Criar função).

  3. Na página Create function (Criar função), selecione Usar um blueprint (Usar um esquema).

  4. Na caixa de pesquisa Blueprints (Esquemas), digitehello para o filtro e escolha o esquema hello-world.

  5. Selecione Configurar.

  6. Na página Basic information (Informações básicas), faça o seguinte:

    1. No nome da função do Lambda, insira LogOrganizationEvents na caixa de texto Name (Nome).

    2. Em Role (Função), escolha Create a new role with basic Lambda permissions (Criar uma nova função com permissões básicas do Lambda). Essa função concede à sua função do Lambda permissões para acessar os dados necessários e para gravar seu log de saída.

  7. Edite o código da função do Lambda, conforme mostrado no exemplo a seguir.

    console.log('Loading function'); exports.handler = async (event, context) => { console.log('LogOrganizationsEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); return event.key1; // Echo back the first key value // throw new Error('Something went wrong'); };

    Este código de exemplo registra o evento em log com uma string do marcador LogOrganizationEvents seguida pela string JSON que compõe o evento.

  8. Escolha Criar Função.

Etapa 3: Criar um tópico do Amazon SNS que envia e-mails para assinantes

Nesta etapa, você cria um tópico do Amazon SNS que envia informações por e-mail a seus assinantes. Você torna esse tópico um destino da regra do Amazon EventBridge criada posteriormente.

Para criar um tópico do Amazon SNS para enviar um e-mail aos assinantes
  1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/.

  2. No painel de navegação, escolha Topics (Tópicos).

  3. Selecione Create new topic (Criar novo tópico).

    1. Em Topic name (Nome do tópico), digite OrganizationsCloudWatchTopic.

    2. Em Display name (Nome de exibição), digite OrgsCWEvnt.

    3. Escolha Criar tópico.

  4. Agora você pode criar uma assinatura para o tópico. Escolha o ARN para o tópico que você acabou de criar.

  5. Selecione Create subscription.

    1. Na página Create subscription (Criar assinatura), em Protocol (Protocolo), selecione Email (E-mail).

    2. Para Endpoint, insira seu endereço de e-mail.

    3. Escolha Create subscription (Criar assinatura). A AWS envia um e-mail ao endereço de e-mail que você especificou na etapa anterior. Aguarde até o e-mail chegar e, em seguida, clique no link Confirmar assinatura no e-mail para verificar se você recebeu o e-mail corretamente.

    4. Volte ao console e atualize a página. A mensagem Confirmação pendente desaparece e é substituída pelo ID de assinatura agora válido.

Etapa 4: criar uma regra do Amazon EventBridge

Agora que a função do Lambda necessária existe em sua conta, você cria uma regra do Amazon EventBridge que a invoca quando os critérios da regra são atendidos.

Para criar uma regra de EventBridge
  1. Abra o console do Amazon EventBridge em https://console.aws.amazon.com/events/.

  2. Defina o console para a região US East (N. Virginia) (Leste dos EUA [Norte da Virgínia]) ou as informações sobre o Organizations não estarão disponíveis. Na barra de navegação no canto superior direito do console, escolha a região US East (N. Virginia) (Leste dos EUA (Norte da Virgínia)).

  3. Para obter instruções sobre como criar regras, consulte Getting started with Amazon EventBridge (Conceitos básicos do Amazon EventBridge) no guia do usuário do Amazon EventBridge.

Etapa 5: testar sua regra do Amazon EventBridge

Nesta etapa, você cria uma unidade organizacional (UO) e acompanha a regra do Amazon EventBridge, gera uma entrada de log e envia um e-mail para si mesmo com detalhes sobre o evento.

AWS Management Console
Para criar uma UO
  1. Abra o console do AWS Organizations na página Contas da AWS

  2. Escolha a caixa de seleção Root OU (UO raiz), escolha Actions (Ações)e, em Organizational unit (Unidade organizacional), escolha Create (Criar).

  3. No nome da UO, digite TestCWEOU e escolha Create organizational unit (Criar unidade organizacional).

Para ver a entrada de log do EventBridge
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. Na página de navegação, escolha Logs.

  3. Na página Log Groups (Registrar grupos), escolha o grupo associado à sua função do Lambda: /aws/lambda/LogOrganizationEvents.

  4. Cada grupo contém um ou mais streams e deve haver um grupo para hoje. Escolha-o.

  5. Visualize o log. Você deve ver linhas semelhantes às seguintes:

  6. Selecione a linha do meio da entrada para ver o texto JSON completo do evento recebido. Você pode ver todos os detalhes da solicitação da API nas partes requestParameters e responseElements da saída:

    2017-03-09T22:45:05.101Z 0999eb20-051a-11e7-a426-cddb46425f16 Received event: { "version": "0", "id": "123456-EXAMPLE-GUID-123456", "detail-type": "AWS API Call via CloudTrail", "source": "aws.organizations", "account": "123456789012", "time": "2017-03-09T22:44:26Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.04", "userIdentity": { ... }, "eventTime": "2017-03-09T22:44:26Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "AWS Organizations Console, aws-internal/3", "requestParameters": { "parentId": "r-exampleRootId", "name": "TestCWEOU" }, "responseElements": { "organizationalUnit": { "name": "TestCWEOU", "id": "ou-exampleRootId-exampleOUId", "arn": "arn:aws:organizations::1234567789012:ou/o-exampleOrgId/ou-exampleRootId-exampeOUId" } }, "requestID": "123456-EXAMPLE-GUID-123456", "eventID": "123456-EXAMPLE-GUID-123456", "eventType": "AwsApiCall" } }
  7. Verifique se existe em sua conta de e-mail uma mensagem de OrgsCWEvnt (o nome de exibição do seu tópico do Amazon SNS). O corpo do e-mail contém a mesma saída de texto JSON que a entrada de log mostrada na etapa anterior.

Limpar: remover os recursos que não são mais necessários

Para evitar ser cobrado, você deve excluir qualquer recurso AWS que criou como parte deste tutorial que você não deseja manter.

Para limpar o seu ambiente AWS
  1. Use o console do CloudTrail para excluir a trilha chamada My-Test-Trail que você criou na etapa 1.

  2. Se você criou um bucket do Amazon S3 na etapa 1, use o console do Amazon S3 para excluí-lo.

  3. Use o console do Lambda para excluir a função chamada LogOrganizationEvents que você criou na etapa 2.

  4. Use o console do Amazon SNS para excluir o tópico do Amazon SNS chamado OrganizationsCloudWatchTopic que você criou na etapa 3.

  5. Use o console do CloudWatch para excluir a regra do EventBridge chamada OrgsMonitorRule que foi criada na etapa 4.

  6. Use o console do Organizations para excluir a UO denominada TestCWEOU que você criou na etapa 5.

Isso é tudo. Neste tutorial, você configurou o EventBridge para monitorar alterações em sua organização. Você configurou uma regra que é acionada quando os usuários invocam operações específicas do AWS Organizations. A regra executou uma função do Lambda que registrou o evento no log e enviou um e-mail com detalhes sobre o evento.