Configurando o Agendador do Amazon EventBridge - Agendador do Amazon EventBridge

Configurando o Agendador do Amazon EventBridge

Antes de usar o Agendador do EventBridge, é necessário executar as etapas a seguir.

Cadastrar para AWS

Se você ainda não tem uma Conta da AWS, siga as etapas a seguir para criar uma.

Como cadastrar uma Conta da AWS
  1. Abra https://portal.aws.amazon.com/billing/signup.

  2. Siga as instruções online.

    Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

    Quando você se inscreve para uma Conta da AWS, um Usuário raiz da conta da AWS é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.

Criar um usuário do IAM

Para criar um usuário administrador, selecione uma das opções a seguir.

Selecionar uma forma de gerenciar o administrador Para Por Você também pode
Centro de Identidade do IAM

(Recomendado)

Usar credenciais de curto prazo para acessar a AWS.

Isso está de acordo com as práticas recomendadas de segurança. Para obter informações sobre as práticas recomendadas, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

Seguindo as instruções em Conceitos básicos no Guia do usuário do AWS IAM Identity Center. Configurar o acesso programático, com base em Definição da autenticação do AWS IAM Identity Center com a AWS CLI no Guia do usuário da versão 2 da AWS Command Line Interface.
No IAM

(Não recomendado)

Usar credenciais de longo prazo para acessar a AWS. Seguindo as instruções em Criar um acesso de emergência para um usuário do IAM no Guia do usuário do IAM. Configurar o acesso programático, com base em Gerenciar chaves de acesso para usuários do IAM no Guia do usuário do IAM.

Políticas gerenciadas pelo uso

Na etapa anterior, você configurou um usuário do IAM com as credenciais para acessar seus recursos da AWS. Na maioria dos casos, para usar o Agendador do EventBridge com segurança, recomendamos que você crie usuários, grupos ou funções separados somente com as permissões necessárias para usar o Agendador do EventBridge. O Agendador do EventBridge aceita as políticas gerenciadas a seguir para casos de uso comuns.

  • AmazonEventBridgeSchedulerFullAccess: concede acesso total ao Agendador do EventBridge usando o console e a API.

  • AmazonEventBridgeSchedulerReadOnlyAccess: concede acesso somente leitura ao Agendador do EventBridge.

Você pode anexar essas políticas gerenciadas às suas entidades principais do IAM da mesma forma que anexou a política de AdministratorAccess na etapa anterior. Para obter mais informações sobre como gerenciar o acesso ao Agendador do EventBridge usando políticas do IAM baseadas em identidade, consulte Usar políticas baseadas em identidade no Agendador do EventBridge.

Configurar o perfil de execução

Um perfil de execução é um perfil do IAM que o Agendador do EventBridge assume para interagir com outros Serviços da AWS em seu nome. Você anexa políticas de permissão a essa função para conceder ao Agendador do EventBridge acesso para invocar destinos.

Você também pode criar uma nova função de execução ao usar o console para criar uma nova agenda. Se você usa o console, o Agendador do EventBridge cria uma função em seu nome com permissões com base no destino escolhido. Quando o Agendador do EventBridge cria uma função para você, a política de confiança da função inclui chaves de condição que limitam quais entidades principais podem assumir a função em seu nome. Isso evita o potencial problema de segurança delegada confusa.

As etapas a seguir descrevem como criar uma nova função de execução e como conceder acesso ao Agendador do EventBridge para invocar um destino. Este tópico descreve as permissões para destinos modelados populares. Para obter informações sobre como adicionar permissões para outros destinos, consulte Usar destinos modelados no Agendador do EventBridge.

