C#Active Directory应用-如何存储服务帐户凭据?

时间:2018-08-21 19:00:13

标签: c# asp.net security authentication

我正在为一些常见的Active Directory任务创建Web前端。我打算将服务帐户凭据存储在数据库中,以便最终用户可以更改它们。需要将密码传递给AD时,如何安全地存储密码?

1 个答案:

答案 0 :(得分:0)

您需要支持不同的域/使用不同的帐户访问AD吗?

如果否,建议不要存储凭据,而应让您的进程在特定的用户帐户下运行。 (使用IIS或独立服务。)前一段时间,我为此使用Windows服务 (请参阅https://www.rsprog.de/aspnet-webapi2-angularjs/)。

如果您确实要/需要存储密码,则可以使用MS Data Protection API。看到 https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.protecteddata

我已经使用过几次,并且它被证明是一种可靠的可靠方法。

但是请注意,任何了解您的算法和熵并在服务器上具有管理员权限的人都可以解密(如果他能够让进程在服务用户下运行)。