- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前在 Azure 中进行了以下设置:
现在我想添加更多 API 端点和 Azure 函数,以提供对 SQL 数据库中某些数据的访问。我现在面临的问题是我的 Function App 和 API 管理是公共(public)的,因此无法连接到我的 VNet 中的资源(即数据库)。
有没有办法让函数连接到私有(private)数据库而不将函数也设为私有(private)?如果我必须将函数设为私有(private),我还必须将 API 管理设为私有(private),对吧?这将使整个 API 在互联网上不可用。
支持 VNet 集成的 API 管理和功能应用程序的计划更加强大且昂贵。我不需要那么多的电源,只需要 VNet 集成。有谁知道如何解决这个问题吗?
最佳答案
在自己部署 APIM 之前,我对如何创建类似的设置进行了一些研究,其中我们的大多数后端服务(Azure 功能、应用程序服务等)都位于虚拟网络内。请注意,我们仍在使用开发人员 SKU 进行 API 管理,它具有与高级 SKU ( source ) 几乎相同的功能。对于我们的用例,开发人员层有足够的带宽,而且高级 SKU 非常昂贵。开发人员层不受 Microsoft SLA 支持,因此在生产环境中使用此层时请小心。下面,我将从一个简短的总结开始,并在最后描述该场景。
摘要
我希望此概述能够突出我们的一些担忧,这可以帮助您确定最适合您的场景的方案。最后,我们选择场景二,它提供了我们所需的必要安全性。它减少了攻击面,因为所有后端都是私有(private)的。主要原因是我们想使用消费计划逻辑应用程序。标准逻辑应用程序价格昂贵,而且在部署方面并不真正用户友好。有了额外的前门,它还使我们能够在以后轻松地转向解决方案三。由于将 APIM 设为私有(private)时,您无需移动自定义域和证书,因此 Front Door 仍然是您的主要入口点。
1) 场景一
优点:在这种情况下,您可以选择 APIM 标准或基本 sku。这些比高级 sku 便宜很多。
缺点:Azure 功能暴露在公共(public)互联网上,因此请小心并使用 AAD 身份验证来保护它。当您像这样部署多个 Azure 函数时,它会增加攻击面。
2) 场景二
优点:如果您遵循 APIM vnet 文档 ( source ),设置并不那么困难。如果您也想将 API 公开给外部各方,这可能很有用。 APIM 背后的所有内容都安全地驻留在虚拟网络中。
缺点:此设置仅适用于开发者级别和高级级别。 APIM 可通过公共(public)互联网访问,因此请确保您制定了始终检查 JWT 的必要策略。您甚至可以设置一个检查 IP 地址的策略,这基本上是一个穷人的防火墙解决方案。
1) 场景三
优点:最安全的解决方案,因为所有内容都与公共(public)互联网隔离。我将其称为首选企业设置。如果需要,您甚至可以使用带或不带 Front Door 的应用程序网关来扩展此设置,以控制谁可以从虚拟网络外部访问某些 API。
缺点:这是最广泛的设置,这意味着部署需要更多时间。您必须考虑所有必要的路由、NSG、私有(private) DNS 条目等。建议熟悉 Azure 策略,以便自动执行其中一些操作。
注意:APIM 在不久的将来也将支持专用端点,这有点令人困惑。我想说,这两种 vnet 模式已经与您使用 vnet 集成和专用终结点来实现 azure 功能和应用服务的方式相当。
关于azure - 如何为私有(private)Azure SQL数据库设置API管理,Function App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72351589/
我是一名优秀的程序员,十分优秀!