Azure 儲存體的虛擬網路服務端點原則

虛擬網路服務端點原則可讓您透過服務端點篩選輸出至 Azure 儲存體帳戶的虛擬網路流量,並僅允許資料外流至特定的 Azure 儲存體帳戶。 當透過服務端點進行連線時,服務端點可針對流向 Azure 儲存體的虛擬網路流量提供更細微的存取控制。

Diagram of Securing Virtual network outbound traffic to Azure Storage accounts.

對於全球所有 Azure 區域Azure 儲存體,這項功能已正式推出。

重點優勢

虛擬網路服務端點原則具有下列優勢:

  • 改進流向 Azure 儲存體的虛擬網路流量安全性

    網路安全性群組的 Azure 服務標籤可讓您將虛擬網路輸出流量限制為特定 Azure 儲存體區域。 不過,此流程允許流量在所選 Azure 儲存體區域內的任意帳戶之間流動。

    端點原則可讓您指定 Azure 儲存體帳戶,藉以允許虛擬網路輸出存取並限制所有其他儲存體帳戶的存取。 這流程可提供更細微的安全性控制,以防止資料從您的虛擬網路外流。

  • 可用來篩選 Azure 服務流量的可調整與高可用性原則

    端點原則提供可水平調整的高可用性解決方案,以篩選從虛擬網路透過服務端點通往 Azure 服務的流量。 在虛擬網路中,這個流量完全不會對中央網路設備的維護產生額外負荷。

服務端點原則的 JSON 物件

請快速瀏覽服務端點原則物件。

"serviceEndpointPolicyDefinitions": [
    {
            "description": null,
            "name": "MySEP-Definition",
            "resourceGroup": "MySEPDeployment",
            "service": "Microsoft.Storage",
            "serviceResources": [ 
                    "/subscriptions/subscriptionID/resourceGroups/MySEPDeployment/providers/Microsoft.Storage/storageAccounts/mystgacc"
            ],
            "type": "Microsoft.Network/serviceEndpointPolicies/serviceEndpointPolicyDefinitions"
    }
]

組態

  • 您可以設定端點原則,將虛擬網路流量限制為特定 Azure 儲存體帳戶。

  • 您可在虛擬網路的子網路上設定端點原則。 您應在子網路上啟動 Azure 儲存體的服務端點以套用原則。

  • 端點原則可讓您使用 resourceID 格式,將特定 Azure 儲存體帳戶新增至允許清單。 您可以將存取限制為:

    • 訂用帳戶中的所有儲存體帳戶
      E.g. /subscriptions/subscriptionId

    • 資源群組中的所有儲存體帳戶
      E.g. subscriptions/subscriptionId/resourceGroups/resourceGroupName

    • 透過列出對應 Azure Resource Manager resourceId 的個別儲存體帳戶。 這包含 Blob、資料表、佇列、檔案和 Azure Data Lake Storage Gen2 的流量。
      E.g. /subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/storageAccountName

  • 根據預設,如果含端點的子網路未附加任何原則,則您可以存取服務中的所有儲存體帳戶。 一旦在這個子網路上設定原則之後,就只能從該子網路的計算執行個體存取原則中所指定資源。 所有其他儲存體帳戶的存取會遭到拒絕。

  • 當在子網路上套用服務端點原則時,Azure 儲存體服務端點範圍會從區域升級至全域。 此流程表示流向 Azure 儲存體的所有流量隨後皆會透過服務端點受到保護。 服務端點原則也適用於全域。 任何未明確允許的記憶體帳戶都會遭到拒絕存取。

  • 您可以將多個原則套用至子網路。 當多個原則與子網路建立關聯時,即會允許虛擬網路流量流向任何這些原則所指定的資源。 若要存取任何原則中未指定的所有其他服務資源,則會遭到拒絕。

注意

服務端點原則是一種允許原則,因此除了指定的資源之外,所有其他資源都會受到限制。 請確認應用程式的所有服務資源相依性皆可識別並列於原則中。

  • 端點原則中只能指定使用 Azure 資源模型的儲存體帳戶。 傳統 Azure 儲存體帳戶將不支援 Azure 服務端點原則。

  • 如果已列出主要帳戶,系統就會自動允許 RA-GRS 次要存取。

  • 儲存體帳戶不一定要位於與虛擬網路相同的訂用帳戶或 Microsoft Entra ID 租用戶中。

