"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Mover secretos codificados a un administrador de secretos

Mover secretos codificados a un administrador de secretos

Publicado el 2024-11-03
Navegar:135

Move hardcoded secrets to a Secrets Manager

Un administrador de secretos es una herramienta para almacenar y administrar sus contraseñas, claves API, credenciales de bases de datos y otros tipos de datos confidenciales que requiere su aplicación.

Los secretos codificados en los códigos fuente de las aplicaciones o almacenados en archivos de texto sin formato para que los consuman sus códigos pueden ser explotados por entidades maliciosas que pueden inspeccionar las aplicaciones o los componentes de su sistema. Este riesgo se puede mitigar con administradores de secretos.

bóveda dotenv

dotenv-vault es uno de esos administradores de secretos que proporciona una alternativa más segura a poner tus secretos en código.

[!Nota]
Este no es un tutorial sobre el uso de dotenv-vault. El objetivo de este documento es explicar cómo un administrador de secretos puede ayudar a los desarrolladores a evitar codificar secretos o almacenarlos en archivos de texto sin formato. Puede aprender cómo comenzar con dotenv-vault aquí.

Digamos que tengo información confidencial sobre un personaje en particular de la película Star Wars: Episodio V y quiero que mi programa use esa información.

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

En lugar de codificar la información, la escribiría como una variable de entorno en el archivo .env:

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

Con dotenv-vault, mi programa puede acceder a información confidencial utilizando la variable de entorno.

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 }

Luego cifro la variable de entorno sincronizando el archivo .env. Una vez que se completa la sincronización, se pueden generar datos conocidos como DOTENV_KEY. Mi programa puede leer este resultado como una variable de entorno en producción.

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

Como resultado, mi aplicación de producción puede acceder al secreto.

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

Elija el administrador de secretos adecuado para usted

Hay una variedad de soluciones de gestión de secretos disponibles. Cada administrador de secretos tiene sus propios pros y contras. Elija la opción que mejor se adapte a los requisitos de su organización.

Lista de administradores de secretos alternativos:

  1. Infiscal
  2. Doppler
  3. Bóveda de HashiCorp
  4. Administrador de secretos de AWS
  5. Bóveda de claves de Azure
Declaración de liberación Este artículo se reproduce en: https://dev.to/kjt/move-hardcoded-secrets-to-a-secrets-manager-2bmc?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3