Compartilhar via


Proteger APIs usando o Gateway de Aplicativo e o Gerenciamento de API

Gerenciamento de API do Azure
Gateway de Aplicativo do Azure

As organizações adotam cada vez mais abordagens de design da API enquanto enfrentam ameaças crescentes a aplicativos Web. Você precisa de uma estratégia de segurança abrangente para proteger AS APIs, especialmente ao expor APIs habilitadas para IA e implementar princípios de arquitetura de confiança zero. 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 dá suporte a regras de roteamento flexíveis. Este artigo descreve como usar o Gateway de Aplicativo do Azure e 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 de SQL do Azure e o AKS (Serviço de Kubernetes do Azure). Essas partes do diagrama mostram o que você pode implementar como uma solução mais ampla. Este artigo aborda especificamente as áreas sombreadas, o Gerenciamento de API e o Gateway de Aplicativo.

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

Baixe um Arquivo Visio dessa arquitetura.

Workflow

  1. O Gateway de Aplicativo recebe solicitações HTTPS que o NSG (grupo de segurança de rede) da sub-rede permite.

  2. O WAF (firewall do aplicativo Web) no Gateway de Aplicativo verifica a solicitação em relação às regras do WAF, incluindo regras personalizadas de geomatch. Se a solicitação for válida, a solicitação continuará.

  3. O Gateway de Aplicativo 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 à API:

    • URLs formatadas 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 Gateway de Aplicativo redireciona os usuários portal.<some-domain>/* para 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 Gateway de Aplicativo aceita e faz proxies de chamadas internas de recursos na mesma rede api.<some-domain>/internal/*virtual do Azure em .

  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 dão suporte a operações de gerenciamento na porta 3443 para o plano de gerenciamento e para tráfego de API de runtime 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 se comuniquem de forma privada entre si, com a Internet e com redes locais. Nessa arquitetura, o Gateway de Aplicativo túnelia o tráfego público da Internet para essa rede privada.

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

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

Alternatives

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

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

  • O Firewall do Azure fornece proteção em nível de 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 em implementar toda a solução e testar o 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 Gateway de Aplicativo.

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

  • O modelo de implantação interno privado permite que o Gerenciamento de API se conecte a uma rede virtual existente, o que o torna acessível dentro desse contexto de rede. Para habilitar esse recurso, implante as camadas de Gerenciamento de API Premium ou Desenvolvedor para injeção de rede virtual clássica. 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 operam em uma assinatura diferente ou são gerenciados com um diretório de ID do Microsoft Entra diferente, use o Link Privado do Azure para Gateway de Aplicativo para fornecer conectividade privada ao Gateway de Aplicativo de redes virtuais cliente entre assinaturas e regiões.

  • Gerenciar certificados do Gateway de Aplicativo no Azure Key Vault.

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

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ê faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design parade confiabilidade.

O Gateway de Aplicativo 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 os componentes de serviço do 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 entre datacenters em zonas fisicamente separadas. Essa configuração os torna resilientes à falha 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 dá suporte a implantações de várias regiões, o que pode melhorar a disponibilidade se uma região ficar offline. Para obter mais informações, consulte Suporte a várias regiões. Nesta topologia, implante um gateway de aplicativo para cada região porque o Gateway de Aplicativo é 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, confira 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, confira Linha de base de segurança do Azure para Gerenciamento de API.

Sempre implemente as seguintes medidas de segurança:

Otimização de custos

A Otimização de Custos concentra-se em maneiras 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 design parade Otimização de Custos.

O custo dessa arquitetura depende de vários aspectos de configuração:

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

  • 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: Implantações de várias regiões incorrem em custos de transferência entre regiões.

  • Processamento de WAF: Os custos dependem do número de solicitações e regras avaliadas.

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

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

Excelência operacional

A Excelência operacional abrange os processos de operações que implantam uma aplicação e as mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.

Implementar monitoramento e observabilidade abrangentes:

Eficiência de desempenho

A Eficiência de Desempenho refere-se à capacidade da carga de trabalho de dimensionar para atender às demandas do usuário com eficiência. Para obter mais informações, consulte Lista de verificação de design parade Eficiência de Desempenho.

O Gateway de Aplicativo serve como o ponto de entrada para essa arquitetura e o recurso firewall do aplicativo Web do Azure requer poder de processamento para cada análise de solicitação. Para permitir que o Gateway de Aplicativo expanda sua capacidade computacional sob demanda, habilite o dimensionamento automático. Para obter mais informações, consulte Dimensionamento automático e redundância de zona no Gateway de Aplicativo. Siga as recomendações de documentação do produto para a configuração de infraestrutura do Gateway de Aplicativo, incluindo o dimensionamento adequado da sub-rede. Essa abordagem garante que a sub-rede seja grande o suficiente para dar suporte à expansão total.

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

Próximas etapas

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