案例

  • 對等互連或多個虛擬網路:若要篩選對等互連虛擬網路中的流量,您應該將端點原則個別套用至這些虛擬網路。

  • 使用網路設備或 Azure 防火牆篩選網際網路流量:使用原則來篩選通過服務端點的 Azure 服務流量,並透過設備或 Azure 防火牆來篩選其餘網際網路或 Azure 流量。

  • 篩選部署於虛擬網路中 Azure 服務的流量:Azure 服務端點原則目前不支援部署於虛擬網路中的任何受控 Azure 服務。

  • 篩選從內部部署到 Azure 服務的流量:服務端點原則只適用於來自原則相關聯子網路的流量。 若要允許從內部部署存取特定的 Azure 服務資源,則應該使用網路虛擬設備或防火牆篩選流量。

記錄和疑難排解

服務端點原則並未提供任何集中式記錄。 如需服務資源記錄,請參閱服務端點記錄

疑難排解案例

  • 預覽階段正常運作的儲存體帳戶遭到拒絕存取 (非地理位置配對區域)

    • 透過升級 Azure 儲存體以使用全域服務標籤,服務端點的範圍及服務端點原則現在已是全域。 因此任何流向 Azure 儲存體的流量會透過服務端點進行加密,並僅允許存取原則中明確列出的儲存體帳戶。

    • 明確允許列出還原存取的所有必要儲存體帳戶。

    • 連絡 Azure 支援。

  • 存取端點原則中所列的帳戶時遭到拒絕

    • 網路安全性群組或防火牆篩選條件可能會封鎖存取

    • 如果移除/重新套用原則會導致連線中斷:

      • 驗證 Azure 服務是否設定為允許透過端點從虛擬網路存取,或資源的預設原則是否設定為「全部允許」。

      • 驗證服務診斷是否顯示透過端點的流量。

      • 請檢查網路安全性群組流量記錄是否顯示存取狀態,而儲存體記錄是否如預期般顯示透過服務端點的存取狀態。

      • 連絡 Azure 支援。

  • 存取服務端點原則中未列的帳戶時遭到拒絕

    • 驗證 Azure 儲存體是否設定為允許透過端點從虛擬網路存取,或資源的預設原則是否設定為「全部允許」。

    • 確定帳戶不是傳統儲存體帳戶,且子網路上不具有服務端點原則。

  • 在子網路上套用服務端點原則之後,受控 Azure 原則隨即停止運作

    • 服務端點目前不支援 Azure SQL 受控執行個體以外的受控服務。
  • 在子網路上套用服務端點原則之後,受控儲存體帳戶的存取隨即停止運作

    • 服務端點原則不支援受控儲存體帳戶。 如已設定,原則依預設會拒絕所有受控儲存體帳戶的存取。 如果您的應用程式需要受控儲存體帳戶的存取,則不應針對此流量使用端點原則。

佈建

擁有虛擬網路寫入權的使用者,會在子網路上設定服務端點原則。 深入了解 Azure 內建角色,以及如何將特定權限指派給自訂角色

虛擬網路和 Azure 儲存體帳戶不一定要位於相同的訂用帳戶或 Microsoft Entra ID 租用戶中。

限制

  • 您只能在透過 Azure Resource Manager 部署模型所部署的虛擬網路上部署服務端點原則。

  • 虛擬網路必須位於與服務端點原則相同的區域中。

  • 如果原則中列出的 Azure 服務已設定服務端點,您就只能將服務端點原則套用至子網路。

  • 如果流量是從內部部署網路流向 Azure 服務,您就無法對其使用服務端點原則。

  • 端點原則目前不支援 Azure SQL 受控執行個體以外的 Azure 受控服務。 此限制包含部署於下列兩種子網路中的受控服務:共用子網路 (例如 Azure Batch、Microsoft Entra Domain Services、Azure 應用程式閘道、Azure VPN 閘道、Azure 防火牆),或專用子網路 (例如 Azure App Service 環境、Azure Redis 快取、Azure API 管理、傳統受控服務)。

警告

針對基礎結構需求,部署到虛擬網路中的 Azure 服務 (例如 Azure HDInsight) 可存取其他 Azure 服務 (例如 Azure 儲存體)。 如果您將端點原則限制給特定資源,可能會中斷存取虛擬網路中已部署 Azure 服務的這些基礎結構資源。

  • 端點原則不支援傳統儲存體帳戶。 原則預設會拒絕存取所有傳統儲存體帳戶。 如果您的應用程式需要存取 Azure Resource Manager 和傳統儲存體帳戶,就不應針對此流量使用端點原則。

價格和限制

使用服務端點原則不需要額外費用。 透過服務端點的 Azure 服務 (例如 Azure 儲存體) 其目前定價模式照常適用。

服務端點原則會強制執行下列限制:

資源 預設限制
ServiceEndpointPoliciesPerSubscription 500
ServiceEndpointPoliciesPerSubnet 100
ServiceEndpointPoliciesPerVirtualNetwork 100
ServiceResourcesPerServiceEndpointPolicyDefinition 200

後續步驟