Priorize a segurança da API - Arquiteturas multicamada sem servidor da AWS com o Amazon API Gateway e o AWS Lambda

Priorize a segurança da API

Todas as aplicações devem garantir que somente clientes autorizados tenham acesso aos seus recursos de API. Ao projetar uma aplicação de várias camadas, você pode aproveitar várias formas diferentes oferecidas pelo Amazon API Gateway para proteger sua camada lógica:

Segurança de trânsito

Todas as solicitações para suas APIs podem ser feitas por meio de HTTPS para habilitar a criptografia em trânsito.

O API Gateway fornece certificados SSL/TLS integrados, se estiver usando a opção de nome de domínio personalizado para APIs voltadas ao público, você poderá fornecer seu próprio certificado SSL/TLS por meio do AWS Certificate Manager. O API Gateway também oferece suporte à autenticação TLS mútua (MTLs). O TLS mútuo aumenta a segurança da sua API e ajuda a proteger seus dados contra ataques como falsificação de clientes ou ataques MITM.

Autorização de API

Cada combinação de recurso/método que você cria como parte da sua API recebe um nome do recurso da Amazon (ARN) exclusivo que pode ser referenciado em políticas AWS Identity and Access Management (IAM).

Existem três métodos gerais para adicionar autorização a uma API no API Gateway:

  • Funções e políticas do IAM: os clientes usam a autorização do AWS Signature versão 4 (SIGv4) e as políticas do IAM para acesso à API. As mesmas credenciais podem restringir ou permitir o acesso a outros recursos e serviços da AWS conforme necessário (por exemplo, buckets do Amazon S3 ou tabelas do Amazon DynamoDB).

  • Grupos de usuários do Amazon Cognito: os clientes fazem login por meio de um grupo de usuários do Amazon Cognito e obtêm tokens, que estão incluídos no cabeçalho de autorização de uma solicitação.

  • Autorizador do Lambda: defina uma função do Lambda que implemente um esquema de autorização personalizado que usa uma estratégia de token de portador (por exemplo, OAuth e SAML) ou usa parâmetros de solicitação para identificar usuários.

Restrições de acesso

O API Gateway oferece suporte à geração de chaves de API e à associação dessas chaves a um plano de uso configurável. Você pode monitorar o uso da chave de API com o CloudWatch.

O API Gateway é compatível com controle de utilização, limites de taxa e de taxa de intermitência para cada método em sua API.

APIs privadas

Com o Amazon API Gateway, é possível criar APIs REST privadas que só podem ser acessadas de sua nuvem privada virtual no Amazon VPC usando um endpoint da VPC da interface. Essa é uma interface de rede de endpoint que você cria em sua VPC.

Com as políticas de recursos, é possível permitir ou negar o acesso à sua API de algumas VPCs e endpoints de VPC, incluindo nas contas da AWS. Cada endpoint pode ser usado para acessar várias APIs privadas. Você também pode usar o AWS Direct Connect para estabelecer uma conexão a partir de uma rede no local para o Amazon VPC e acessar sua API privada nessa conexão.

O tráfego para a API privada sempre usa conexões seguras e não deixa a rede da Amazon; ele é isolado da Internet pública.

Proteção de firewall com o AWS WAF

As APIs voltadas para a Internet são vulneráveis a ataques maliciosos. O AWS WAF é um firewall de aplicação Web que ajuda a proteger as APIs desses ataques. Ele protege as APIs de explorações comuns da Web, como injeção de SQL e ataques de desenvolvimento de scripts multiplataforma. Você pode usar o AWS WAF com o API Gateway para ajudar a proteger APIs.