Executando verificação de segurança...
1

[Duvida/Ajuda] Como proteger APIs do dados sensiveis ?

Usando Flask para fazer uma consulta em um banco de dados MSQL, e disponibilizando uma URL com dados disponibilizados em JSON.
Essa URL será externa, mesmo que a consulta sendo privada, preciso implementar algo que dados não fiquem tão abertos assim.
Alguém com algum case de sucesso ?
Algum link do youtube pronto ? rsrs
Grande abraço !

1

Não tenho certeza se é o seu caso, mas eu normalmente usaria autenticação com JWT (Json web token).

O JWT consistem em gerar um token assinado (é diferente de criptografado), enviar o token com a requisição pelo header e validar esse token no backend.

Tem muito material na internet ensinando a trabalhar com JWT. Valhe a pena dar uma olhada pra ver se é o seu caso de uso.

1

E se eu usasse uma APIKEY para autenticação? recomenda?
estou desenvolvendo uma API que contém um endpoint, essa API será acessada exatamente por uma único "cliente", e para autenticação estava pensando em usar uma APIKey

1

É mais simples, mas funciona.

Nessa situação eu particularmente ainda usaria as ideias do JWT, mesmo sendo só pra 1 cliente/usuário.

Como é pra apenas 1 usuário, usar "Basic Auth" tbm funciona.

Uma coisa importante tbm, mas aí talvez não seja da sua responsabilidade é entender como seu cliente vai fazer essas requisições. Se ele fizer requisição do lado do frontend (por um site), qualquer um com mais conhecimento vai conseguir ver e talvez usar o token.

1
1

Assim como comentaram, recomendaria o JWT, por ser de certa maneira "simples" e seguro o suficiente para a maioria das aplicaçÕes.

Mas não esquece de dar uma pesquisada sobre autenticação e autorização, são coisas diferentes. Autenticação é similar a "quem você é", já autorização "o que você pode fazer".

Dependendo da complexidade do seu caso, seria necessário implementar autorização para apenas um grupo de usuários autorizados acessarem.