Como faço para proteger minhas chaves de API de aparecerem nos resultados da pesquisa?

Como faço para proteger minhas chaves de API de aparecerem nos resultados da pesquisa?

Nó Fonte: 2726143

Pergunta: Como evito que minhas chaves de API se tornem parte da pesquisa do GitHub de outra pessoa?

Responda: Armazenar chaves de API diretamente em seu código geralmente não é recomendado devido aos possíveis riscos de segurança. Se o seu código for compartilhado ou tornar-se publicamente acessível, qualquer pessoa que veja a chave de API poderá usá-la, podendo levar a abuso ou violação de segurança.

Existem várias maneiras de armazenar chaves de API com segurança:

  • Variáveis ​​ambientais: Você pode armazenar chaves de API em variáveis ​​de ambiente em sua máquina e, em seguida, acessar essas variáveis ​​de seu código. Este método tem a vantagem de manter as chaves fora do seu código (elas ficam no ambiente onde o código roda). Isso também significa que as chaves podem ser diferentes para diferentes ambientes, como sua máquina local, um servidor de desenvolvimento, um servidor de produção etc.
  • Arquivos de configuração: Você também pode armazenar chaves de API em um arquivo de configuração separado que não está incluído em seu repositório de código. Este arquivo deve ser adicionado ao seu .gitignore arquivo para evitar que ele seja confirmado em seu repositório. Certifique-se de adicionar permissões de nível de arquivo apropriadas a este arquivo de configuração para impedir o acesso não autorizado. Em seu código, você leria as chaves de API desse arquivo.
  • Sistemas de gerenciamento de segredos: Para aplicativos maiores ou dados mais confidenciais, você pode considerar o uso de um sistema de gerenciamento de segredos. Essas são ferramentas especializadas, como AWS Secrets Manager, HashiCorp's Vault e Google's Secret Manager, que ajudam a gerenciar o acesso a segredos como chaves de API.
  • Serviços de configuração específicos do ambiente: Plataformas como Heroku e Netlify possuem recursos ou serviços específicos para configuração de variáveis ​​de ambiente, que podem ser usadas para armazenar chaves de API.
  • Armazenamento criptografado: Se precisar armazenar as chaves de API em um banco de dados ou outro sistema de armazenamento, você deve criptografá-las. Desta forma, mesmo que alguém obtém acesso ao sistema de armazenamento, eles não poderão usar as chaves sem a chave de criptografia.

Vamos dar uma olhada em como implementar as duas primeiras, a menor sobrecarga dessas soluções, em codificação segura. Usei Python como linguagem de exemplo para isso, embora qualquer linguagem tenha conceitos semelhantes. A vantagem do Python é sua simplicidade e facilidade de uso, que junto com seus formidáveis ​​recursos de manipulação de dados o tornam ideal para a maioria dos usos.

Para usar variáveis ​​de ambiente para armazenar chaves de API

As variáveis ​​de ambiente permitem que você armazene informações confidenciais, como chaves de API, fora de seu código-fonte. Eles são acessíveis ao aplicativo durante o tempo de execução e podem ser facilmente configurados em diferentes ambientes (por exemplo, desenvolvimento, preparação e produção).

Primeiro, defina a variável de ambiente em seu sistema ou a plataforma em que seu aplicativo está sendo executado. Em um sistema baseado em Unix, você pode definir uma variável de ambiente usando o exportar comando:

% exportação API_KEY=

Em seguida, acesse a variável de ambiente no código do seu aplicativo. Por exemplo, em Python, você pode acessar o valor de uma variável de ambiente usando o os módulo:

% python import os api_key = os.environ['API_KEY']

Para usar arquivos de configuração externos para armazenar chaves de API

Outra maneira de o desenvolvedor iniciante ou cientista de dados armazenar chaves de API é por meio de arquivos de configuração externos. Estes podem ser muito úteis; no entanto, você deve excluí-los do repositório usando .gitignore ou o equivalente.

Primeiro, crie um arquivo de configuração, como config.jsone armazene a chave de API nele:

json { "api_key": " " }

Em seguida, adicione o arquivo de configuração ao seu projeto .gitignore (ou equivalente) para garantir que não seja rastreado pelo seu sistema de controle de versão.

Por fim, carregue o arquivo de configuração no código do seu aplicativo para acessar a chave de API. Por exemplo, em Python, você pode carregar um arquivo de configuração JSON e acessar a chave API assim:

importar json com open('config.json') como f
config = load(f) api_key = config['api_key']

Bloqueie suas APIs

Usando variáveis ​​de ambiente ou arquivos de configuração externos, você pode proteja suas chaves de API contra exposição acidental, simplificam o gerenciamento de informações confidenciais e facilitam a manutenção de diferentes configurações para vários ambientes. Você deve impor controles de acesso adequados nas variáveis ​​de ambiente e nos arquivos de configuração para impedir o acesso não autorizado.

À medida que seu projeto cresce em complexidade (e importância), pode ser aconselhável mudar para plataformas com capacidade inata, como sistemas de gerenciamento de segredos ou serviços de configuração específicos do ambiente para armazenar itens confidenciais. No entanto, essas soluções rápidas ajudam você a começar com mais segurança.

Carimbo de hora:

Mais de Leitura escura