Configurar o Front Door Standard/Premium em frente ao Gerenciamento de API do Azure

APLICA-SE A: todas as camadas do Gerenciamento de API

O Azure Front Door é uma plataforma de rede de distribuição de aplicativos moderna que fornece uma CDN (rede de distribuição de conteúdo) segura e escalonável, aceleração de site dinâmica e balanceamento de carga de HTTPs global para seus aplicativos Web globais. Quando usado na frente do Gerenciamento de API, o Front Door pode fornecer descarregamento de TLS, TLS de ponta a ponta, balanceamento de carga, cache de resposta de solicitações GET e um firewall de aplicativo Web, entre outros recursos. Para ver uma lista completa dos recursos com suporte, confira O que é o Azure Front Door?

Observação

Para cargas de trabalho da Web, é altamente recomendável utilizar a proteção contra DDoS do Azure e um firewall de aplicativo Web para proteger contra ataques de DDoS emergentes. Outra opção é empregar o Azure Front Door junto com um firewall de aplicativo Web. O Azure Front Door oferece proteção no nível da plataforma contra ataques de DDoS no nível da rede. Para obter mais informações, confira a linha de base de segurança dos serviços do Azure.

Este artigo mostra como:

  • Configure um perfil Standard/Premium do Azure Front Door em frente a uma instância do Gerenciamento de API do Azure acessível publicamente: fora da rede ou injetada em uma rede virtual no modo externo.
  • Restrinja o Gerenciamento de API para aceitar o tráfego de API somente do Azure Front Door.

Pré-requisitos

  • Uma instância de Gerenciamento de API.
    • Se você optar por usar uma instância injetada em rede, ela deverá ser implantada em uma VNet externa. (Há suporte para injeção de rede virtual nas camadas de serviço de Desenvolvedor e Premium.)
  • Importe uma ou mais APIs para sua instância do Gerenciamento de API para confirmar o roteamento pelo Front Door.

Configurar o Azure Front Door

Criar perfil

Para ver as etapas para criar um perfil Standard/Premium do Azure Front Door, consulte Início Rápido: Criar um perfil do Azure Front Door – portal do Azure. Para este artigo, você pode escolher um perfil do Front Door Standard. Para ver uma comparação entre o Front Door Standard e o Front Door Premium, consulte a Comparação de camadas.

Defina as configurações do Front Door a seguir específicas para o uso do ponto de extremidade do gateway de sua instância do Gerenciamento de API como uma origem do Front Door. Para obter uma explicação de outras configurações, consulte o início rápido do Front Door.

Configuração Valor
Tipo de origem Selecione Gerenciamento de API
Nome do host de origem Selecione o nome do host de sua instância do Gerenciamento de API, por exemplo, myapim.azure-api.net
Cache Selecione Habilitar cache para o Front Door para armazenar em cache conteúdo estático
Comportamento de cache da cadeia de caracteres de consulta Selecionar Usar Cadeia de Consulta

Captura de tela da criação de um perfil do Front Door no portal.

Atualizar o grupo de origem padrão

Depois que o perfil for criado, atualize o grupo de origem padrão para incluir uma investigação de integridade do Gerenciamento de API.

  1. No portal, vá para o perfil do Front Door.

  2. No menu esquerdo, em Configurações, selecione Grupos de origem>default-origin-group.

  3. Na janela Atualizar grupo de origem, defina as seguintes configurações de Investigação de integridade e selecione Atualizar:

    Configuração Valor
    Status Selecionar Habilitar investigações de integridade
    Caminho Inserir /status-0123456789abcdef
    Protocolo Selecione HTTPS
    Método Selecione GET
    Intervalo (em segundos) Insira 30

    Captura de tela da atualização do grupo de origem padrão no portal.

Atualizar a rota padrão

Recomendamos atualizar a rota padrão associada ao grupo de origem do Gerenciamento de API para usar HTTPS como o protocolo de encaminhamento.

  1. No portal, vá para o perfil do Front Door.
  2. No menu esquerdo, em Configurações, selecione Grupos de origem.
  3. Expanda default-origin-group.
  4. No menu de contexto (...) de default-route, selecione Configurar rota.
  5. Defina Protocolos aceitos como HTTP e HTTPS.
  6. Habilite Redirecionar todo o tráfego para usar HTTPS.
  7. Defina o Protocolo de encaminhamento como somente HTTPS e selecione Atualizar.

Testar a configuração

Teste a configuração do perfil do Front Door chamando uma API hospedada pelo Gerenciamento de API. Primeiro, chame a API diretamente por meio do gateway de Gerenciamento de API para garantir ela esteja acessível. Em seguida, chame a API pelo Front Door. Para testar, você pode usar um cliente de linha de comando como curl para as chamadas ou uma ferramenta como o Postman.

