使用证书授予应用程序对 Azure Key Vault 的访问权限
Using a certificate to grant an application access to Azure Key Vault
我通过 IIS 在 Windows 服务器上托管了一个 Web API。我正在使用 Azure Key Vault 来隐藏秘密。为了让应用程序访问保管库,我使用安装在服务器上的证书,该证书也在 Azure 中的应用程序中注册。
证书指纹、租户 ID 和应用程序 ID 都暴露在 Web API 的配置文件中。应用程序注册通过密钥库中的策略授予访问权限。
问题是 Azure 中的集成助手提醒我不应该在注册中设置证书,但没有解释原因(文档显示为灰色以供提醒)。
可以安全地忽略此警报吗?或者是否有更好的方法来授予我的应用程序保管库访问权限?
编辑 - 集成助手截图:
Can this alert be safely ignored?
在您的特定情况下,我会说是。您可以安全地忽略此消息。
本质上,您需要一个用户来访问密钥库。考虑到您的应用程序在 运行 本地,您将使用 Service Principal
(作为应用程序注册的一部分创建)作为用户访问密钥库。
Or is there a better way to grant my application vault access?
在您的特定场景中(当您的应用程序在本地 运行 时),AFAIK 编号
如果您的应用程序是 运行 在 Azure 中,您可以使用 Managed Identity
。它可以是 System-assigned Managed Identity
或 User-assigned Managed Identity
。使用托管身份,您不需要基于 secret/certificate 的身份验证。
我不确定你的 API 是否受 Azure AD 保护(即用户在使用 API 之前必须是 authenticated/authorized),但如果确实如此,那么另一种选择是授予您 API 的用户访问 Key Vault 的权限。然后将在该用户的上下文中发送对 Key Vault 的请求。然而,这将大大增加管理的复杂性,因为您必须管理所有 API 用户的访问控制。
我通过 IIS 在 Windows 服务器上托管了一个 Web API。我正在使用 Azure Key Vault 来隐藏秘密。为了让应用程序访问保管库,我使用安装在服务器上的证书,该证书也在 Azure 中的应用程序中注册。 证书指纹、租户 ID 和应用程序 ID 都暴露在 Web API 的配置文件中。应用程序注册通过密钥库中的策略授予访问权限。
问题是 Azure 中的集成助手提醒我不应该在注册中设置证书,但没有解释原因(文档显示为灰色以供提醒)。
可以安全地忽略此警报吗?或者是否有更好的方法来授予我的应用程序保管库访问权限?
编辑 - 集成助手截图:
Can this alert be safely ignored?
在您的特定情况下,我会说是。您可以安全地忽略此消息。
本质上,您需要一个用户来访问密钥库。考虑到您的应用程序在 运行 本地,您将使用 Service Principal
(作为应用程序注册的一部分创建)作为用户访问密钥库。
Or is there a better way to grant my application vault access?
在您的特定场景中(当您的应用程序在本地 运行 时),AFAIK 编号
如果您的应用程序是 运行 在 Azure 中,您可以使用 Managed Identity
。它可以是 System-assigned Managed Identity
或 User-assigned Managed Identity
。使用托管身份,您不需要基于 secret/certificate 的身份验证。
我不确定你的 API 是否受 Azure AD 保护(即用户在使用 API 之前必须是 authenticated/authorized),但如果确实如此,那么另一种选择是授予您 API 的用户访问 Key Vault 的权限。然后将在该用户的上下文中发送对 Key Vault 的请求。然而,这将大大增加管理的复杂性,因为您必须管理所有 API 用户的访问控制。