適用于 Azure SQL Database 和 Azure Synapse 分析的 Azure 私人連結

適用于:Azure SQL Database Azure Synapse Analytics (專用 SQL資料庫 (前 SQL DW) )

私人連結可讓您透過私人端點連結至 Azure 中的各種 PaaS 服務。 若要查看支援私人連結功能的 PaaS 服務清單,請前往私人 連結檔 頁面。 私人端點是特定 VNet 和子網中的 私人 IP 位址。

重要

本文適用于 Azure Synapse 分析Azure SQL Database中SQL或 (的 SQL DW) 資料庫。 這些設定會SQL Database所有SQL專用 (,SQL與伺服器) 的 DW 資料庫。 為了簡單起見,"資料庫"一詞是指 Azure SQL Database 和 Azure Synapse Analyticss 中的資料庫。 同樣地,任何對"server"的參照,都是指在 Azure Synapse Analytics 中託管 Azure SQL Database 和專用 SQL (SQL DW) 的邏輯 SQL 伺服器。 本文不適用於Azure Synapse 分析工作區中的 Azure SQL管理實例SQL專用資料庫。

建立程式

您可以使用 Azure 入口網站、PowerShell 或 Azure CLI 建立私人端點:

核准程式

一旦網路系統管理員建立私人端點 (PE) ,SQL 系統管理員就可以管理私人端點連接 (PEC) SQL Database。

  1. 按照下列螢幕擷取畫面中顯示的步驟,流覽至 Azure 入口網站中的伺服器資源

    • (1) 選取左窗格中的專用端點連接
    • (2) 顯示所有私人端點連接清單 (PC)
    • (建立 3) 對應私人端點 (PE) 端點 Screenshot of all PECs
  2. 選取清單中的個別 PEC。 Screenshot selected PEC

  3. 管理員SQL選擇核准或拒絕 PEC,也可以選擇性地新增簡短文字回復。 Screenshot of PEC approval

  4. 核准或拒絕之後,清單會連同回應文字一起反映適當的狀態。 Screenshot of all PECs after approval

  5. 最後按一下私人端點名稱 Screenshot of PEC details

    引導至網路介面詳細資料 Screenshot of NIC details

    最後導致私人端點的 IP 位址 Screenshot of Private IP

在同一SQL Database中測試從 Azure VM 與用戶端的關聯性

針對此案例,假設您已建立 Azure 虛擬機器 (VM) 在私人端點的同一個Windows中執行最新版本的虛擬機器。

  1. 啟動遠端桌面 (RDP) 會話並連接到虛擬機器

  2. 接著,您可以執行一些基本的連接檢查,以確保虛擬機器透過私人端點SQL Database使用下列工具連接到該虛擬機器:

    1. Telnet
    2. Psping
    3. Nmap
    4. SQL Server Management Studio (SSMS)

使用 Telnet 檢查連接

Telnet Client是Windows功能,可用來測試連線性。 視作業系統的版本Windows,您可能需要明確啟用此功能。

安裝 Telnet 之後,開啟命令提示視窗。 執行 Telnet 命令,並指定資料庫的 IP 位址和專用端點,SQL Database。

>telnet 10.9.0.4 1433

當 Telnet 成功連接時,您將在命令視窗看到一個空白畫面,如下所示的影像:

Diagram of telnet

使用 Psping 檢查連接

Psping 可用來檢查私人端點是否正在聆聽埠 1433 上的連接。

提供邏輯伺服器和埠 1433 SQL FQDN 以執行 psping:

>psping.exe mysqldbsrvr.database.windows.net:1433
...
TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

輸出顯示 Psping 可以 ping 與私人端點相關聯的私人 IP 位址。

使用 Nmap 檢查連接

Nmap (網路對應) 是一種免費且開放來源的工具,可用於網路探索和安全性稽核。 如要詳細資訊和下載連結,請流覽 https://nmap.org 。您可以使用此工具,確保私人端點正在聆聽埠 1433 上的連接。

提供託管私人端點之子網的位址範圍,以如下方式執行 Nmap。

>nmap -n -sP 10.9.0.0/24
...
Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

結果顯示有一個 IP 位址已上位;對應到私人端點的 IP 位址。

使用 SQL Server Management Studio (SSMS)

注意

用戶端連接字串 (FQDN) 完整功能變數名稱 () 。 任何直接登入 IP 位址或使用私人連結 FQDN () <server>.privatelink.database.windows.net 失敗。 此行為是由設計所設計,因為私人端點會路由流量至SQL閘道,而且必須指定正確的 FQDN 才能成功登入。

請按照下列步驟使用 SSMS以連接到 SQL Database。 當您使用帳戶SQL Database SSMS,下列查詢應反映client_net_address與您連接之 Azure VM 之私人 IP 位址的 IP 位址:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

限制

私人端點的建立僅支援 Proxy為連接策略

