Pular para o conteúdo principal

Autenticação

Toda requisição exige o header x-api-key com a chave de API.

x-api-key: <sua-chave>

Como funciona (dupla validação)

  1. API Gateway valida o x-api-key contra a chave do usage plan. Se faltar ou estiver errada, devolve 403 Forbidden antes de chegar na Lambda.
  2. Handler revalida o mesmo segredo (lido do AWS Secrets Manager) com comparação de tempo constante. Se não bater, devolve 401 {"error":"nao autorizado"}.

É o mesmo segredo nos dois lados (defense in depth). Não há SigV4 — só o header.

Como obter a chave

A chave é gerada pelo Terraform e guardada no Secrets Manager. Recupere com:

cd athena-query-lambda/terraform
terraform output -raw api_key

:::warning Nunca versione a chave Não comite a chave nem cole em tickets/chats. No Rails ela fica em ATHENA_LAMBDA_API_KEY (credentials/ENV). Esta documentação nunca distribui a chave — peça ao time de infraestrutura. :::

Rotação

A mesma random_password é usada no API Gateway e no Secrets Manager. Ao rotacionar, troque nos dois (re-aplicar o Terraform faz isso) e atualize o consumidor.

Exemplo

curl -s 'https://mhysmr3rl9.execute-api.us-east-1.amazonaws.com/prod/?query=csps&inicio=2026-06-01&fim=2026-06-17' \
-H 'x-api-key: SUA_CHAVE_AQUI'