我使用python和SQL-server管理数据库,但是我不了解有关数据库管理的“良好实践”,并且对安全信息了解很少。
在Windows中将数据库凭据保存为环境变量并通过os.environ
将其用于脚本中是否安全?像这样:
import os
DB_HOST = os.environ['DBHOST']
DB_USER = os.environ['DBUSER']
...
如何存储凭据以自动使用数据库?
答案 0 :(得分:1)
如果您问是否应该为笔记本电脑永久设置环境变量-我会避免这种情况,因为任何进程都可以很容易地在PC上列出所有环境变量和相关的存储值。< / p>
相反-我建议您检出Keyring。这将使用Windows凭据锁定器(或其他特定于操作系统的密钥环服务)。
答案 1 :(得分:1)
通常,安全的凭据存储在与您当前环境相关的.env文件中,然后从您的代码中获取。例如DB_HOST = env('DBHOST')。
基本上现在您正在做什么,但是存储在文件中(根据需要安全,可能已加密),而不是直接作为环境变量使用,因为它们可以从整个计算机访问。
答案 2 :(得分:1)