分享方式:


適用於 MySQL 的 Azure 資料庫的 Private Link

適用於: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事

Private Link 可讓您透過私人端點連線到 Azure 中的各種 PaaS 服務。 Azure Private Link 基本上會將 Azure 服務帶入私人虛擬網路 (VNet) 內部。 PaaS 資源可使用私人 IP 位址來存取,就像 VNet 中的任何其他資源一樣。

如需支援 Private Link 功能的 PaaS 服務清單,請檢閱 Private Link 文件。 私人端點是特定 VNet 和子網內的私人 IP 位址。

注意

私人連結功能僅適用於一般用途或記憶體最佳化定價層的適用於 MySQL 的 Azure 資料庫伺服器。 請確定資料庫伺服器位於下列其中一個定價層。

資料外流防護

當授權使用者 (例如資料庫管理員) 可以從某個系統擷取資料,並將資料移至組織外部的另一個位置或系統時,適用於 MySQL 的 Azure 資料庫中就會發生資料外泄。 例如,使用者將資料移至第三方所擁有的儲存體帳戶。

假設使用者在 Azure 虛擬機器 (VM) 內執行 MySQL Workbench,而該機器連線到佈建於美國西部的適用於 MySQL 的 Azure 資料庫伺服器。 下列範例示範如何使用網路存取控制,在適用於 MySQL 的 Azure 資料庫上限制公用端點的存取。

  • 將 [允許 Azure 服務] 設為 [關閉],即可阻止所有 Azure 服務流量透過公用端點流向適用於 MySQL 的 Azure 資料庫。 確認沒有任何 IP 位址或範圍可透過防火牆規則虛擬網路服務端點來存取伺服器。

  • 僅允許使用 VM 的私人 IP 位址對適用於 MySQL 的 Azure 資料庫傳送流量。 如需詳細資訊,請參閱服務端點VNet 防火牆規則的相關文章。

  • 在 Azure VM 上,請使用網路安全性群組 (NSG) 和服務標籤來縮小傳出連線的範圍,如下所示

    • 指定 NSG 規則,以允許服務標記 = SQL.WestUs 的流量 - 僅允許連線到美國西部適用於 MySQL 的 Azure 資料庫
    • 指定 NSG 規則 (具有較高的優先順序) 以拒絕服務標籤 = SQL 的流量 - 拒絕連線到所有區域中適用於 MySQL 的 Azure 資料庫

在此設定結束時,Azure VM 只能連線到美國西部區域適用於 MySQL 的 Azure 資料庫。 不過,連線並不限於單一適用於 MySQL 的 Azure 資料庫。 VM 仍然可以連線到美國西部區域適用於 MySQL 的 Azure 資料庫,包括不屬於訂用帳戶的資料庫。 雖然在上述案例中,我們已將資料外泄範圍縮減到特定區域,但我們尚未完全消除此問題。

透過 Private Link,您現在可以設定網路存取控制 (例如 NSG) 來限制私人端點的存取。 這麼一來,個別的 Azure PaaS 資源就會對應到特定的私人端點。 懷有惡意的測試人員只能存取對應的 PaaS 資源 (例如適用於 MySQL 的 Azure 資料庫),不能存取其他資源。

透過私人對等互連的內部部署連線

當您從內部部署機器連線到公用端點時,您的 IP 位址必須透過伺服器層級防火牆規則來新增至以 IP 為基礎的防火牆。 雖然此模型可針對開發或測試工作負載來允許個別機器的存取,但難以在生產環境中進行管理。

透過 Private Link,您可以使用 Express Route (ER)、私人對等互連或 VPN 通道來啟用私人端點的跨單位存取。 它們後續可以停用透過公用端點而非使用 IP 型防火牆的所有存取。

注意

在某些案例中,適用於 MySQL 的 Azure 資料庫和 VNet 子網路是位於不同的訂用帳戶。 在這些情況下,您必須確保下列設定:

