[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 !

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.

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
É 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.

Você precisa trabalhar com autenticação JWT para acesso a estes dados sensiveis e, claro, que seu servidor esteja em um ambiente https

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.