Instale a integração Scheduled Blocking
Instale Scheduled Blocking pelo Azion Marketplace e execute-a em um firewall para controlar o acesso à sua application com base em um cronograma.
Você instala a integração Scheduled Blocking pelo Azion Marketplace e a executa em um Firewall, pelo Azion Console. A integração controla o acesso à sua application com base em um cronograma: nos intervalos e nos dias da semana que você define, ela nega, descarta ou responde as requisições com uma resposta estática.
Cinco objetos precisam existir antes que uma requisição seja bloqueada: a function instalada, um firewall com o módulo Functions, uma function instance com o cronograma, uma regra do Rules Engine com o behavior Run Function e um deployment do workload vinculado ao firewall. Cada seção abaixo cria um deles.
Pré-requisitos
- Uma conta Azion. Para entrar, consulte Como acessar o Azion Console.
- Uma application servida por um workload, cujo deployment você vincula ao firewall na última seção.
- A Azion CLI instalada e autorizada, para a última seção.
- Ativar um produto ou um módulo pode gerar custos de uso. Para mais informações, consulte Preços.
Instale a integração
A function é instalada uma vez por conta. Para instalá-la:
Acesse Azion Console > Marketplace.
Digite Scheduled Blocking no campo Search on Marketplace e selecione o card da integração. Navegar pelos cards e pelas categorias leva à mesma página.
O card mostra Successfully installed! e Latest version installed!, e a function aparece na lista Function do drawer Create Instance.
Crie o firewall
O firewall é onde a function é instanciada e onde fica a regra que a executa. Para criar um:
Acesse Azion Console > Firewalls e crie um firewall.
Na seção General, digite um Name. Por exemplo: scheduled-blocking-firewall.
Na seção Modules, ative o switch Functions.
O firewall mostra uma aba Functions Instances enquanto o módulo Functions estiver ativado. Para usar um firewall existente, ative o módulo Functions dele e salve-o. Para conhecer cada configuração deste formulário, consulte Defina as configurações principais de um firewall.
Crie a function instance
A instância guarda o cronograma e a ação que a function executa. Para criá-la:
Em Firewalls, selecione seu firewall e selecione a aba Functions Instances.
Um firewall que não tem instância mostra a mesma ação como Function Instance. O drawer Create Instance abre.
Em Name, digite um nome. Por exemplo: scheduled-blocking.
Em Function, selecione a function Scheduled Blocking. A lista contém apenas as functions que executam em um firewall.
Em Arguments, o editor vem preenchido com os argumentos padrão da integração em JSON. Defina seu cronograma, como a próxima seção descreve.
A instância aparece na aba Functions Instances.
Argumentos
Os argumentos são uma lista de entradas de cronograma. Cada entrada define uma ação, um intervalo e os dias da semana em que se aplica:
| Atributo | Tipo de dado | Descrição |
|---|---|---|
action | String | A ação que a function executa quando uma requisição corresponde aos critérios de disparo. Deny encerra a requisição com uma resposta HTTP 403 Forbidden. Drop encerra a requisição sem resposta ao cliente. static_response encerra a requisição com uma resposta estática. |
execute_action_when | String | in_interval executa a action quando a function é chamada durante o intervalo de tempo. not_in_interval executa a action quando a function é chamada fora do intervalo de tempo. |
interval | Dicionário de strings | O intervalo de tempo. Os valores usam o formato HH:MM, em um relógio de 24 horas. A function usa o fuso horário UTC. |
interval.starts_at_utc | String | O horário de início do intervalo. |
interval.finishes_at_utc | String | O horário de término do intervalo. |
week_days | Dicionário de booleanos | Os dias da semana em que a function executa. Cada chave é um dia em formato de três letras (EEE) que começa com letra maiúscula. A function ignora um dia inválido e lê um dia que não está no dicionário como false. |
static_response_data | Dicionário de strings | A página de resposta estática que a function retorna quando a action é static_response. |
static_response_data.status | Número | O código de status da resposta estática. |
static_response_data.message | String | A mensagem personalizada na página de resposta estática. |
static_response_data.html | String | O HTML personalizado que a function entrega como resposta estática. |
Crie a regra
A instância não bloqueia nada até que uma regra a execute. Uma regra do Rules Engine para Firewall seleciona as requisições que chegam à instância, por meio de um behavior Run Function. Para criar a regra:
Em Firewalls, selecione seu firewall e selecione a aba Rules Engine.
Em Name, digite um nome. Por exemplo: Run Scheduled Blocking.
Na seção Criteria, selecione os domínios que executam a integração. Por exemplo: if Host matches yourdomain.com.
Na seção Behaviors, selecione Run Function e selecione a instância pelo nome que você deu a ela.
O firewall executa a instância em cada requisição ao domínio do critério.
Vincule o firewall ao workload
O vínculo fica no deployment do workload, então crie um deployment que indique tanto a application quanto o firewall:
O comando imprime o id do novo deployment:
As requisições ao domínio do workload chegam ao firewall, e a regra executa a instância de Scheduled Blocking em cada uma delas.