建立程序

需要有私人端點才能啟用 Private Link。 這可以根據下列操作指南來完成。

核准流程

網路管理員建立私人端點 (PE) 後,MySQL 管理員就可以管理適用於 MySQL 的 Azure 資料庫的私人端點連線 (PEC)。 網路系統管理員與 DBA 之間的職責區隔有助於管理適用於 MySQL 的 Azure 資料庫連線能力。

  • 在 Azure 入口網站中瀏覽至適用於 MySQL 的 Azure 資料庫伺服器資源。

    • 在左窗格中選取私人端點連線
    • 檢視所有私人端點連線的清單(PEC)
    • 請參閱建立的對應私人端點 (PE)
  • 從清單中選取個別的 PEC。

  • MySQL 伺服器管理員可以選擇核准或拒絕 PEC,並選擇性地新增簡短文字回應。

  • 核准或拒絕之後,清單會反映適當的狀態以及回應文字

用戶端可以從相同的 VNet、相同區域或跨區域中的對等互連 VNet,或透過跨區域的 VNet 對 VNet 連線來連線到私人端點。 此外,用戶端可以使用 ExpressRoute、私人對等互連或 VPN 通道從內部部署環境進行連線。

從對等互連虛擬網路 (VNet) 中的 Azure VM 進行連線

設定 VNet 對等互連,以從對等互連 VNet 中的 Azure VM 連線到適用於 MySQL 的 Azure 資料庫。

從 VNet 對 VNet 環境中的 Azure VM 進行連線

設定 VNet 對 VNet VPN 閘道連線,以從不同區域或訂用帳戶中的 Azure VM 連線到「適用於 MySQL 的 Azure 資料庫」。

透過 VPN 從內部部署環境連線

若要從內部部署環境連線到適用於 MySQL 的 Azure 資料庫,請選擇並實作下列其中一個選項:

當搭配防火牆規則使用 Private Link 時,可能會發生下列情況和結果:

  • 如果您未設定任何防火牆規則,則根據預設,沒有任何流量能夠存取適用於 MySQL 的 Azure 資料庫。

  • 如果您設定公用流量或服務端點並建立私人端點,則不同類型之傳入流量會由對應類型的防火牆規則所授權。

  • 如果未設定任何公用流量或服務端點並建立私人端點,則只能透過私人端點來存取適用於 MySQL 的 Azure 資料庫。 如果您未設定公用流量或服務端點,在拒絕或刪除所有已核准的私人端點之後,將無法存取適用於 MySQL 的 Azure 資料庫。

拒絕公開存取適用於 MySQL 的 Azure 資料庫

如果您想要只使用私人端點來存取其適用於 MySQL 的 Azure 資料庫,您可以藉由在資料庫伺服器上設定 [拒絕公用網路存取] 組態,停用設定所有公用端點 (即防火牆規則VNet 服務端點)。

當此設定設為[是] 時,僅允許透過私人端點連線至您的適用於 MySQL 的 Azure 資料庫。 當此設定設為 [否] 時,用戶端可以根據您的防火牆或 VNet 服務端點設定,連線到適用於 MySQL 的 Azure 資料庫。 此外,設定私人網路存取的值之後,客戶就無法新增和/或更新現有的「防火牆規則」和「VNet 服務端點規則」。

注意

此功能可在「適用於 MySQL 的 Azure 資料庫」單一伺服器支援「一般用途」和「記憶體最佳化」定價層的所有 Azure 區域中使用。

此設定不會影響您適用於 MySQL 的 Azure 資料庫的 SSL 和 TLS 組態。

若要瞭解如何從 Azure 入口網站設定適用於 MySQL 的 Azure 資料庫的 [拒絕公用網路存取],請參閱如何設定拒絕公用網路存取

下一步

若要深入了解適用於 MySQL 的 Azure 資料庫安全性功能,請參閱下列文章: