O que é o mecanismo de regras para o Azure Front Door?

Um conjunto de Regras é um mecanismo de regras personalizado que agrupa uma combinação de regras em um único conjunto. Você pode associar um conjunto de regras a várias rotas. O conjunto de regras permite que você personalize como as solicitações são processadas na borda e como o Azure Front Door lida com essas solicitações.

Cenários comuns com suporte

  • Implementação de cabeçalhos de segurança para impedir que ocorram vulnerabilidades com base no navegador, como HSTS (HTTP Strict-Transport-Security), X-XSS-Protection, Content-Security-Policy, X-Frame-Options e cabeçalhos Access-Control-Allow-Origin para cenários do CORS (Cross-Origin Resource Sharing). Os atributos baseados em segurança também podem ser definidos com cookies.

  • Rotear solicitações para as versões móvel e desktop do seu aplicativo com base no tipo de dispositivo do cliente.

  • Usar recursos de redirecionamento para retornar os redirecionamentos 301, 302, 307 e 308 para o cliente a fim de direcioná-lo a novos nomes do host, caminhos, cadeias de caracteres de consulta ou protocolos.

  • Modificar dinamicamente a configuração de cache da rota com base nas solicitações de entrada.

  • Reescrever o caminho da URL de solicitação e encaminhar a solicitação para a origem apropriada no grupo de origem configurado.

  • Adicionar, modificar ou remover o cabeçalho de solicitação/resposta para ocultar informações confidenciais ou capturar informações importantes por meio de cabeçalhos.

  • Dar suporte a variáveis de servidor para alterar dinamicamente os cabeçalhos de solicitação/resposta ou os caminhos de reescrita de URL/cadeias de caracteres de consulta, por exemplo, quando uma nova página é carregada ou quando um formulário é postado. Atualmente, a variável de servidor tem suporte apenas nas ações de conjunto de Regras.

Arquitetura

O conjunto de regras controla solicitações na borda. Quando uma solicitação chega ao ponto de extremidade do Azure Front Door Standard/Premium, o WAF é executado primeiro, seguido pelas configurações definidas em Rota. Essas configurações incluem o conjunto de regras associado à rota. Os conjuntos de regras são processados de cima para baixo na rota. O mesmo se aplica às regras dentro de um conjunto de regras. Para que todas as ações sejam executadas em cada regra, todas as condições de correspondência dentro de uma regra têm de ser atendidas. Se uma solicitação não corresponder a nenhuma das condições na configuração do conjunto de regras, somente as configurações na rota serão executadas.

Se a opção Parar a avaliação de regras restantes for marcada, todos os conjuntos de regras restantes associados à rota não serão executados.

Exemplo

No diagrama a seguir, as políticas de WAF são executadas primeiro. Um conjunto de regras é configurado para acrescentar um cabeçalho de resposta. O cabeçalho alterará a idade máxima do controle de cache se a condição de correspondência for atendida.

Diagram that shows architecture of Rule Set.

Terminologia

Com o Conjunto de Regras do Azure Front Door, você pode criar uma combinação de configuração de conjunto de regras, cada qual composta de um conjunto de regras. Veja a seguir a descrição de algumas terminologias úteis que você encontrará ao configurar seu conjunto de regras.

Para obter mais limite de cota, consulte Assinatura do Azure e limites de serviço, cotas e restrições.

  • Conjunto de Regras: um conjunto de regras que é associado a uma ou várias rotas.

  • Regra do Conjunto de Regras: uma regra composta por até 10 condições de correspondência e 5 ações. As regras são locais para um conjunto de regras e não podem ser exportadas para uso entre conjuntos de regras. Os usuários podem criar a mesma regra em vários conjuntos de regras.

  • Condição de correspondência: há várias condições de correspondência que você pode configurar para analisar as solicitações de entrada. Uma regra pode conter até 10 condições de correspondência. As condições de correspondência são avaliadas com um operador AND. Há suporte para a expressão regular em condições. Uma lista completa de condições de correspondência pode ser encontrada em Condições de correspondência do conjunto de Regras.

  • Ação: uma ação determina como o Azure Front Door tratará as solicitações de entrada com base nas condições de correspondência. Você pode modificar comportamentos de cache, modificar cabeçalhos de solicitação/cabeçalhos de resposta, definir a reescrita de URL e o redirecionamento de URL. Variáveis de servidor têm suporte em ação. Uma regra pode conter até 10 condições de correspondência. Uma lista completa de ações pode ser encontrada em Ações do conjunto de regras.

Suporte ao modelo ARM

Os conjuntos de Regras podem ser configurados usando modelos do Azure Resource Manager. Veja um modelo de exemplo. Você pode personalizar o comportamento usando os trechos de código JSON ou Bicep incluídos nos exemplos de documentação para condições de correspondência e ações.

Próximas etapas

O Mecanismo de Regras permite personalizar como as solicitações HTTP são tratadas na borda e fornece um comportamento mais controlado para seu aplicativo Web. O Mecanismo de Regras para o Azure Front Door (clássico) tem vários recursos principais, incluindo:

  • Impõe o protocolo HTTP para garantir que todos os usuários finais interajam com seu conteúdo por meio de uma conexão segura.
  • Implementa cabeçalhos de segurança para impedir que ocorram vulnerabilidades com base no navegador, como os cabeçalhos HSTS (HTTP Strict-Transport-Security), X-XSS-Protection, Content-Security-Policy, X-Frame-Options e Access-Control-Allow-Origin para cenários do CORS (Compartilhamento de Recursos entre Origens). Os atributos baseados em segurança também podem ser definidos com cookies.
  • Encaminha solicitações para versões móveis ou para desktop do seu aplicativo com base nos padrões de conteúdo dos cabeçalhos de solicitação, cookies ou cadeias de caracteres de consulta.
  • Usa recursos de redirecionamento para retornar os redirecionamentos 301, 302, 307 e 308 para o cliente a fim de direcionar a novos nomes de host, caminhos ou protocolos.
  • Modificar dinamicamente a configuração de cache da rota com base nas solicitações de entrada.
  • Reescrever o caminho da URL de solicitação e encaminhar a solicitação para o back-end apropriado no seu pool de back-end configurado.

Arquitetura

O mecanismo de regras lida com solicitações na borda. Quando uma solicitação atinge o ponto de extremidade do Azure Front Door (clássico), o WAF é executado primeiro, seguido pela configuração do Mecanismo de Regras associada ao Front-end/Domínio. Caso uma configuração do Mecanismo de Regras seja executada, isso significa que a regra de roteamento pai já é uma correspondência. Para que todas as ações sejam executadas em cada regra, todas as condições de correspondência dentro de uma regra têm de ser atendidas. Caso uma solicitação não corresponda a nenhuma das condições em sua configuração do Mecanismo de Regra, a Regra de Roteamento padrão será executada.

Por exemplo, no diagrama a seguir, um Mecanismo de Regras será configurado para acrescentar um cabeçalho de resposta. O cabeçalho alterará a idade máxima do controle de cache caso a condição de correspondência seja atendida.

response header action

Em outro exemplo, vemos que o mecanismo de regras está configurado para enviar um usuário para uma versão móvel do site quando a condição de correspondência, o tipo de dispositivo, é verdadeira.

route configuration override

Em ambos os exemplos, quando nenhuma das condições de correspondência é atendida, a regra de rota especificada é executada.

Terminologia

Com o Mecanismo de Regras do Azure Front Door (clássico), será possível criar uma combinação de configurações de Mecanismo de Regras. Cada uma delas será composta por um conjunto de regras. Veja a seguir a descrição de algumas terminologias úteis que você encontrará ao configurar o mecanismo de regras.

  • Configuração do mecanismo de regras: um conjunto de regras aplicadas a uma regra de rota. Cada configuração é limitada a 25 regras. Você pode criar até 10 configurações.
  • Regra do mecanismo de regras: uma regra composta por até 10 condições de correspondência e cinco ações.
  • Condição de correspondência: há várias condições de correspondência que podem ser utilizadas para analisar suas solicitações de entrada. Uma regra pode conter até 10 condições de correspondência. As condições de correspondência são avaliadas com um operador AND. Uma lista completa de condições de correspondência pode ser encontrada aqui.
  • Ação: as ações ditam o que acontece com as suas solicitações de entrada – ações de cabeçalho de solicitação/resposta, encaminhamentos, redirecionamentos e regravações estão disponíveis hoje. Uma regra pode conter até cinco ações. No entanto, uma regra poderá conter somente uma substituição de configuração de rota. Uma lista completa de ações pode ser encontrada aqui.

Próximas etapas