azure - 使用证书授予应用程序对 Azure Key Vault 的访问权限

标签 azure api iis certificate

我有一个通过 IIS 托管在 Windows 服务器上的 Web API。我正在使用 Azure Key Vault 来隐藏 secret 。为了让应用程序能够访问保管库,我使用了服务器上安装的证书,该证书也在 Azure 中的应用程序中注册。 证书指纹、租户 ID 和应用程序 ID 均在 Web API 的配置文件中公开。应用程序注册通过 key 保管库中的策略授予访问权限。

问题是 Azure 中的集成助手警告我,我不应该在注册中设置证书,但没有解释原因(文档显示为灰色以进行警告)。

可以安全地忽略此警报吗?或者有更好的方法来授予我的应用程序库访问权限吗?

编辑 - 集成助手的片段:

enter image description here

最佳答案

Can this alert be safely ignored?

在你的特定场景中,我会说是的。您可以安全地忽略此消息。

本质上,您需要一个用户来访问 key 保管库。考虑到您的应用程序在本地运行,您将使用服务主体(作为应用注册的一部分创建)作为用户来访问 key 保管库。

Or is there a better way to grant my application vault access?

在您的特定场景中(当您的应用程序在本地运行时),据我所知没有。

如果您的应用程序在 Azure 中运行,您可以使用托管身份。它可以是系统分配的托管身份用户分配的托管身份。使用托管身份,您不需要基于 secret /证书的身份验证。

我不确定您的 API 是否受 Azure AD 保护(即用户在使用 API 之前必须经过身份验证/授权),但如果确实如此,则另一种选择是授予 API 用户对 Key Vault 的访问权限。然后,将在该用户的上下文中发送对 Key Vault 的请求。然而,这将大大增加管理复杂性,因为您必须管理所有 API 用户的访问控制。

关于azure - 使用证书授予应用程序对 Azure Key Vault 的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68272694/

相关文章:

Azure计费API : Resource RateCard & Resource Usage

azure - 是否可以在不重定向到 Microsoft 登录站点的情况下注册/登录 Azure AD B2C?

api - 如何识别 Electron 桌面应用程序实例

javascript - 如果 javascript 在第三方网站上,如何从 javascript 对 REST API 进行身份验证?

c# - 将 T-SQL 连接到 C++ 或 C#

windows - 为什么在使用 XMLHttpRequest 对象发送 POST 请求时 Content-Length 为 0?

email - 单独的电子邮件服务器和 Web 托管服务器上的 SSL 证书?

c# - 以编程方式启动 Azure 网站槽

iis - IIS 中是否有网站级别设置会阻止提供 ASP 页面?

c# - 模型(ASP MVC3)的命名空间在 WorkerRole 中不可见