通常,当您使用密钥保管库加密和解密数据时,您必须以纯文本形式将 AD 注册应用程序(有权访问密钥保管库)的 ClientID 和 ClientSecret 保存在某处。如果有人窃取了 ClientID 和 Secret,那么任何人都可以声称他们是注册的应用程序,这似乎是一个安全问题。
是否有或者可以有更安全的方法?
您可以使用证书代替密钥进行身份验证。
对于这种方法,您需要做三件事:
- 创建要使用的证书。
- 创建将用于访问 Key Vault 的 Active Directory 应用程序时,您需要传递在步骤 1 中创建的证书。我认为您目前无法通过门户执行此操作,因此您需要使用新-AzureRMADApplication https://msdn.microsoft.com/en-us/library/mt603747.aspxPowerShell 命令。
- 对 Key Vault 进行身份验证时使用该证书。你需要使用一个AuthenticationContext.AcquireTokenAsync() 的重载 https://msdn.microsoft.com/en-us/library/mt459145.aspx接收 ClientAssertionCertificate 的方法来执行此操作。你可以创建客户端断言证书 https://msdn.microsoft.com/en-us/library/microsoft.identitymodel.clients.activedirectory.clientassertioncertificate.aspx只需传递客户端 ID 和 X509Certificate2。
From this http://gonzowins.com/2015/10/25/manage-secrets-with-azure-keyvault-aad/您可以在博客文章中获取前两个步骤的一些代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)