Method and Route Validator
Preview
A integração Method and Route Validator pode ser usada para proteger sua aplicação bloqueando requisições com base na URI e método utilizados. Ela funciona validando os argumentos e verificando se a requisição coincide com os padrões definidos em qualquer um dos valores.
Com essa integração, você pode definir uma lista de rotas e qual método cada rota espera. Cada vez que a função é executada, ela seguirá as seguintes etapas:
- Validará os argumentos passados para a function.
- Verificará se a requisição coincide com os padrões definidos para as rotas.
- Se uma correspondência for encontrada, a função executará uma ação de bloqueio especificada pelo usuário.
- Se não for encontrada nenhuma correspondência, a função pode ser configurada para continuar a requisição ou bloqueá-la.
- Se os argumentos forem inválidos, ela escreverá uma mensagem de log e continuará a requisição.
Obtenha a integração
Para instalar esta integração:
- Acesse Azion Console > Marketplace.
- Na página inicial do Marketplace, selecione o cartão da Method and Route Validator.
- Na página de integração, clique no botão Install.
Você verá uma mensagem indicando que sua integração foi instalada com sucesso.
Configure a integração
Depois de instalar a integração Method and Route Validator, você precisará concluir as etapas explicadas abaixo para configurá-la.
Configure uma regra no Edge Firewall
Siga estes passos:
- No canto superior esquerdo, abra o Products menu e selecione Firewall na seção Secure.
- Clique no botão + Firewall.
- Dê um nome fácil de lembrar ao seu firewall.
- Ative a opção Functions na seção Firewall Modules.
- Esta ação dá acesso a functions no firewall.
- Clique no botão Save.
Pronto. Agora você instanciou o edge firewall para sua função e tem acesso a functions em seu edge firewall.
Configure uma função no Edge Firewall
Enquanto ainda estiver na página do Edge Firewall:
- Selecione a aba Functions Instances.
- Clique no botão + Function Instance.
- Dê um nome fácil de lembrar à sua instância.
- No menu suspenso, selecione a função Method and Route Validator.
- Na caixa Arguments, passe suas variáveis, como no exemplo:
{  "restricted_mode": false,  "action": "deny",  "routes": [    {      "match_type": "equals",      "path": "/my/route/",      "methods": ["GET", "POST"]    },    {      "match_type": "contains",      "path": "/something/",      "methods": ["POST"]    },    {      "match_type": "regex",      "path": "^.test.*",      "methods": ["GET", "POST", "PATCH", "DELETE"]    }  ]}Onde:
| Propriedade | Tipo | Obrigatório | Descrição | 
|---|---|---|---|
| restricted_mode | Boolean | Não | Indica se a função deve operar no modo restrito. Valor padrão: false. | 
| action | String | Sim | Define qual ação usar quando a função identifica a requisição como inválida. | 
| routes | Array | Sim | Contém todas as URIs que a aplicação protegida espera lidar. | 
| routes.match_type | String | Sim | String que especifica o tipo de match a ser realizado no caminho. | 
| routes.path | String | Sim | Define qual argumento será usado para validar a URI da requisição. | 
| routes.methods | Array | Sim | Array de strings especificando quais métodos podem ser usados ao fazer a requisição para o caminho dado. | 
| redirect_to | String | Apenas quando actionéredirect | URL para a qual a requisição deve ser redirecionada quando a ação redirecté acionada. Pode ser uma URL de requisição completa ou um caminho relativo. | 
| custom_response_body | String | Apenas quando actionécustom_response | Corpo de resposta personalizado a ser enviado quando a ação custom_responseé acionada. | 
| custom_response_status | Number | Não | Código de status de resposta a ser enviado quando a ação custom_responseé acionada. Valor padrão:400. | 
| custom_response_content_type | String | Não | Tipo de conteúdo de resposta a ser enviado quando a ação custom_responseé acionada. Valor padrão:plain/text. | 
Os valores possíveis para o argumento action são:
| Ação | Descrição | 
|---|---|
| deny | Fecha a requisição com uma resposta HTTP 403 Forbidden. | 
| drop | Fecha a requisição sem enviar nenhuma resposta ao cliente. | 
| redirect | Redireciona a requisição para outra localização. | 
| custom_response | Fecha a requisição com uma resposta estática a ela. | 
Os valores possíveis para o argumento match_type são:
| Tipo de Match | Descrição | 
|---|---|
| equals | O caminho deve ser igual ao definido no argumento path. | 
| contains | O caminho deve conter o definido no argumento path. | 
| regex | O caminho deve coincidir com a expressão regular definida no argumento path. | 
- Clique no botão Save.
Configure uma regra no Rules Engine
Para concluir, você deve configurar uma regra no Rules Engine para definir os critérios (criteria) e o comportamento (behavior) para executar a função.
Ainda na página do 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 Hostmatchesyourdomain.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 Method and Route Validator.
- Na seção Settings, clique no seletor de Edge Firewalle escolha o Edge Firewall que você acabou de criar.
- Clique no botão Save.
Pronto. Agora a integração Method and Route Validator está em execução.