gpt4 book ai didi

c# - 如何从Azure Key Vault读取值

转载 作者:行者123 更新时间:2023-12-03 08:51:11 33 4
gpt4 key购买 nike

如果我将 ClientId 和客户端 key 存储在 Web/应用程序配置中,我无法理解 Azure Key Vault 有什么好处。传递基本 URI 或完整 URL 以获取值。

我没有保护应用程序,而是绕过直接读取的内容。但是,如果任何人都可以从 Web 配置中读取值,那么任何人都可以从 Key Vault 中读取值。

只需从 Web 配置中复制 ClientId 和 ClientSecret,将值粘贴到控制台应用程序中,然后只需传递 URI 即可获取值。

我正在虚拟机 (IIS) 中运行我的 Web API(c#)。我需要在 Web 配置中不提供任何值的情况下实现 KeyVault。

最佳答案

从架构上来说,Azure Key Vault 提供了存储应用程序配置设置的简单方法。正如您可能在示例文档中看到的那样,为了访问 key 保管库,我们将客户端 ID 和客户端 key 存储在 web.config 中,这不符合安全设计:

您可以执行以下操作:

  • 您所需的所有设置都需要在 blob/任何类型的存储中采用加密格式,并且只有您的应用程序应该能够在应用程序启动时从 blob 或任何类型的存储中获取配置。一旦应用程序正确启动,最后一步应该是解密设置并以安全的方式存储在客户端。

这样就不需要公开应用程序的客户端 ID 和 secret 。

此外,我们在 Azure AD 中创建一个服务主体帐户,并提供从 Key Vault 读取数据的访问权限。稍后,我们在调用 Azure AD 身份验证 API 后存储不记名 token ,并使用此 token 访问 key 保管库。

  • 另一种方法是**托管身份**,正如@JackJia指出的那样,托管身份将被视为受信任的资源,并且可以从特定端点获取 token ,而无需任何额外的配置。具体您可以阅读上面的回答。

如果您想进一步讨论,请告诉我,我们很乐意为您提供帮助。

关于c# - 如何从Azure Key Vault读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58872882/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com