Azure 应用服务 API 应用程序的访问安全性

2024-05-09

我们有一个基于 2 层的系统,即后端层和前端层,现在两者都是通过 WebAPI 进行通信的 Azure 网站。我不想将后端 WebAPI 移至 API 应用程序 - 问题是 - 是否可以以这种方式配置 API 应用程序的安全性,那就是only可从配置的前端 ASP.NET MVC 6 Web 应用程序(托管在 Azure 网站中)进行访问。

我们计划使用Active Directory作为前端Web App和后端Web App之间的身份验证方法,以便只有前端才能访问后端WebAPI。这是最安全的方法吗?或者 API 应用程序是否有更简单但仍然安全的方法?


此时你能做的是:

  1. 将 WebAPI 转换为 API 应用程序
  2. 将访问级别设置为内部

这将使 API 应用程序只能从同一资源组内的资源访问。

现在,不幸的是,Web 应用程序(前网站)虽然可以位于同一资源组中,但在预览中,它们并不完全支持网关实现,这意味着它们无法在资源中发现 API 应用程序组和请求将显示为外部请求,因此内部 API 应用程序将无法访问。在我们支持这一点(Web 应用程序与网关完全集成)之前,让您解决此问题的解决方法是有效地将 Web 应用程序变成另一个 API 应用程序。您仍然可以使用您了解和喜爱的所有 Web 应用程序功能,并通过内部 API 应用程序获得所需的功能,直到 Web 应用程序完全与网关结合使用。

您不必启用 AAD 来保护对 API 应用程序的访问,因为 API 应用程序现在是内部的。

如果您的Web应用程序有AJAX(Javascript客户端)访问API应用程序,那么上述方法不起作用(如果API应用程序是内部的,那么它会阻止任何外部调用)并且您已经设置了API的“访问级别”应用程序为“公共认证”。然后,您可以启用 AAD 身份验证并利用同一网关后面的应用程序之间的无缝身份验证。我们将为您生成一个令牌(x-zumo-auth 标头包含该令牌),您可以读取该令牌并将其来回传递每个请求,以成功验证请求。

唯一需要注意的是列出的一些已知问题here https://social.msdn.microsoft.com/Forums/azure/en-US/7f8b42f2-ac0d-48b8-a35e-3b4934e1c25e/api-app-known-issues?forum=AzureAPIApps

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure 应用服务 API 应用程序的访问安全性 的相关文章

随机推荐