问题描述
我一直在查看各种教程,演示身份管理的工作原理以及 azure 中的 API 管理,但我没有看到我的问题的答案。我知道托管身份可用于授权 azure 资源到资源通信,但我没有看到这是如何为 Web 应用程序完成的。举例来说,我有一个 angular 网站托管在 AKS 集群中的 Nginx 服务器上。我知道我可以使用身份管理来创建身份资源,从而使 AKS 和 APIM 被授权相互连接,但我将如何为角度运行的应用程序执行此操作?此应用程序在客户端的浏览器中运行,因此此身份管理机制似乎不起作用。如何保护 APIM 以便只有给定的 Web 应用程序可以与其交互?
解决方法
您可以使用客户端证书保护 APIM 中的 API,然后当应用访问 API 时,验证传入的证书并使用策略表达式根据所需值检查证书属性。
有关详细信息,请参阅How to secure APIs using client certificate authentication in API Management。