Como utilizar a integração Scheduled Blocking através do Marketplace da Azion
Scheduled Blocking da Azion é uma integração serverless disponível no Marketplace da Azion.
Essa integração permite controlar o acesso à sua aplicação com base em um cronograma, de acordo com suas necessidades.
Obtenha a integração
Para usar a integração Scheduled Blocking fornecida pelo Marketplace da Azion, você deve seguir os passos:
- Acesse o Azion Console > Marketplace.
- Na homepage do Marketplace, selecione o card da integração.
- Quando a página da integração abrir, clique no botão Install, localizado no canto inferior da direita.
Aparecerá uma mensagem indicando que sua integração foi instalada com sucesso.
Configure a integração
Configure um edge firewall
Para instanciar a integração Scheduled Blocking, siga as etapas:
- Em Products menu, selecione Edge Firewall dentro da seção SECURE.
- Clique no botão + Edge Firewall.
- Dê um nome fácil de lembrar para o seu edge firewall.
- Habilite o switch Edge Functions para que você rode edge functions no seu edge firewall.
- Clique no botão Save.
Pronto. Agora você instanciou o edge firewall para sua função.
Instancie a integração
Para instanciar a integração Scheduled Blocking, ainda na página do Edge Firewall:
- Selecione a aba Functions Instances.
- Clique no botão + Function Instance.
- Dê um nome fácil de lembrar para a sua instância.
- No menu suspenso, selecione a função Scheduled Blocking.
- Esta ação irá carregar a aba Arguments.
A aba Args carregará um arquivo JSON
que se parece com o mostrado abaixo:
{ "schedule": [ { "action": "deny", "execute_action_when": "in_interval", "interval": { "starts_at_utc": "00:00", "finishes_at_utc": "00:59" }, "week_days": { "Sun": true, "Mon": true, "Tue": true, "Wed": true, "Thu": true, "Fri": false, "Sat": true } }, { "action": "drop", "execute_action_when": "not_in_interval", "interval": { "starts_at_utc": "01:00", "finishes_at_utc": "20:00" }, "week_days": { "Mon": true, "Tue": true } }, { "action": "static_response", "execute_action_when": "in_interval", "static_response_data": { "status": 503, "message": "You can write a custom message here", "html": "<!-- Some HTML can go here -->" }, "interval": { "starts_at_utc": "20:00", "finishes_at_utc": "23:59" }, "week_days": { "Sun": true, "Sat": true } } ]}
Os argumentos que você pode passar para este arquivo JSON são os seguintes:
Atributo | Tipo de dado | Descrição |
---|---|---|
action | String | Define a ação que a função executará sempre que uma requisição corresponder aos critérios de disparo. Os valores possíveis são: Deny : fechará a requisição com uma resposta HTTP 403 Proibida.Drop : encerra o pedido sem enviar qualquer resposta ao cliente.static_response : encerrará a requisição com uma resposta estática a ela. |
execute_action_when | String | Os valores possíveis são:in_interval not_in_interval Quando este argumento é definido como in_interval , a action será executada sempre que esta função for chamada durante o intervalo de tempo definido. Quando o argumento é definido como not_in_interval a action será executada mesmo que a função seja chamada fora do intervalo de tempo definido. |
interval | Dicionário de Strings | Define o intervalo de tempo. Os valores devem estar no formato “HH”, com base em um relógio de 24 horas. Esta função é usada no fuso horário UTC. |
interval.starts_at_utc | String | Define a hora de início do intervalo. |
interval.finishes_at_utc | String | Define a hora final do intervalo. |
week_days | Dicionário de Booleanos | Define os dias da semana em que a função será executada. Os índices do dicionário representam cada dia da semana. Espera-se que eles usem um formato de data EEE, de 3 letras, começando com maiúsculas. Por exemplo: “Sun” para domingo, “Mon” para segunda. Se um dia inválido for usado, ele será ignorado. Se um dia não estiver presente no dicionário, ele será considerado falso . |
static_response_data | Dicionário de Strings | Permite a personalização da página de resposta estática que será retornada sempre que a ação for definida como static_response . |
static_response_data.status | Número | O código de status usado na resposta estática. |
static_response_data.message | String | Este argumento permite que você personalize a mensagem exibida na página de resposta estática. |
static_response_data.html | String | Permite que você forneça um HTML personalizado para ser usado ao fornecer a resposta estática. |
- Clique no botão Save. Sua integração está instanciada.
Configure o Rules Engine
Para concluir, você precisa configurar o Rules Engine para determinar o behavior (comportamento) e os criteria (critérios) para executar a função.
Ainda na página Edge Firewall:
- Selecione a aba Rules Engine.
- Clique no botão + Rule Engine.
- Dê um nome fácil de lembrar à sua nova regra.
- Selecione um criteria (critério) para executar a integração.
- Exemplo: if
Host
matchesyourdomain.com
.
- Abaixo, selecione um behavior (comportamento) para os criteria (critérios). Neste caso, será Run Function.
- Selecione a função adequada de acordo com o nome que você deu na etapa de instanciação.
- Clique no botão Save.
Agora, no Console, você deve configurar seu domínio para que ele seja protegido pelo seu edge firewall.
- No Products menu, selecione Domains.
- Clique no domínio que você deseja proteger com sua função Scheduled Blocking.
- Na seção Settings, clique no seletor de
Edge Firewall
e escolha o edge firewall que você acabou de criar. - Clique no botão Save.
Pronto. Agora, a integração Scheduled Blocking está em execução para cada requisição feita ao domínio que você indicou.
Contribuidores