存储Windows(NT)服务使用的密码

时间:2012-08-27 02:02:02

标签: mysql windows service passwords credentials

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

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

提前谢谢, 尼古拉斯

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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