Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Baixe um Arquivo Visio dessa arquitetura.
Workflow
O Gateway de Aplicativo recebe solicitações HTTPS que o NSG (grupo de segurança de rede) da sub-rede permite.
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á.
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.
O Gateway de Aplicativo aceita e faz proxies de chamadas internas de recursos na mesma rede
api.<some-domain>/internal/*virtual do Azure em .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:
Use as políticas de Firewall do Aplicativo Web do Azure com o CRS (Open Web Application Security Project) core set (CRS) 3.2 ou mais recente para proteger contra vulnerabilidades comuns da Web, incluindo as 10 principais ameaças do OWASP.
Configure regras personalizadas de geomatch do WAF para bloquear ou permitir o tráfego com base na localização geográfica. Essa abordagem fornece alguma proteção contra ataques de DDoS.
Habilite a proteção contra DDoS do aplicativo (Camada 7) usando o Firewall do Aplicativo Web do Azure com o Gateway de Aplicativo para proteger contra ataques baseados em protocolo e volume. Combine a Proteção contra DDoS do Azure com práticas de design de aplicativo para aprimorar os recursos de mitigação de DDoS.
Use pontos de extremidade privados para o Gerenciamento de API para fornecer conectividade de entrada segura.
Habilite o Microsoft Defender para APIs para monitorar a postura de segurança da API e detectar ameaças.
Configure as regras de proteção de bot do WAF para identificar e bloquear bots mal-intencionados.
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:
Use a camada de consumo do Gerenciamento de API para cargas de trabalho variáveis de baixo uso em que você paga apenas pelo uso real.
Implemente o dimensionamento automático do Gateway de Aplicativo para otimizar as contagens de instâncias com base na demanda.
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:
Configure o diagnóstico de Gerenciamento de API para enviar logs ao Azure Monitor para que você possa usar o Log Analytics para análise detalhada de API.
Configure o diagnóstico do Gateway de Aplicativo para monitorar eventos waf e métricas de desempenho.
Implemente alertas de Gerenciamento de API para limites de disponibilidade e desempenho de API.
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:
Habilite o dimensionamento automático do Gerenciamento de API para responder automaticamente ao aumento dos volumes de solicitação.
Use políticas de cache do Gerenciamento de API para reduzir a carga de back-end e melhorar os tempos de resposta.
Implemente a limitação da taxa de Gerenciamento de API para proteger os serviços de back-end contra carga excessiva.
Use as camadas Standard v2 ou Premium v2 para melhorar o desempenho e os recursos de rede.
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 .
Recursos relacionados
- Padrão de roteamento de gateway: rotear solicitações para vários serviços usando um único ponto de extremidade.
- Padrão de agregação de gateway: agregar várias solicitações em uma única solicitação.
- Padrão de descarregamento de gateway: descarregar a funcionalidade compartilhada em um gateway de API.
- Visão geral do roteamento baseado em caminho de URL
- Tutorial: Criar um gateway de aplicativo com redirecionamento baseado em caminho de URL usando a CLI do Azure