1

在 Windows 本地网络上,我有一个 MySql 数据库、几个客户端应用程序(仅查询数据库)和一个定期填充数据库的 Windows NT 服务。我正在寻找存储数据库凭据的最佳方式,以便所有应用程序都可以访问数据库。对于客户端应用程序(由普通用户运行),我将凭据存储在 Windows 凭据管理器中,据我所知,该凭据仅对特定用户可见。

我的问题是:最好将 MySql 凭据存储在哪里,以便 Windows 服务可以访问数据库?

在此先感谢,尼古拉斯

4

2 回答 2

1

LsaStorePrivateData和LsaRetrievePrivateData函数是存储和检索秘密的相当简单的方法以这种方式存储的数据只能由对机器具有管理访问权限的人检索。这并不能提供 100% 的保护,但是(假设没有错误并且加密算法没有被破坏)如果必须由系统服务在没有人工干预的情况下检索秘密,则保护在逻辑上是尽可能好的。

LsaStorePrivateData 没有内置的 GUI。您将需要编写一些代码来使用此函数来保存 MySql 凭据。(但是,此代码可以与系统服务位于同一可执行文件中,并通过命令行选项访问。)

于 2012-08-27T03:43:35.893 回答
0

该服务也以用户身份运行,那么为什么不能使用相同的方法呢?这假设该服务作为其自己的用户或其他一些安全帐户运行。

于 2012-08-27T02:10:59.427 回答