Chamar uma API diretamente por meio do Gerenciamento de API

No exemplo a seguir, uma operação na API de Conferência de Demonstração hospedada pela instância do Gerenciamento de API é chamada diretamente usando o Postman. Neste exemplo, o nome do host da instância está no domínio padrão azure-api.net e uma chave de assinatura válida é passada usando um cabeçalho de solicitação. Uma resposta bem-sucedida mostra 200 OK e retorna os dados esperados:

Captura de tela mostrando a chamada do ponto de extremidade de Gerenciamento de API diretamente usando o Postman.

Chamar uma API diretamente pelo Front Door

No exemplo a seguir, a mesma operação na API de Conferência de Demonstração é chamada usando o ponto de extremidade do Front Door configurado para sua instância. O nome do host do ponto de extremidade no domínio azurefd.net é mostrado no portal na página Visão geral do seu perfil do Front Door. Uma resposta bem-sucedida mostra 200 OK e retorna os mesmos dados do exemplo anterior:

Captura de tela mostrando a chamada ao ponto de extremidade do Front Door usando o Postman.

Restringir o tráfego de entrada à instância de Gerenciamento de API

Use políticas de Gerenciamento de API para garantir que sua instância do Gerenciamento de API aceite tráfego somente do Azure Front Door. Você pode atingir essa restrição usando um ou ambos os seguintes métodos:

  1. Restringir endereços IP de entrada para suas instâncias de Gerenciamento de API
  2. Restringir o tráfego com base no valor do cabeçalho X-Azure-FDID

Restringir endereços IP de entrada

Você pode configurar uma política de filtro de IP de entrada no Gerenciamento de API para permitir apenas tráfego relacionado ao Front Door, que inclui:

  • Espaço de endereços IP de back-end do Front Door – permitir endereços IP correspondentes à seção AzureFrontDoor.Backend em Intervalos de IP e Marcas de Serviço do Azure.

    Observação

    Se sua instância do Gerenciamento de API for implantada em uma rede virtual externa, atinja a mesma restrição adicionando uma regra de grupo de segurança de rede de entrada na sub-rede usada para sua instância do Gerenciamento de API. Configure a regra para permitir o tráfego HTTPS da marca de serviço de origem AzureFrontDoor.Backend na porta 443.

  • Serviços de infraestrutura do Azure – permitir endereços IP 168.63.129.16 e 169.254.169.254.

Verificar cabeçalho do Front Door

As solicitações roteadas pelo Front Door incluem cabeçalhos específicos à sua configuração do Front Door. Você pode configurar a política de cabeçalho de verificação para filtrar as solicitações de entrada com base no valor exclusivo do cabeçalho de solicitação HTTP X-Azure-FDID enviado para o Gerenciamento de API. Esse valor de cabeçalho é a ID do Front Door, que é mostrada no portal na página Visão geral do perfil do Front Door.

No exemplo de política a seguir, a ID do Front Door é especificada usando um valor nomeado chamado FrontDoorId.

<check-header name="X-Azure-FDID" failed-check-httpcode="403" failed-check-error-message="Invalid request." ignore-case="false">
        <value>{{FrontDoorId}}</value>
</check-header>

Solicitações que não são acompanhadas por um cabeçalho válido X-Azure-FDID retornam uma resposta 403 Forbidden.

(Opcional) Configurar o Front Door para o portal do desenvolvedor

Opcionalmente, configure o portal do desenvolvedor da instância de Gerenciamento de API como um ponto de extremidade no perfil do Front Door. Embora o portal do desenvolvedor gerenciado já tenha à frente uma CDN gerenciada pelo Azure, talvez você queira aproveitar os recursos do Front Door, como um WAF.

Estas são as etapas de alto nível para adicionar um ponto de extremidade para o portal do desenvolvedor ao seu perfil:

  • Para adicionar um ponto de extremidade e configurar uma rota, consulte Configurar um ponto de extremidade com o gerenciador do Front Door.

  • Ao adicionar a rota, adicione um grupo de origem e as configurações de origem para representar o portal do desenvolvedor:

    • Tipo de origem: selecione Personalizado
    • Nome do host – insira o nome do host do portal do desenvolvedor, por exemplo, myapim.developer.azure-api.net

Para obter mais informações e detalhes sobre as configurações, consulte Como configurar uma origem para o Azure Front Door.

Observação

Se você configurou uma ID do Microsoft Entra ou um provedor de identidade do Azure AD B2C para o portal do desenvolvedor, será necessário atualizar o registro de aplicativo correspondente com uma URL de redirecionamento adicional para o Front Door. No registro do aplicativo, adicione a URL para o ponto de extremidade do portal do desenvolvedor configurado em seu perfil do Front Door.

Próximas etapas