gpt4 book ai didi

azure - 如何为私有(private)Azure SQL数据库设置API管理,Function App

转载 作者:行者123 更新时间:2023-12-03 04:54:33 26 4
gpt4 key购买 nike

我目前在 Azure 中进行了以下设置:

  1. 映射到的 Azure API 管理 API
  2. 具有多种功能的 Azure Function App,可以接受数据并将其存储在
  3. Azure 存储帐户。
  4. 私有(private)(不可公开访问)Azure SQL 数据库。

现在我想添加更多 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) 场景一

  • 不带 vnet 集成的 APIM(公共(public))
  • 与 Vnet 集成的 Azure Function
  • 具有专用终结点的 Azure SQL 和存储

优点:在这种情况下,您可以选择 APIM 标准或基本 sku。这些比高级 sku 便宜很多。

缺点:Azure 功能暴露在公共(public)互联网上,因此请小心并使用 AAD 身份验证来保护它。当您像这样部署多个 Azure 函数时,它会增加攻击面。

2) 场景二

  • 具有 vnet 集成的 APIM(外部模式)
  • 具有专用终结点的 Azure Function
  • 具有专用终结点的 Azure SQL 和存储

优点:如果您遵循 APIM vnet 文档 ( source ),设置并不那么困难。如果您也想将 API 公开给外部各方,这可能很有用。 APIM 背后的所有内容都安全地驻留在虚拟网络中。

缺点:此设置仅适用于开发者级别和高级级别。 APIM 可通过公共(public)互联网访问,因此请确保您制定了始终检查 JWT 的必要策略。您甚至可以设置一个检查 IP 地址的策略,这基本上是一个穷人的防火墙解决方案。

1) 场景三

  • 具有 vnet 集成的 APIM(内部模式)
  • 具有专用端点的 Azure 函数
  • 具有专用终结点的 Azure SQL 和存储
  • 可选:带或不带 Front Door 的应用程序网关,用于安全地将某些路由公开给外界。

优点:最安全的解决方案,因为所有内容都与公共(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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com