我正在寻找一种方法来在工作机器上存储数据库密码,以便我自己的应用程序可以读取它(为了连接到数据库),但没有管理权限的用户无法读取它。管理员必须可以更改密码,最好是自动更改密码。
我想到的是类似的东西 PostgreSQL的.pgpass文件 在Linux环境中。这也适用于Windows环境吗?
我认为密码文件只能供管理员访问。但是,对用户可执行的程序是否也可以访问此文件?此外,是否可以借助组策略通过网络分发此类文件?
我正在考虑的其他解决方案(可能需要付出更多努力):
- 加密密码文件。只有应用程序和管理员具有解密和更改/读取文件的有效密钥。
- 从网络资源中检索密码,也可能是加密的。
1
您可以通过安装Bitlocker encrypted.VHDX文件在Windows 8.0+中实现此目的。我不确定你提到的“应用程序”。您还可以通过在支持EFS的Windows版本上使用EFS来实现此目的。如果使用EFS,则可以以纯文本格式存储密码,因为用户配置文件中的所有文件都是加密的,只有拥有证书的用户才能访问。
—
Ramhound
@Ramhound我指的是 我自己的 我将开发的应用程序(编辑问题)。如果这是一种可行的方法,我将研究Bitlocker主题。用C#API访问它会很酷。
—
Markus L