共用方式為


如何搭配 Azure Functions 使用安全的儲存體帳戶

本文會說明如何將函數應用程式連線到安全的儲存體帳戶。 如需有關如何使用輸入和輸出存取限制建立函數應用程式的深入教學課程,請參閱 與虛擬網路整合 教學課程。 若要深入了解 Azure Functions 和網路功能,請參閱 Azure Functions 網路功能選項

將儲存體帳戶限定於虛擬網路

當您建立函數應用程式時,您可以建立新的儲存體帳戶或連結至現有的儲存體帳戶。 目前,只有 ARM 範本和 Bicep 部署 支援使用現有安全的儲存體帳戶建立函數應用程式。

注意

專用 (App Service) 方案彈性進階方案,以及 Flex 使用量方案中的所有層級都支援保護您的儲存體帳戶。
使用量方案不支援虛擬網路。

如需儲存體帳戶上所有限制的清單,請參閱 儲存器帳戶需求

重要

Flex 使用量方案目前為預覽狀態。

在函數應用程式建立期間保護儲存體

您可以建立函數應用程式,以及透過私人端點存取、受虛擬網路保護的新儲存體帳戶。 下列連結會示範如何使用 Azure 入口網站或部署範本來建立這些資源:

完成下列教學課程以建立新的函數應用程式安全的儲存體帳戶: 使用私人端點將 Azure Functions 與虛擬網路整合

針對現有的函數應用程式的安全儲存體

當您有現有的函數應用程式時,您無法直接保護應用程式目前使用的儲存體帳戶。 您必須改為將現有的儲存體帳戶交換為新的安全儲存體帳戶。

1.啟用虛擬網路整合

作為必要條件,您必須啟用函數應用程式的虛擬網路整合。

  1. 使用未啟用服務端點或私人端點的儲存體帳戶來選擇函數應用程式。

  2. 針對您的函數應用程式啟用虛擬網路整合

2.建立安全的儲存體帳戶

為您的函數式應用程式建立安全的儲存體帳戶:

  1. 建立次要儲存體帳戶。 這會是函數應用程式將改用的安全儲存體帳戶。 您也可以使用 Azure Functions 尚未使用的現有儲存體帳戶。

  2. 複製此儲存體帳戶的連接字串。 您稍後將會需要此字串。

  3. 在新的儲存體帳戶中建立檔案共用。 嘗試使用與現有儲存體帳戶中的檔案共用相同的名稱。 否則,您必須複製新檔案共用的名稱,以便稍後設定應用程式設定。

  4. 使用下列其中一種方式保護新的儲存體帳戶:

    • 建立私人端點。 當您設定私人端點連線時,請為 fileblob 子資源建立私人端點。 針對 Durable Functions,您也必須讓 queuetable 子資源可透過私人端點存取。 如果您正在使用自訂或內部部署 DNS 伺服器,請務必 設定 DNS 伺服器 以解析為新的私人端點。

    • 限制特定子網路的流量。 請確定其中一個允許的子網路是函數應用程式與網路整合的子網路。 再次檢查子網路是否有 Microsoft.Storage 的服務端點。

  5. 將檔案和 Blob 內容從函數應用程式使用的目前儲存體帳戶複製到新的安全的儲存體帳戶和檔案共用。 AzCopyAzure 儲存體總管 是常見的方法。 如果您使用 Azure 儲存體總管,您可能需要允許用戶端 IP 位址進入記憶體帳戶的防火牆。

現在您已準備好設定函數應用程式,以與新的安全儲存體帳戶進行通訊。

3.啟用應用程式和設定路由傳送。

您現在應該路由傳送函數應用程式的流量,以通過虛擬網路。

  1. 啟用 應用程式路由傳送 將應用程式的流量路由傳送至虛擬網路。

    • 瀏覽至函數應用程式的 [網络] 索引標籤。 在 [輸出流量設定] 下,選取與您的虛擬網路整合相關聯的子網路。

    • 在新頁面中,核取 [應用程式路由傳送] 底下的 [輸出網際網路流量] 方塊。

  2. 啟用 [內容共用路由傳送],讓您的函數應用程式透過其虛擬網路與新的儲存體帳戶通訊。

    • 在相同的頁面中,核取 [内容儲存體] 底下的 [內容記憶體] 方塊。

4.更新應用程式設定

最後,您必須更新應用程式設定,以指向新的安全儲存體帳戶。

  1. 在函數應用程式的 [設定] 索引標籤下,將 [應用程式設定] 更新為下列各項:

    設定名稱 註解
    AzureWebJobsStorage
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
    儲存體連接字串 這兩個設定都包含您稍早儲存之新的安全儲存體帳戶的連接字串。
    WEBSITE_CONTENTSHARE 檔案共用 在專案部署檔案所在的安全儲存體帳戶中建立的檔案共用名稱。
  2. 選取 [儲存] 以儲存應用程式設定。 變更應用程式設定會導致應用程式重新啟動。

函式應用程式重新啟動之後,其現在已連線到安全的儲存體帳戶。

下一步