通過私人對等的內部部署連接

當客戶從內部部署電腦連接到公用端點時,其 IP 位址必須新增到 IP 型防火牆,使用 Server 層級防火牆規則。 雖然此模型很適合用於允許存取個別電腦以執行開發或測試工作負載,但難以在生產環境中管理。

使用 Private Link,客戶可以使用 ExpressRoute、私人對等或 VPN 管道,啟用對私人端點的跨內部部署存取。 客戶接著可以停用透過公用端點進行的所有存取,而不要使用 IP 型防火牆來允許任何 IP 位址。

用戶端可以從同一個虛擬網路、同一區域的對等虛擬網路,或透過虛擬網路,跨區域連接到虛擬網路連接,以連接到 Private 端點。 此外,用戶端可以使用 ExpressRoute、私人對等或 VPN 管道從內部部署進行連接。 以下是顯示常見使用案例的簡化圖表。

Diagram of connectivity options

此外,未直接在虛擬網路中執行但與它整合的服務 (例如 App Service Web App 或函數) 也可以達到資料庫的專用連線。 有關此特定使用案例詳細資訊,請參閱具有 Azure 專用SQL資料庫架構案例。

從對等虛擬網路中的 Azure VM 進行連接

設定虛擬網路對等,以在對等SQL Database中從 Azure VM 建立與網路的連接。

從虛擬網路中的 Azure VM 連接到虛擬網路環境

虛擬網路設定為虛擬網路 VPN 閘道連接,以從不同區域或訂閱的 Azure VM SQL Database建立與資料庫中的連接。

從內部部署環境以 VPN 進行連接

若要從內部部署環境與 SQL Database 建立資料庫的SQL Database,請選擇並執行其中一個選項:

使用 Polybase 和 COPY 語句,從 Azure Synapse Analyticse Azure 儲存體到

PolyBase 和 COPY 語句通常用於將資料從帳戶載入至 Azure Synapse 分析Azure 儲存體中。 如果您載入資料的 Azure 儲存體 帳戶僅透過私人端點、服務端點或 IP 防火牆限制對一組虛擬網路子網的存取,則 PolyBase 與該帳戶的 COPY 語句之間的連接將會中斷。 若要使用 Azure Synapse Analytics 連接至Azure 儲存體保護到虛擬網路的資料來啟用匯進和匯出案例,請遵循此處提供的步驟進行

資料外泄防護

資料外泄Azure SQL Database使用者 ,例如資料庫系統管理員,能夠從一個系統解壓縮資料,並移動組織外部的另一個位置或系統。 例如,使用者將資料移至協力廠商擁有的儲存空間帳戶。

請考慮在 Azure 虛擬機器內執行SQL Server Management Studio (SSMS) ,以在 SQL Database 中執行SQL Database。 此資料庫位於美國西部資料中心。 以下範例顯示如何使用網路存取控制限制公用端點SQL Database存取。

  1. 將允許 Azure 服務SQL Database關閉,以透過公用端點停用所有 Azure 服務流量。 確保伺服器和資料庫層級防火牆規則不允許 IP 位址。 如要取得詳細資訊,請參閱Azure SQL Database和 Azure Synapse Analyticss 網路存取控制
  2. 只允許使用虛擬機器的私人 IP 位址SQL Database資料庫的流量。 詳細資訊,請參閱服務端點和虛擬網路防火牆規則文章
  3. 在 Azure VM 上,使用網路安全性群組和 NSG (和服務標記) 縮小外發連接的範圍,如下所示
    • 指定 NSG 規則以允許服務標記 = SQL。WestUs - 僅允許SQL Database美國西部的
    • 指定具有較高 (的 NSG 規則) 拒絕服務標記 = SQL的流量 - 拒絕SQL Database所有區域的通訊

在此設定結束時,Azure VM 只能連接到美國西部SQL Database資料庫中的資料庫。 不過,連線性並不限於單一資料庫SQL Database。 VM 仍然可以連接到美國西部區域的任何資料庫,包括未屬於訂閱的資料庫。 雖然我們已將上述案例的資料外泄範圍縮小為特定區域,但我們尚未完全排除。

有了私人連結,客戶現在可以設定 NSG 等網路存取控制,以限制對私人端點的存取。 接著,個別 Azure PaaS 資源會對應到特定的私人端點。 惡意的內部人員只能存取對應 PaaS 資源 (例如,SQL Database) 中的資料庫,且沒有其他資源。

下一個步驟

  • 有關安全性Azure SQL Database概觀,請參閱保護您的資料庫
  • 有關連接Azure SQL Database概觀,請參閱Azure SQL連接架構
  • 您可能也有興趣使用與Azure SQL資料庫架構建立私人連結的 Web 應用程式,此案例可將虛擬網路外部的 Web 應用程式連接到資料庫的私人端點。