Priorize a segurança da API - Arquiteturas de vários níveis sem servidor da AWS com Amazon API Gateway e AWS Lambda

Este whitepaper é apenas para referência histórica. Alguns conteúdos podem estar desatualizados e alguns links podem não estar disponíveis.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Priorize a segurança da API

Todos os aplicativos devem garantir que somente clientes autorizados tenham acesso aos seus recursos de API. Ao projetar um aplicativo de vários níveis, você pode tirar proveito de várias maneiras diferentes pelas quais o Amazon API Gateway contribui para proteger seu nível lógico:

Segurança de trânsito

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

O API Gateway fornece SSL/TLS certificados integrados — se estiver usando a opção de nome de domínio personalizado para uso público APIs, você pode fornecer seu próprio SSL/TLS certificado usando o AWS Certificate Manager. O API Gateway também oferece suporte à autenticação TLS mútua (mTLS). O TLS mútuo aprimora a segurança da sua API e ajuda a proteger seus dados contra ataques como falsificação de clientes ou ataques intermediários. man-in-the

Autorização da API

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

Há 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 AWS serviços e recursos 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 são incluídos no cabeçalho de autorização de uma solicitação.

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

Restrições de acesso

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

O API Gateway suporta limitação, limites de taxa e limites de taxa de intermitência para cada método em sua API.

Privado APIs

Usando o API Gateway, você pode criar REST privado APIs que só pode ser acessado de sua nuvem privada virtual na Amazon VPC usando uma interface VPC endpoint. Essa é uma interface de rede de endpoint que você cria em sua VPC.

Usando políticas de recursos, você pode habilitar ou negar acesso à sua API a partir de endpoints selecionados VPCs e de VPC, inclusive em todas as contas da AWS. Cada endpoint pode ser usado para acessar vários pontos privados APIs. 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 usando o AWS WAF

As pessoas voltadas para a Internet APIs são vulneráveis a ataques maliciosos. AWS WAF é um firewall de aplicativos da web que ajuda a APIs proteger contra esses ataques. Ele APIs protege contra explorações comuns da Web, como injeção de SQL e ataques de script entre sites. Você pode usar AWS WAFcom o API Gateway para ajudar a proteger APIs.