当前位置: 首页 > 知识库问答 >
问题:

在不存储客户端机密的情况下与Azure AD OAuth交互

谢宸
2023-03-14

这要求我使用客户机id和客户机秘密,并且我要求在Azure VM中运行时不将秘密存储在系统上。

是否有方法使用托管标识获取应用程序机密或生成可用于login.microsoftonline.com OAuth终结点的令牌?

共有1个答案

闽经纬
2023-03-14

当您说“Web应用程序”时,我假设您使用的是Azure应用程序服务,

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

这篇stackoverflow文章讲述了为什么KeyVault是安全的:为什么Azure Key Vault是安全的?

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

这是关于在Azure Web应用程序中使用KeyVault的教程:https://docs.microsoft.com/en-us/Azure/key-vault/tutorial-net-create-vault-azure-web-app

本质上,秘密保留在Azure中,因此它们永远不会在代码或开发机器上公开。通过使用MSI,您将不需要跟踪访问keyvault的凭据。将所有重要信息保存在Azure中。

 类似资料:
  • 我使用。NET Core2.0和ASP.NET Core2.0进行应用程序开发。“测试”应用程序是一个。NET核心控制台应用程序。我正在编写的核心代码是一个类库。一旦适当的测试。我选择这样做是因为我暂时不会使用它(它正在替换旧的ASPNET代码)。 无论如何,由于我必须处理各种服务的大量API密钥,所以我决定使用Microsoft Azure Key Vault来存储密钥。我有这一切设置,并理解这

  • 客户端存储

  • 我是JDBC概念的新手。我已经构建了一个 java 客户端来使用选择查询从表中读取数据。据我所知,当您执行选择查询数据库时,将应用锁定,这可能会使表发生的插入速度变速。有没有办法在不应用锁的情况下执行选择查询。我的表是 DB2 数据库。

  • 这样做的原因是我想要保护我的API或者“锁定”它只对我指定的客户机。有时我会有一个没有用户登录的应用程序。我不想纠缠我的用户现在登录只是为了我的API是安全的。或者其他时候,我只想像在一个网站上那样管理自己的用户,而不使用Google+、Facebook,或者其他什么登录认证。 首先,让我介绍一下如何使用文档中指定的Google Accounts登录名,通过云endpointAPI验证Androi

  • Web或者移动应用的重心,由后台往前台挪动的两个标志是:客户端存储,客户端模型维护。在可见的未来,我们将会见证后端将不存储数据、由前端负责存储数据的应用。 写过一个又一个的应用,我仍然没有遇到一个业务逻辑复杂的应用。即,我需要在前台处理一系列复杂的业务逻辑,我需要不断的转换前端的数据模型,才能追得上业务的变化。 普通的 Web 应用里, 前台只需要负责显示即可,而后台相对应的提供数据。后台每次都为