Partilhar via


Proteja APIs usando o Application Gateway e o Gerenciamento de API

API Management do Azure
Gateway de Aplicação do Azure

As organizações adotam cada vez mais abordagens de design API-first enquanto enfrentam ameaças crescentes aos aplicativos Web. É necessário uma estratégia de segurança abrangente para proteger APIs, especialmente ao expor APIs baseadas em IA e implementar princípios de arquitetura zero trust. O padrão de Roteamento de Gateway fornece uma abordagem para a segurança da API, protegendo o tráfego de rede. O gateway restringe os locais de origem do tráfego e a qualidade do tráfego, ao mesmo tempo em que oferece suporte a regras de roteamento flexíveis. Este artigo descreve como usar o Gateway de Aplicativo do Azure e o Gerenciamento de API do Azure para proteger o acesso à API.

Architecture

Este artigo não aborda as plataformas subjacentes do aplicativo, como o Ambiente do Serviço de Aplicativo, a Instância Gerenciada SQL do Azure e o Serviço Kubernetes do Azure (AKS). Essas partes do diagrama mostram o que você pode implementar como uma solução mais ampla. Este artigo discute especificamente as áreas sombreadas, o Gerenciamento de API e o Application Gateway.

Diagrama que mostra como o Application Gateway e o Gerenciamento de API protegem as APIs.

Transfira um ficheiro do Visio desta arquitetura.

