如何在c#应用程序中保护服务帐户?
我为我的申请设立了一个服务账户,在我的申请工作中,我实际上是:如何在c#应用程序中保护服务帐户?,c#,security,active-directory,C#,Security,Active Directory,我为我的申请设立了一个服务账户,在我的申请工作中,我实际上是: private string SA_myapp = "service_account_myapp@domain.com"; private string SA_myapp_pass = "5tr0ngP455w0rd"; private DirectoryEntry LDAP = new DirectoryEntry("LDAP://" + domainName, SA_myapp, SA_myapp_pass); 这也是工作,但
private string SA_myapp = "service_account_myapp@domain.com";
private string SA_myapp_pass = "5tr0ngP455w0rd";
private DirectoryEntry LDAP = new DirectoryEntry("LDAP://" + domainName, SA_myapp, SA_myapp_pass);
这也是工作,但我相信这不是一个好办法
如何在我的应用程序中以更安全的方式使用我的服务帐户
PS:C#app、Windows、active directory帐户您可以使用DPAPI保护密码并将其存储在注册表中,因此基本上,当服务首次加载自身时,它会从一个注册表项读取值(比如说pass#clear),然后在启动时检查注册表项pass#clear中的值,如果找到一个值,它将读取该值并通过调用
ProtectedData.Protect( pass_clear , s_aditionalEntropy, DataProtectionScope.CurrentUser );
然后,加密的字节[]可以转换为base64字符串并存储在另一个注册表项pass_secure中,应用程序/服务可以在需要将自身绑定到LDAP端口时使用该注册表项
当前用户的数据保护范围只允许服务帐户解密密码,框架为您进行密钥管理