API Security

Gateway de API

Os gateways de API são proxies de API colocados entre o Provedor de API e o Consumidor de API. Em sua essência, um gateway de API é uma fachada que fornece uma interface de API para seu subsistema complexo.

Um gateway de API é uma programação que fica na frente de uma API e é o ponto de entrada único para APIs e microsserviços de back-end definidos (que podem ser internos e externos). O gateway atua como um protetor, reforçando a segurança e garantindo escalabilidade e alta disponibilidade. Para simplificar, o gateway de API recebe todas as solicitações de API de um cliente, determina quais serviços são necessários e os combina em uma experiência unificada e perfeita para o usuário.

As “APIs de front-end” atuam como a “porta da frente” para todos os seus aplicativos que têm acesso a dados, lógica de negócios ou funcionalidade de seus serviços de back-end. Ele dissocia a interface que seus clientes veem (neste caso, consumidores de API que podem ser aplicativos móveis, thin clients) da implementação subjacente real.

Por que você precisa de um gateway de API?

As APIs tornaram-se uma necessidade estratégica para as empresas. Elas facilitam a agilidade, integração e inovação. Então, você expõe uma API para integrar e tudo funciona bem, certo?

Bem, na verdade não. As APIs que você expõe interna e externamente fornecem informações muito valiosas. Portanto, existem várias preocupações sobre segurança, disponibilidade, ameaças e monitoramento.

O Gartner previu que os abusos de API seriam o vetor de ataque mais frequente para violações de dados de aplicativos da web corporativos, em 2022. E analistas descobriram em um novo relatório que “APIs não gerenciadas e não seguras criam vulnerabilidades que podem acelerar incidentes de segurança multimilionários”.

Então, o que você faz? Você investe no gateway de API certo para garantir que as coisas que acontecem fora de sua empresa não estejam prejudicando as coisas dentro de sua empresa.

Além disso, uma API é inútil a menos que seja entregue com qualidade consistente – e alguém realmente a use. Um gateway é fundamental para ajudar a garantir um ótimo desempenho, alta disponibilidade e escalabilidade elástica de APIs, permitindo que as empresas iniciem a entrega com serviços de suporte uniformes, incluindo gerenciamento de tráfego, transformação e integração de sistemas.

Os gateways fazem parte de uma arquitetura de API

Ao contrário do design da API, que se concentra no motivo pelo qual a API está sendo criada, o resultado e como ela será executada, a arquitetura da API, define toda a metodologia e o processo para executar e expor APIs.

Abrange o gateway de API (e como a segurança, o cache e a orquestração da API funcionarão), desenvolvendo um portal de API para análise de API, documentação de API, APIs de marketing, certificando-se de que eles funcionem com aplicativos da web/móveis e definindo como eles são expostos a parceiros e desenvolvedores de terceiros.

Ter uma arquitetura de API completa ajudará sua empresa com todo o processo de gerenciamento do ciclo de vida da API.

Os gateways de API são uma infraestrutura central

Pense em uma plataforma de gateway de API como um servidor de aplicativos, mas para APIs. Ele é visto como o ambiente de tempo de execução da API e fornece estes serviços principais:

  • Segurança da API
  • Conectividade do protocolo API
  • Virtualização de API
  • Escalabilidade e elasticidade da API
  • Alta disponibilidade
  • Capacidade de gerenciamento
  • Simplicidade de desenvolvimento

Como a infraestrutura principal da API é fornecida, os desenvolvedores podem se concentrar em fornecer a lógica do aplicativo e não precisam mais criar esses serviços em seu aplicativo.

Ao atuar como uma interface central para clientes que usam APIs, um gateway de API atua como a única porta de entrada em um sistema, permitindo que várias APIs ou microsserviços atuem de forma coesa e forneçam uma experiência uniforme aos seus usuários. Então, um gateway de API desempenha um papel importante para garantir o processamento confiável de cada chamada de API.

Como o diagrama mostra, todas as suas políticas devem ser aplicadas no gateway de API — não depende de suas APIs de back-end e de seus aplicativos de front-end para criar o nível certo de segurança para proteger suas APIs. Todos os seus desafios de segurança de API podem e devem ser delegados ao gateway de API porque você não precisa escrever nenhum código, é tudo uma questão de configuração.

Quem é responsável pela plataforma e como ela é administrada?

Existem duas equipes responsáveis ​​pelo gerenciamento da plataforma: a equipe de operações e a equipe de arquitetura. O time de operações lida com o gerenciamento de tempo de execução do tráfego de mensagens, logs, alertas e alta disponibilidade. Os arquitetos de segurança e sistemas definem e gerenciam a política de tempo de design, que determina o comportamento da plataforma de gateway de API.

Há cinco estágios principais em um ciclo de vida de administração do gateway de API:

  1. Planejamento de um sistema de gateway de API;
  2. Instalação dos componentes do gateway de API;
  3. Configuração do domínio;
  4. Operação e gerenciando do gateway de API;
  5. Atualização do gateway de API.