Workflow

  1. O Application Gateway recebe solicitações HTTPS permitidas pelo NSG (grupo de segurança de rede) da sub-rede.

  2. O firewall de aplicativo Web (WAF) no Application Gateway verifica a solicitação em relação às regras WAF, incluindo regras personalizadas de correspondência geográfica. Se o pedido for válido, o pedido prossegue.

  3. O Application Gateway configura um mecanismo de proxy de URL que envia a solicitação para o pool de back-end adequado. O comportamento de roteamento depende do formato de URL da chamada de API:

    • URLs formatados como api.<some-domain>/external/* podem chegar ao back-end para interagir com as APIs solicitadas.

    • Chamadas formatadas como api.<some-domain>/* ir para um beco sem saída, chamado de sinkpool, que é um pool de back-end sem destino.

    • Uma regra de roteamento no nível do Application Gateway redireciona os usuários para portal.<some-domain>/* o portal do desenvolvedor. Os desenvolvedores podem gerenciar APIs e suas configurações de ambientes internos e externos. Como alternativa, você pode bloquear completamente o portal do desenvolvedor.

  4. O Application Gateway aceita e faz proxy de chamadas internas de recursos na mesma rede virtual do Azure em api.<some-domain>/internal/*.

  5. No nível de Gerenciamento de API, as APIs aceitam chamadas nos seguintes padrões:

    • api.<some-domain>/external/*
    • api.<some-domain>/internal/*

    Nesse cenário, o gerenciamento de API usa endereços IP públicos e privados. Os endereços IP públicos suportam operações de gerenciamento na porta 3443 para o plano de gerenciamento e para o tráfego de API de tempo de execução em configurações de rede virtual externa. Quando o Gerenciamento de API envia uma solicitação para um back-end público voltado para a Internet, ele mostra um endereço IP público como a origem da solicitação. Para obter mais informações, consulte Endereços IP do Gerenciamento de API em uma rede virtual.

Components

  • A Rede Virtual do Azure permite que muitos tipos de recursos do Azure comuniquem de forma privada entre si, com a Internet e com redes locais. Nessa arquitetura, o Application Gateway encapsula o tráfego público da Internet para essa rede privada.

  • O Application Gateway é um balanceador de carga de tráfego da Web que gerencia o tráfego para aplicativos da Web. Esse tipo de roteamento é conhecido como balanceamento de carga da camada de aplicativo (OSI Camada 7). Nessa arquitetura, o gateway fornece roteamento e hospeda um WAF para proteger contra vetores comuns de ataque baseados na Web.

  • API Management é uma plataforma de gerenciamento híbrida e multicloud para APIs em todos os ambientes. O Gerenciamento de API cria gateways de API modernos e consistentes para serviços back-end existentes. Nessa arquitetura, o Gerenciamento de API opera em um modo totalmente privado para descarregar preocupações transversais do código da API e dos hosts.

Alternatives

Você pode usar outros serviços para fornecer um nível semelhante de firewall e proteção WAF:

  • O Azure Front Door fornece proteção distribuída de negação de serviço (DDoS) integrada e balanceamento de carga global.

  • O Firewall do Azure fornece proteção no nível da rede e gerenciamento centralizado de políticas de segurança.

  • Soluções de parceiros, como o Barracuda WAF ou outras soluções WAF estão disponíveis no Azure Marketplace.

Recommendations

Essa arquitetura se concentra na implementação de toda a solução e no teste do acesso à API de dentro e fora da rede virtual de Gerenciamento de API. Para obter mais informações sobre o processo de integração, consulte Integrar o gerenciamento de API em uma rede virtual interna usando o Application Gateway.

Para se comunicar com recursos privados no back-end, coloque o Application Gateway e o Gerenciamento de API na mesma rede virtual que os recursos ou em uma rede virtual emparelhada.

  • O modelo de implantação privada e interna permite que o Gerenciamento de API se conecte a uma rede virtual existente, o que a torna acessível de dentro desse contexto de rede. Para habilitar esse recurso, implante as camadas Developer ou Premium API Management para injeção clássica de rede virtual. Para opções de rede virtual mais recentes, use as camadas Standard v2 ou Premium v2 com recursos de integração ou injeção de rede virtual.

  • Se seus clientes operarem em uma assinatura diferente ou forem gerenciados com um diretório de ID do Microsoft Entra diferente, use o Azure Private Link for Application Gateway para fornecer conectividade privada ao Application Gateway a partir de redes virtuais de cliente em assinaturas e regiões.

  • Gerencie certificados do Gateway de Aplicativo no Cofre de Chaves do Azure.

  • Para personalizar as interações com os serviços, você pode usar entradas de nome canônico (CNAME).

Considerations

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.

Reliability

A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para Confiabilidade.

O Application Gateway sempre é implantado em uma configuração altamente disponível, independentemente da contagem de instâncias. Para reduzir o impacto de um mau funcionamento de zona, você pode configurar o gateway de aplicativo para abranger várias zonas de disponibilidade. Para obter mais informações, consulte Dimensionamento automático e alta disponibilidade.

Habilite a redundância de zona para seus componentes de serviço de Gerenciamento de API para fornecer resiliência e alta disponibilidade. A redundância de zona replica o gateway de gerenciamento de API e o plano de controle em datacenters em zonas fisicamente separadas. Essa configuração os torna resilientes a falhas de zona. Você deve usar a camada Premium do Gerenciamento de API para dar suporte a zonas de disponibilidade.

O Gerenciamento de API também oferece suporte a implantações em várias regiões, o que pode melhorar a disponibilidade se uma região ficar offline. Para obter mais informações, consulte Suporte multirregional. Nessa topologia, implante um gateway de aplicativo para cada região, pois o Application Gateway é um serviço regional.

Segurança

A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design parade segurança .

Para obter mais informações sobre a segurança do Gateway de Aplicativo, consulte Linha de base de segurança do Azure para o Gateway de Aplicativo.

Para obter mais informações sobre a segurança do Gerenciamento de API, consulte Linha de base de segurança do Azure para Gerenciamento de API.

Implemente sempre as seguintes medidas de segurança:

Otimização de Custos

A Otimização de Custos concentra-se em formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de projeto para Otimização de custos.

O custo desta arquitetura depende de vários aspetos de configuração:

  • Níveis de serviço: Considere as camadas Standard v2 e Premium v2 para o Gerenciamento de API para melhorar a eficiência de custos e o desempenho.

  • Escalabilidade: Os serviços alocam dinamicamente o número de instâncias para dar suporte a uma determinada demanda.

  • Duração do tempo de execução: Os custos variam dependendo se a arquitetura é executada continuamente ou apenas algumas horas por mês.

  • Transferência de dados: As implantações multirregionais incorrem em custos de transferência entre regiões.

  • Processamento WAF: Os custos dependem do número de pedidos e das regras avaliadas.

Considere as seguintes estratégias de otimização de custos:

Depois de avaliar esses aspetos, use a calculadora de preços do Azure para estimar os preços.

Excelência Operacional

A Excelência Operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Lista de verificação de revisão de design para excelência operacional.

Implementar monitorização e observabilidade abrangentes:

Eficiência de desempenho

A Eficiência de Desempenho refere-se à capacidade da sua carga de trabalho de escalar para atender às demandas dos usuários de forma eficiente. Para obter mais informações, consulte Lista de verificação de revisão de design para Eficiência de desempenho.

O Gateway de Aplicativo serve como o ponto de entrada para essa arquitetura, e o recurso Firewall de Aplicativo Web do Azure requer poder de processamento para cada análise de solicitação. Para permitir que o Application Gateway expanda sua capacidade computacional sob demanda, habilite o dimensionamento automático. Para obter mais informações, consulte Autoscaling and zone redundancy in Application Gateway. Siga as recomendações da documentação do produto para a configuração da infraestrutura do Application Gateway, incluindo o dimensionamento adequado da sub-rede. Essa abordagem garante que a sub-rede seja grande o suficiente para suportar a expansão total.

Considere as seguintes otimizações de desempenho para o Gerenciamento de API:

Próximos passos

Para projetar APIs, siga boas diretrizes de design de API da Web . Para implementar APIs, use boas práticas de implementação de API da Web .