虛擬網路服務端點
虛擬網路 (VNet) 服務端點可透過 Azure 骨幹網路上的最佳化路由,為 Azure 服務提供安全且直接的連線。 端點讓您能夠保護只屬於您虛擬網路中重要的 Azure 服務資源。 服務端點可讓 VNet 中的私人 IP 位址到達 Azure 服務的端點,而無需 VNet 上的公用 IP 位址。
注意
Microsoft 建議使用 Azure Private Link 和私人端點,透過安全且私人的方式,來存取 Azure 平台所裝載的服務。 針對您所選擇的 Azure 服務 (例如 Azure 儲存體或 Azure SQL),Azure Private Link 會將網路介面佈建至該服務的虛擬網路中。 如需詳細資訊,請參閱 Azure Private Link,以及什麼是私人端點?。
服務端點適用於下列 Azure 服務和區域。 Microsoft.* 資源位於括弧中。 設定適用於服務的服務端點時,從子網路端啟用此資源:
正式推出
- Azure 儲存體 (Microsoft.Storage):已在所有 Azure 區域中正式推出。
- Azure 記憶體跨區域服務端點 (Microsoft.Storage.Global):已在所有 Azure 區域中正式推出。
- Azure SQL Database (Microsoft.Sql):已在所有 Azure 區域中正式推出。
- Azure Synapse Analytics (Microsoft.Sql):已針對專用的 SQL 集區 (先前稱為 SQL DW),在所有 Azure 區域中正式推出。
- 適用於 PostgreSQL 的 Azure 資料庫伺服器 (Microsoft.Sql):已在提供資料庫服務的 Azure 區域中正式推出。
- 適用於 MySQL 的 Azure 資料庫伺服器 (Microsoft.Sql):已在提供資料庫服務的 Azure 區域中正式推出。
- 適用於 MariaDB 的 Azure 資料庫 (Microsoft.Sql):已在提供資料庫服務的 Azure 區域中正式推出。
- Azure Cosmos DB (Microsoft.AzureCosmosDB):已在所有 Azure 區域中正式推出。
- Azure Key Vault (Microsoft.KeyVault):已在所有 Azure 區域中正式推出。
- Azure 服務匯流排 (Microsoft.ServiceBus):已在所有 Azure 區域中正式推出。
- Azure 事件中樞 (Microsoft.EventHub):已在所有 Azure 區域中正式推出。
- Azure App Service (Microsoft.Web):已在可使用 App Service 的所有 Azure 區域中正式推出。
- Azure 認知服務 (Microsoft.CognitiveServices):已在提供 Azure AI 服務的所有 Azure 區域中正式推出。
公開預覽
- Azure Container Registry (Microsoft.ContainerRegistry):預覽版已在提供 Azure Container Registry 的有限 Azure 區域中提供。
如需最新通知,請查看 Azure 虛擬網路更新頁面。
重點優勢
服務端點可提供下列好處:
提升 Azure 服務資源的安全性:VNet 私人位址空間可以重疊。 您無法使用重疊空格來唯一識別源自 VNet 的流量。 服務端點透過將 VNet 身分識別擴充至服務,可以保護虛擬網路的 Azure 服務資源。 在您的虛擬網路中啟用服務端點之後,您就可以新增虛擬網路規則,保護 Azure 服務資源對您虛擬網路的存取。 新增的規則可透過完全移除對資源的公用網際網路存取,並且只允許來自您虛擬網路的流量,以提升安全性。
來自您虛擬網路的 Azure 服務流量的最佳路由:現在,在虛擬網路中將網際網路流量強制傳送至內部部署和/或虛擬設備的任何路由,也會強制 Azure 服務流量採用與網際網路流量相同的路由。 服務端點會為 Azure 流量提供最佳的路由。
端點一律會直接採用從虛擬網路到 Microsoft Azure 骨幹網路上服務的服務流量。 保持 Azure 主幹網絡上的流量可讓您透過強制通道,繼續稽核和監視來自虛擬網路的輸出網際網路流量,而不會影響服務流量。 如需使用者定義的路由和強制通道的詳細資訊,請參閱 Azure 虛擬網路流量路由。
容易設定且管理額外負荷較小:虛擬網路中不再需要保留的公用 IP 位址,就可以透過 IP 防火牆保護 Azure 資源。 設定服務端點不需要網路位址轉譯 (NAT) 或閘道裝置。 您可以透過子網路上的單一選取項目來設定服務端點。 維護端點不會有額外的開銷。
限制
- 這項功能僅適用於透過 Azure Resource Manager 部署模型所部署的虛擬網路。
- 端點會在 Azure 虛擬網路中設定的子網路上啟用。 端點無法用於從內部部署服務到 Azure 服務的流量。 如需詳細資訊,請參閱保護來自內部部署的 Azure 服務存取
- 針對 Azure SQL,服務端點僅適用於虛擬網路區域內的 Azure 服務流量。
- 針對 Azure Data Lake Storage (ADLS) Gen 1,VNet 整合功能僅適用於相同區域內的虛擬網路。 也請注意,ADLS Gen1 的虛擬網路整合會在您的虛擬網路與 Microsoft Entra ID 之間使用虛擬網路服務端點安全性,在存取權杖中產生額外的安全性宣告。 這些宣告接著會用於向 Data Lake Storage Gen1 帳戶驗證虛擬網路,並允許存取。 在支援服務端點的服務下方所列的 Microsoft.AzureActiveDirectory 標籤僅可用於支援 ADLS Gen 1 的服務端點。 Microsoft Entra ID 無法原生支援服務端點。 如需 Azure Data Lake Store Gen 1 VNet 整合的詳細資訊,請參閱 Azure Data Lake Storage Gen1 中的網路安全性。
- 每個支援的服務和已設定作用中 VNet 規則的虛擬網路最多可以和 200 個不同的訂用帳戶和區域相關聯。
保護虛擬網路的 Azure 服務
虛擬網路服務端點可將虛擬網路的身分識別提供給 Azure 服務。 在您的虛擬網路中啟用服務端點之後,您就可以新增虛擬網路規則,保護 Azure 服務資源對您虛擬網路的存取。
如今,來自虛擬網絡的 Azure 服務流量會使用公共 IP 地址作為來源 IP 地址。 有了服務端點,當從虛擬網絡存取 Azure 服務時,服務流量會切換至使用虛擬網絡私人地址作為來源 IP 地址。 此切換讓您不需要 IP 防火牆中使用的保留公用 IP 位址,即可存取服務。
注意
使用服務端點,服務流量子網路中虛擬機器的來源 IP 位址會從使用公用 IPv4 位址切換為使用私人 IPv4 位址。 使用 Azure 公用 IP 位址的現有 Azure 服務防火牆規則會停止使用此參數。 請先確定 Azure 服務防火牆規則允許這個參數,再設定服務端點。 設定服務端點時,您也可能遇到來自此子網路的服務流量暫時中斷。
保護來自內部部署的安全存取
根據預設,無法從內部部署網路存取受虛擬網路保護的 Azure 服務資源。 如果您想要允許來自內部部署的流量,您也必須允許來自內部部署或 ExpressRoute 的公用 (通常是 NAT) IP 位址。 您可以透過 Azure 服務資源的 IP 防火牆設定新增這些 IP 位址。
ExpressRoute:如果您從內部使用 ExpressRoute 進行 Microsoft 對等互連,您必須識別所使用的 NAT IP 位址。 NAT IP 位址會由客戶提供或由服務提供者提供。 若要允許存取您的服務資源,您必須在資源 IP 防火牆設定中允許這些公用 IP 位址。 如需適用於 ExpressRoute Microsoft 對等互連的 NAT 詳細資訊,請參閱 ExpressRoute NAT 需求。
組態
- 在虛擬網路中的子網路上設定服務端點。 端點會與在該子網路內執行的任何類型計算執行個體搭配運作。
- 您可以針對子網路上所有支援的 Azure 服務 (例如 Azure 儲存體 或 Azure SQL Database) 設定多個服務端點。
- 針對 Azure SQL Database,虛擬網路必須和 Azure 服務資源位於相同區域中。 針對所有其他服務,您可以保護任何區域中虛擬網路的 Azure 服務資源。
- 設定端點的虛擬網路可以和 Azure 服務資源位於相同或不同的訂用帳戶中。 如需設定端點和保護 Azure 服務所需權限的詳細資訊,請參閱佈建。
- 針對支援的服務,您可以使用服務端點保護虛擬網路新的或現有的資源。
考量
啟用服務端點之後,來源 IP 位址會在和來自該子網路的服務通訊時從使用公用 IPv4 位址切換為使用其私人 IPv4 位址。 此切換期間會關閉與服務的任何現有開啟 TCP 連線。 請確定啟用或停用子網路服務的服務端點時,不會執行任何重要工作。 此外,請確定您的應用程式可以在 IP 位址切換之後自動連線到 Azure 服務。
IP 位址切換只會影響來自您虛擬網路的服務流量。 對於傳送至或來自指派給虛擬機器的公用 IPv4 位址的任何其他流量都不會產生影響。 針對 Azure 服務,如果您有使用 Azure 公用 IP 位址的現有防火牆規則,這些規則會在切換至虛擬網路私人位址時停止運作。
使用服務端點時,Azure 服務的 DNS 項目會維持現狀,並繼續解析為指派給 Azure 服務的公用 IP 位址。
具有服務端點的網路安全性群組 (NSG):
- 根據預設,NSG 允許輸出網際網路流量,也允許從 VNet 到 Azure 服務的流量。 此流量會依現狀繼續使用服務端點。
- 如果您想要拒絕所有輸出網際網路流量,只允許對特定 Azure 服務的流量,您可以使用 NSG 中的服務標籤來執行此動作。 您可以在 NSG 規則中指定支援的 Azure 服務作為目的地,Azure 也會提供每個標記下 IP 位址的維護。 如需詳細資訊,請參閱 Azure 服務標籤。
案例
- 對等互連、連線或多個虛擬網路:若要將 Azure 服務安全部署至虛擬網路內的多個子網路,或跨多個虛擬網路部署,您可以獨立啟用每個子網路上的服務端點,並將 Azure 服務資源安全部署至所有子網路。
- 篩選從虛擬網路到 Azure 服務的流量:如果想檢查或篩選從虛擬網路傳送至 Azure 服務的流量,可在虛擬網路內部署網路虛擬設備。 接著,您可以將服務端點套用至部署網路虛擬設備的子網路,並只將 Azure 服務資源安全部署至此子網路。 如果想要使用網路虛擬設備進行篩選,將虛擬網路的 Azure 服務的存取權限限制於特定 Azure 資源,此案例應能派上用場。 如需詳細資訊,請參閱使用網路虛擬設備輸出。
- 將 Azure 資源放到直接部署至虛擬網路的服務保護:您可以將各種 Azure 服務直接部署至虛擬網路中的特定子網路。 在受控服務子網路上設定服務端點,即可將 Azure 服務資源放到受控服務子網路保護。
- 來自 Azure 虛擬機器的磁碟流量:對受控和非受控磁碟而言,虛擬機器磁碟流量不會因為 Azure 儲存體的服務端點路徑變更而受到影響。 此流量包括 diskIO、掛接和卸載。 您可以限制對分頁 Blob 的 REST 存取,以透過服務端點和 Azure 儲存體網路規則來選取網路。
記錄和疑難排解
將服務端點設定為特定服務之後,請透過以下方式驗證服務端點路由是否有效:
- 驗證服務診斷中任何服務要求的來源 IP位址。 所有具有服務端點的新要求都會將要求的來源 IP 位址顯示為虛擬網路私人 IP 位址,指派給從虛擬網路提出要求的用戶端。 如果沒有端點,則位址為 Azure 公用 IP 位址。
- 檢視子網路中任何網路介面的有效路由。 服務的路由:
- 顯示更明確的預設路由,以滿足每個服務的前置詞範圍
- 具有 VirtualNetworkServiceEndpoint 的 nextHopType
- 指出和任何強制通道路由相比,與服務的更直接連接已生效
注意
服務端點路由會覆寫 Azure 服務地址前綴相符的任何 BGP 或使用者定義路由(UDR)。 如需詳細資訊,請參閱使用有效路由進行疑難排解。
正在佈建
服務端點可由具有虛擬網路寫入權限的使用者在虛擬網路上獨立設定。 若要保護 VNet 的 Azure 服務資源,使用者必須具有新增子網路的 Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action 權限。 內建的服務管理員角色依預設會包含此權限。 您可以藉由建立自訂角色來修改權限。
如需內建角色的詳細資訊,請參閱 Azure 內建角色。 如需將特定權限指派給自訂角色的詳細資訊,請參閱 Azure 自訂角色。
虛擬網路和 Azure 服務資源可以位於相同或不同的訂用帳戶中。 Azure 儲存體和 Azure Key Vault 等特定 Azure 服務 (並非全部) 也支援跨不同 Active Directory (AD) 租用戶的服務端點。 這表示虛擬網路和 Azure 服務資源可以位於不同的 Active Directory (AD) 租用戶中。 如需更多詳細資料,請參閱個別的服務文件。
價格和限制
使用服務端點不需要額外費用。 Azure 服務 (Azure 儲存體、Azure SQL Database 等等) 的目前定價模型照常適用。
虛擬網路中的服務端點總數沒有限制。
某些 Azure 服務資源 (例如 Azure 儲存體帳戶) 可能會強制執行用來保護資源的子網路數目限制。 如需詳細資料,請參閱後續步驟一節中適用於各種服務的文件。
VNet 服務端點原則
VNet 服務端點原則可讓您篩選至 Azure 服務的虛擬網路流量。 此篩選只允許透過服務端點的特定 Azure 服務資源。 服務端點原則會針對至 Azure 服務的虛擬網路流量提供精細的存取控制。 如需詳細資訊,請參閱虛擬網路服務端點原則。
常見問題集
如需常見問題集,請參閱虛擬網路服務端點常見問題集。