Aspectos-chave que todo gateway de API deve abordar

Aqui estão alguns recursos essenciais para procurar em uma solução de gateway de API.

1. Segurança da API

O controle de acesso é o driver de segurança número um para uma tecnologia de gateway de API. Ele serve como uma espécie de governador, para que uma organização possa gerenciar quem pode acessar uma API e estabelecer regras sobre como as solicitações de dados são tratadas. Autenticação e Autorização são de importância primordial.  Dave McKenna compartilha uma ótima analogia de um filme favorito que explica os recursos de um gateway de API .

Um gateway de API deve garantir que apenas usuários autenticados possam acessar as APIs de back-end, fornecendo uma camada de autenticação. O gateway de API deve ser capaz de se integrar a provedores de autenticação existentes e personalizados, garantindo que as APIs de back-end não precisem implementar essa lógica e que quaisquer alterações nos esquemas de autenticação não exijam alterações no back-end.

Uma vez autenticado, o gateway da API autoriza “a que” o usuário autenticado tenha acesso. Com essa autorização, um gateway de API deve ser capaz de abstrair complexidades comuns de APIs de back-end. Isso evita que a API de back-end tenha que manter essa lógica e quaisquer alterações subsequentes nela.

Um gateway de API deve ser capaz de trabalhar com mecanismos de autorização existentes. Ele também deve ser capaz de fornecer direitos de acesso gerenciados centralmente e refinados para cada método individual de uma API.

Em poucas palavras, a segurança da API é sobre autenticação e autorização. A implementação efetiva de um gateway “deve ser capaz de absorver tudo isso, para que os serviços de back-end não precisem mais lidar com autorização”. Isso simplifica a configuração de regras de acesso e, potencialmente, lida com lógica de autorização complexa.

2. Limitação de Taxa

Um gateway de API deve ajudar a reduzir a carga nas APIs de back-end e evitar o uso indevido. A limitação de taxa fornece acesso restrito a APIs, permitindo apenas um determinado número de solicitações. Ao expor APIs a consumidores terceiros, isso também pode fornecer um fluxo de receita, abrindo as possibilidades de limites de taxas mais altos.

3. Monitoramento e registro de API

Um gateway de API deve fornecer monitoramento padrão em todas as APIs e ter a capacidade de rastrear solicitações/tempo de resposta, SLA etc. Ele deve ser capaz de se integrar a uma solução de monitoramento completa para ajudar a rastrear essas informações.

Como fica entre os consumidores e as APIs, os gateways de API devem fornecer recursos de registro padrão e ajudam a fornecer recursos de registro unificado para todas as APIs. Para ajudar a analisar várias APIs juntas, o gateway deve ser capaz de fornecer um ID de correlação em seus cabeçalhos de solicitação, portanto, APIs de back-end e aplicativos de front-end também podem incluir esse ID em suas atividades de registro.

4. Proteção contra ameaças

As APIs são os gateways para as empresas se conectarem digitalmente com o mundo. Infelizmente, existem usuários mal-intencionados por aí, esperando para obter acesso aos sistemas de back-end corporativos. Um gateway de API precisa fornecer proteção contra ameaçashackers, malware e/ou invasores anônimos em potencial para evitar ataques DDoS ou SQL Injection, entre outros.

5. Transformação da API

Um gateway de API deve fornecer os recursos para transformar cargas úteis de solicitações/respostas. À medida que as organizações migram de uma arquitetura estruturada em SOAP, baseada em legado, para uma arquitetura baseada em REST mais moderna e precisam de uma estratégia de tempo de comercialização rápida, a transformação da carga útil se torna um componente integral desse requisito.

6. Dimensionamento

Como o gateway de API fica entre os consumidores e as APIs de back-end, ele também está na posição exclusiva para determinar qualquer atividade alta ou baixa com base no monitoramento ativado. Mesmo que não se espere que o gateway forneça dimensionamento automático pronto para uso, ele deve ser capaz de se integrar a serviços que fornecem esse recurso.

Um gateway de API deve suportar escalabilidade e alta disponibilidade, balanceamento de carga, estado compartilhado sem comprometer o desempenho. Ele deve fornecer escalabilidade linear e tolerância a falhas em hardware ou infraestrutura em nuvem para dados de missão crítica. Ele também deve oferecer suporte à replicação em vários data centers e fornecer menor latência para seus consumidores.

À medida que o mercado de APIs amadurece, cresce também o aumento das violações de segurança. Como tomadores de decisão, você quer garantias de que a exposição de dados corporativos por meio de APIs não criará riscos indevidos. O gateway de API oferece a capacidade de publicar APIs com segurança de maneira automatizada, garantindo alta disponibilidade para que os desenvolvedores possam encontrá-las e usá-las de maneira rápida e fácil para fornecer valor comercial à sua organização, garantindo integridade e confidencialidade.