Para criar um perfil de execução de do com a AWS CLI
  1. Copie a seguinte política JSON de assumir a função e salve-a localmente como Scheduler-Execution-Role.json. Essa política de confiança permite que o Agendador do EventBridge assuma a função em seu nome.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    Importante

    Para configurar uma função de execução em um ambiente de produção, recomendamos a implementação de salvaguardas adicionais para evitar problemas de segurança delegada confusa. Para obter mais informações e um exemplo de política, consulte Prevenção de confused deputy no Agendador do EventBridge.

  2. Do AWS Command Line Interface (AWS CLI), insira o seguinte comando para criar uma nova função: Substitua SchedulerExecutionRole pelo nome que você deseja atribuir a essa função.

    $ aws iam create-role --role-name SchedulerExecutionRole --assume-role-policy-document file://Scheduler-Execution-Role.json

    Se o teste for bem-sucedido, você verá o seguinte resultado:

    {
        "Role": {
            "Path": "/",
            "RoleName": "Scheduler-Execution-Role",
            "RoleId": "BR1L2DZK3K4CTL5ZF9EIL",
            "Arn": "arn:aws:iam::123456789012:role/SchedulerExecutionRole",
            "CreateDate": "2022-03-10T18:45:01+00:00",
            "AssumeRolePolicyDocument": {
                "Version": "2012-10-17",		 	 	 
                "Statement": [
                    {
                        "Effect": "Allow",
                        "Principal": {
                            "Service": "scheduler.amazonaws.com"
                        },
                        "Action": "sts:AssumeRole"
                    }
                ]
            }
        }
    }
  3. Para criar uma nova política que permita que o Agendador do EventBridge invoque um destino, escolha um dos seguintes destinos comuns: Copie a política de permissão JSON e salve-a localmente como um arquivo .json.

    Amazon SQS – SendMessage

    O seguinte permite que o Agendador do EventBridge execute a ação sqs:SendMessage em todas as filas do Amazon SQS em sua conta:

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": [ "sqs:SendMessage" ], "Effect": "Allow", "Resource": "*" } ] }
    Amazon SNS – Publish

    O seguinte permite que o Agendador do EventBridge execute a ação sns:Publish em todas as filas do Amazon SNS em sua conta:

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "*" } ] }
    Lambda – Invoke

    O seguinte permite que o Agendador do EventBridge execute a ação lambda:InvokeFunction em todas as funções do Lambda em sua conta:

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "*" } ] }
  4. Execute o seguinte comando para criar a nova política de permissão: Substitua PolicyName pelo nome que você deseja atribuir a essa política.

    $ aws iam create-policy --policy-name PolicyName --policy-document file://PermissionPolicy.json

    Se for bem-sucedido, você verá o seguinte resultado: Observe o ARN da política. Você usa esse ARN na próxima etapa para anexar a política à nossa função de execução.

    {
        "Policy": {
            "PolicyName": "PolicyName",
            "CreateDate": "2022-03-015T19:31:18.620Z",
            "AttachmentCount": 0,
            "IsAttachable": true,
            "PolicyId": "ZXR6A36LTYANPAI7NJ5UV",
            "DefaultVersionId": "v1",
            "Path": "/",
            "Arn": "arn:aws:iam::123456789012:policy/PolicyName",
            "UpdateDate": "2022-03-015T19:31:18.620Z"
        }
    }
    
  5. Para associar a política à sua função de execução, execute o comando a seguir. Substitua your-policy-arn pelo ARN da política que você criou na etapa anterior. Substitua SchedulerExecutionRole pelo nome da sua função de execução.

    $ aws iam attach-role-policy --policy-arn your-policy-arn --role-name SchedulerExecutionRole

    A operação attach-role-policy não retorna uma resposta na linha de comando.

Configurar um destino

Antes de criar um agendamento do Agendador do EventBridge, você precisa de pelo menos uma meta para seu agendamento invocar. Você pode usar um recurso existente da AWS ou criar outro. As etapas a seguir mostram como criar uma nova fila padrão do Amazon SQS com CloudFormation.

Criar uma nova fila do Amazon SQS
  1. Copie o modelo JSON CloudFormation a seguir e salve-o localmente como SchedulerTargetSQS.json.

    { "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyQueue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": "MyQueue" } } }, "Outputs": { "QueueName": { "Description": "The name of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "QueueName" ] } }, "QueueURL": { "Description": "The URL of the queue", "Value": { "Ref": "MyQueue" } }, "QueueARN": { "Description": "The ARN of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "Arn" ] } } } }
  2. Da AWS CLI, execute o comando a seguir para criar uma pilha CloudFormation a partir do modelo Scheduler-Target-SQS.json.

    $ aws cloudformation create-stack --stack-name Scheduler-Target-SQS --template-body file://Scheduler-Target-SQS.json

    Se o teste for bem-sucedido, você verá o seguinte resultado:

    {
        "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890"
    }
  3. Execute o comando a seguir para visualizar as informações resumidas da sua pilha CloudFormation. Essas informações incluem o status da pilha e as saídas especificadas no modelo.

    $ aws cloudformation describe-stacks --stack-name Scheduler-Target-SQS

    Se for bem-sucedido, o comando cria a fila Amazon SQS e retorna a seguinte saída:

    {
        "Stacks": [
            {
                "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890",
                "StackName": "Scheduler-Target-SQS",
                "CreationTime": "2022-03-17T16:21:29.442000+00:00",
                "RollbackConfiguration": {},
                "StackStatus": "CREATE_COMPLETE",
                "DisableRollback": false,
                "NotificationARNs": [],
                "Outputs": [
                    {
                        "OutputKey": "QueueName",
                        "OutputValue": "MyQueue",
                        "Description": "The name of the queue"
                    },
                    {
                        "OutputKey": "QueueARN",
                        "OutputValue": "arn:aws:sqs:us-west-2:123456789012:MyQueue",
                        "Description": "The ARN of the queue"
                    },
                    {
                        "OutputKey": "QueueURL",
                        "OutputValue": "https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue",
                        "Description": "The URL of the queue"
                    }
                ],
                "Tags": [],
                "EnableTerminationProtection": false,
                "DriftInformation": {
                    "StackDriftStatus": "NOT_CHECKED"
                }
            }
        ]
    }

    Posteriormente neste guia, você usará o valor de QueueARN para configurar a fila como destino para o Agendador do EventBridge.

Próximas etapas

Depois de concluir a etapa de configuração, use o guia de introdução para criar seu primeiro Agendador do EventBridge Scheduler e invocar um destino.