"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Mover segredos codificados para um Secrets Manager

Mover segredos codificados para um Secrets Manager

Publicado em 2024-11-03
Navegar:109

Move hardcoded secrets to a Secrets Manager

Um gerenciador de segredos é uma ferramenta para armazenar e gerenciar suas senhas, chaves de API, credenciais de banco de dados e outros tipos de dados confidenciais que seu aplicativo exige.

Segredos codificados em códigos-fonte de aplicativos ou armazenados em arquivos de texto simples para consumo de seus códigos podem ser explorados por entidades mal-intencionadas que podem inspecionar os aplicativos ou componentes em seu sistema. Este risco pode ser mitigado com gerenciadores de segredos.

dotenv-vault

dotenv-vault é um desses gerenciadores de segredos que fornece uma alternativa mais segura para colocar seus segredos em código.

[!Observação]
Este não é um tutorial sobre como usar dotenv-vault. O objetivo deste documento é explicar como um gerenciador de segredos pode ajudar os desenvolvedores a evitar codificar segredos ou armazená-los em arquivos de texto simples. Você pode aprender como começar a usar dotenv-vault aqui.

Digamos que eu tenha informações confidenciais sobre um personagem específico do filme Star Wars: Episódio V e quero que meu programa use essas informações.

def spoiler():
    spoiler = "Darth Vader is Luke Skywalker's father"
    return { "spoiler": spoiler }

Em vez de codificar as informações, eu as escreveria como uma variável de ambiente no arquivo .env:

SPOILER="Darth Vader is Luke Skywalker's father"

Com dotenv-vault, meu programa é capaz de acessar informações confidenciais usando a variável de ambiente.

import os
from dotenv_vault import load_dotenv

load_dotenv() # Take environment variables from .env

def spoiler():
    spoiler = os.getenv("SPOILER") # Get the secret
    return { "spoiler": spoiler }

Em seguida, criptografo a variável de ambiente sincronizando o arquivo .env. Assim que a sincronização for concluída, dados conhecidos como DOTENV_KEY podem ser gerados. Esta saída pode ser lida pelo meu programa como uma variável de ambiente em produção.

DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production' python main.py

Como resultado, meu aplicativo de produção consegue acessar o segredo.

{ "spoiler": "Darth Vader is Luke Skywalker's father" }

Escolha o Secrets Manager certo para você

Há uma variedade de soluções de gerenciamento de segredos disponíveis. Cada gerenciador de segredos vem com seu próprio conjunto de prós e contras. Escolha a opção que melhor atende aos requisitos da sua organização.

Lista de gerenciadores de segredos alternativos:

  1. Infiscal
  2. Doppler
  3. Cofre HashiCorp
  4. Gerenciador de segredos da AWS
  5. Cofre de Chaves do Azure
Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/kjt/move-hardcoded-secrets-to-a-secrets-manager-2bmc?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3