Boas Práticas de API e Segurança
Advocacia de segurança de linha de base para serviços HTTP em Python.
Como Usar Esta Lista
- Revise durante revisões de design e antes de implantações em produção.
- Converta falhas repetidas em políticas de CI automatizadas, sempre que possível.
- Reavalie após atualizações menores do framework.
Transporte
- HTTPS em produção.
- Termine TLS no proxy com suítes de cifras modernas.
- Defina HSTS para clientes do navegador.
Autenticação
- Autentique todas as rotas protegidas.
- Use tokens de acesso de curta duração e rotação de refresh.
- Faça hash de senhas com argon2 ou bcrypt.
Entrada
- Valide e sanitize na fronteira.
- Parametrize SQL; evite composição de strings de shell.
- Limite os tamanhos de payload no proxy e no aplicativo.
Operações
- Execute pip-audit ou uv audit em CI.
- Armazene segredos em cofres, não em git.
- Registre eventos de segurança sem valores sensíveis.
FAQs
Quando devo adotar a linha de base de segurança de API?
Use-a quando os padrões e trade-offs desta página corresponderem à sua API ou limite de dados.
Qual é o principal erro de produção com a linha de base de segurança de API?
Pular validação, timeouts ou contratos de erro explícitos na borda HTTP.
Como testo a linha de base de segurança de API?
Use o cliente de teste do framework, substitua dependências e afirme o status mais a forma JSON.
A linha de base de segurança de API funciona com Python 3.14?
Sim - os exemplos visam Python 3.14 com versões de framework fixadas do rodapé da pilha.
Como a linha de base de segurança de API se relaciona com Pydantic 2?
Valide e serialize nas fronteiras; mantenha os serviços funcionando com objetos de domínio tipados.
Sincronizado ou assíncrono?
Prefira rotas assíncronas quando I/O domina; mantenha o trabalho da CPU pequeno ou descarregue para workers.
Onde a lógica de negócios deve residir?
Handlers finos; serviços possuem regras; repositórios possuem consultas.
Como documento APIs?
Publique documentação OpenAPI ou de esquema que corresponda aos modelos de resposta no código.
Como lido com versionamento?
Versionamento explícito de URL ou cabeçalho com janelas de depreciação - evite quebras silenciosas.
O que devo ler a seguir?
Siga os links Relacionados para a próxima camada de profundidade nesta seção.
Como me mantenho seguro?
Autentique chamadores, autorize por recurso, limite a taxa e nunca registre segredos.
Primeiro passo de desempenho?
Meça a latência do DB e de upstream antes de trocar frameworks.
Relacionados
- Noções Básicas de Design de API - Convenções REST
- OAuth2 & JWT - Fluxos de token
- Gerenciamento de Segredos - Env e cofres
- Validação de Entrada e Injeção - Defesas
Versões da pilha: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ e uv 0.6+.