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.
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" }
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:
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