与Azure AD OAuth交互而无需存储客户端密钥

时间:2019-06-14 20:18:47

标签: azure-active-directory

对于Azure Active Directory,我为我的Web应用程序创建了一个应用程序注册,以为最终用户启用SSO / OAuth 2.0登录并使用AD图形API进行AD查找。

这要求我使用客户端ID和客户端密钥,并且要求在Azure VM中运行时不要在系统上存储密钥。

是否有一种使用托管身份的方法来获取应用程序密钥或生成可与login.microsoftonline.com OAuth端点一起使用的令牌?

1 个答案:

答案 0 :(得分:1)

当您说“ Web App”时,我假设您使用的是类似Azure App Service的东西,

如果问题在于在计算机上本地存储客户端机密,则更安全的方法是将机密存储在Azure KeyVault中。

此stackoverflow帖子介绍了KeyVault安全的原因:Why is Azure Key Vault secure?

官方文档为Azure Keyvault入门提供了很好的概述/快速入门。 https://docs.microsoft.com/en-us/azure/key-vault/quick-create-portal

这是有关将KeyVault与Azure Web应用程序结合使用的教程:https://docs.microsoft.com/en-us/azure/key-vault/tutorial-net-create-vault-azure-web-app

本质上,机密信息留在Azure中,因此它们永远不会在代码或开发计算机上公开。而且,通过使用MSI,您无需跟踪凭据即可访问密钥库。将所有重要信息保留在Azure中。

enter image description here