Pular para o conteúdo principal

Proteger as Chaves de API em uma aplicação Python

desenho cadeado de segurança

Explicando o Problema

Em diversas aplicações, precisamos utilizar chaves de acesso a serviços de API. Essas chaves são privadas e não devem ser expostas ao público, pois, caso caiam em mãos erradas, podem causar prejuízos financeiros, vazamento de dados ou até bloqueio dos serviços.

No desenvolvimento de aplicações localmente, esse risco é menor. Porém, quando utilizamos plataformas de versionamento de código, como o GitHub, é fundamental garantir que essas chaves não sejam enviadas para o repositório público ou compartilhado.

Como Proteger as Chaves Utilizando o Arquivo config.py

Uma forma simples e prática de proteger as chaves de API é utilizando um arquivo config.py para armazenar essas informações sensíveis. Esse arquivo não deve ser versionado, evitando que as chaves sejam expostas no repositório remoto.

Exemplo de config.py

	 
api_key = "SUA_KEY" base_url = "SUA_URL_BASE" 

Utilizando as Variáveis na Aplicação

Para utilizar essas variáveis dentro da sua aplicação, basta realizar a importação do módulo config e acessar as variáveis conforme o exemplo abaixo:

	 
import config 

client = OpenAI(api_key=config.api_key, base_url=config.base_url) 

Configurando o Arquivo .gitignore

Para garantir que o arquivo config.py não seja enviado ao repositório, é necessário adicioná-lo ao arquivo .gitignore. Dessa forma, o Git irá ignorá-lo durante os commits.

	 
# Configurações locais 
config.py 

⚠️ Atenção: Essa abordagem é válida para ambientes locais, testes ou pequenos projetos. Para aplicações em produção, ambientes colaborativos ou que envolvam múltiplos desenvolvedores, o mais recomendado é utilizar variáveis de ambiente ou gerenciadores de segredos.

Conclusão

Manter as chaves de API seguras é uma prática essencial no desenvolvimento de software. Utilizar um arquivo config.py ignorado pelo .gitignore é uma solução prática.

Comentários

Postagens mais visitadas deste blog

Gerenciando Dependências no Python com requirements.txt

O que é o Pip? O Pip  (Package Installer for Python) é o gerenciador de pacotes do Python. Ele permite instalar, atualizar e remover bibliotecas e dependências de forma prática, garantindo que seu ambiente esteja sempre configurado corretamente. Como gerar um arquivo requirements.txt? Quando trabalhamos em projetos Python, muitas vezes precisamos garantir que todas as dependências necessárias estejam instaladas. Para facilitar essa gestão, podemos gerar um arquivo requirements.txt que contém a lista de pacotes e versões utilizadas no ambiente. Para gerar esse arquivo, execute o seguinte comando no terminal: pip freeze > requirements.txt Esse comando captura todas as bibliotecas instaladas no ambiente e as salva no arquivo requirements.txt . Geralmente trabalhamos com um ambiente virtual, o que é uma boa prática. Como instalar dependências a partir do requirements.txt? Se você precisa configurar um novo ambiente ou compar...

Python, como realizar conexão com Banco de Dados

Python, como realizar conexão com Banco de Dados O que é o PyODBC? No desenvolvimento de software, é comum a necessidade de acessar dados de fontes externas. Geralmente, esse acesso é realizado por meio de uma conexão com um banco de dados. No Python, existem diversas formas de estabelecer essa conexão, e uma delas é utilizando a biblioteca PyODBC. O PyODBC é um projeto open source que permite a conexão com bancos de dados utilizando a interface ODBC (Open Database Connectivity). Essa abordagem facilita a integração de aplicações Python com diversos sistemas de gerenciamento de bancos de dados, como SQL Server, MySQL, PostgreSQL, Oracle, entre outros, desde que o driver ODBC apropriado esteja instalado. Este artigo pode ser relacionado ao nosso artigo anterior sobre Pandas [link] , pois podemos utilizar essa conexão com o banco de dados para transferir os registros de uma tabela diretamente para um DataFrame do Pandas. No exemplo deste artigo, utilizaremos a mesm...

Como Vencer a Procrastinação e Estudar Tecnologia com Foco (Serve Para Qualquer Tema!)

Como Vencer a Procrastinação e Estudar Tecnologia com Foco O tópico sobre estudar de forma eficiente sempre foi um interesse meu. Trabalhando na área de tecnologia essa necessidade aumentou, pois a área está em constante mudança e precisamos nos manter atualizados. A inspiração para escrever um artigo sobre esse tema veio de uma leitura recente, o livro Ultra-aprendizado , do autor Scott Young. O tema do livro é sobre como estudar de forma eficiente, no capítulo 5 o autor mostra estratégias para resolver problemas comuns durante uma sessão de estudos e um dos problemas tratados é a procrastinação. Durante a leitura deste livro eu fiz várias correlações com outro livro que li, o livro Hábitos Atômicos , do autor James Clear. A intenção deste artigo não é taxar pessoas como preguiçosas. No mundo em que vivemos a quantidade de tempo disponível para o lazer e estudo não é igual para todos os indivíduos, algumas pessoas simplesmente não têm tempo para dedicar aos estudos. Este artig...