使用虛擬網路服務端點來保護對 PaaS 服務的網路存取
您已將 ERP 系統的現有應用程式伺服器與資料庫伺服器移轉至 Azure 作為 VM。 現在,為了降低成本與系統管理需求,您正考慮使用某些 Azure 平台即服務 (PaaS) 服務。 儲存體服務會保存特定的大型檔案資產,例如工程圖表。 這些工程圖表具有專屬資訊,因此必須避免遭受未經授權的存取。 這些檔案必須僅供從特定系統存取。
在本單元中,您將了解如何使用虛擬網路服務端點來保護支援的 Azure 服務。
虛擬網路服務端點
使用虛擬網路服務端點可藉由提供對您 Azure 服務的直接連線,在 Azure 中延伸您的私人位址空間。 服務端點可讓您將 Azure 資源限制成僅供您的虛擬網路存取。 服務流量會留在 Azure 骨幹上,而不會進入網際網路。
Azure 服務預設都是針對直接網際網路存取而設計。 所有 Azure 資源都有公用 IP 位址,包括 PaaS 服務,例如 Azure SQL Database 和「Azure 儲存體」。 由於這些服務會對網際網路公開,因此任何人都可能存取您的 Azure 服務。
服務端點可將特定 PaaS 服務直接連線至您在 Azure 中的私人位址空間,使其運作方式就像在相同的虛擬網路上一樣。 請使用私人位址空間來直接存取 PaaS 服務。 新增服務端點並不會移除公用端點。 其只是將流量重新導向。
許多服務都可使用 Azure 服務端點,例如:
- Azure 儲存體。
- Azure SQL Database。
- Azure Cosmos DB。
- Azure Key Vault。
- Azure 服務匯流排:
- Azure 資料湖。
若要使用 SQL Database 這類必須將 IP 位址新增至其防火牆之後才能存取的服務,您仍應考慮服務端點。 針對 SQL Database 使用服務端點可將存取權限制在特定虛擬網路,藉此提供更大的隔離並降低受攻擊面。
服務端點的運作方式
若要啟用服務端點,您必須:
- 關閉對服務的公用存取。
- 將服務端點新增至虛擬網路。
啟用服務端點時,您要限制流量,並讓 Azure VM 可直接從私人位址空間存取服務。 裝置無法從公用網路存取服務。 在已部署的 VM vNIC 上,若您查看有效路由,就會注意到服務端點成為下一個躍點類型。
以下是啟用服務端點前的範例路由表:
來源 | 狀態 | 位址首碼 | 下一個躍點類型 |
---|---|---|---|
預設 | 使用中 | 10.1.1.0/24 | VNet |
預設 | 使用中 | 0.0.0.0./0 | 網際網路 |
預設 | 使用中 | 10.0.0.0/8 | 無 |
預設 | 使用中 | 100.64.0.0./10 | 無 |
預設 | 使用中 | 192.168.0.0/16 | 無 |
以下是一個將兩個服務端點新增至虛擬網路後的範例路由表:
來源 | 狀態 | 位址首碼 | 下一個躍點類型 |
---|---|---|---|
預設 | 使用中 | 10.1.1.0/24 | VNet |
預設 | 使用中 | 0.0.0.0./0 | 網際網路 |
預設 | 使用中 | 10.0.0.0/8 | 無 |
預設 | 使用中 | 100.64.0.0./10 | 無 |
預設 | 使用中 | 192.168.0.0/16 | 無 |
預設 | 使用中 | 20.38.106.0/23,以及其他 10 個 | VirtualNetworkServiceEndpoint |
預設 | 使用中 | 20.150.2.0/23,以及其他 9 個 | VirtualNetworkServiceEndpoint |
服務的所有流量現在都會路由傳送到 VirtualNetworkServiceEndpoint 並維持在 Azure 內部。
服務端點與混合式網路
根據預設,無法從內部部署網路存取您已使用虛擬網路服務端點保護的服務資源。 若要從內部部署網路存取資源,請使用 NAT IP。 如果您使用 ExpressRoute 從內部部署環境連線至 Azure,就必須識別 ExpressRoute 所使用的 NAT IP 位址。 根據預設,每個線路會使用兩個 NAT IP 位址來連線至 Azure 骨幹網路。 您接著需要將這些 IP 位址新增至 Azure 服務資源的 IP 防火牆設定 (例如「Azure 儲存體」)。
下圖顯示如何使用服務端點和防火牆設定,讓內部部署裝置能夠存取 Azure 儲存體資源: