瞭解防火牆規則

已完成

防火牆對於封鎖未經授權存取受保護的資源至關重要。 每個 Azure SQL Database 都會獲指派一個由 Microsoft 管理的公用 IP 位址。 在每個 Azure 區域中,有一或多個公用 IP 位址可作為資料庫閘道的進入點,然後引導您前往資料庫。

防火牆的運作方式

來自網際網路或 Azure 的任何連線嘗試都必須通過防火牆,才能觸達您的伺服器或資料庫。

Azure SQL Database 的資料庫和伺服器防火牆架構圖表。

Azure 提供內建防火牆來限制存取及保護您的資料庫和資料。 Azure SQL Database 有兩種防火牆規則:伺服器層級 IP 防火牆規則和資料庫層級 IP 防火牆規則。

伺服器層級 IP 防火牆規則

Azure SQL Database 中的伺服器層級和資料庫層級防火牆都會使用 IP 位址規則,而不是 SQL Server 登入。 此方法可讓來自相同公用 IP 位址 (通常是公司的輸出 IP 位址) 的所有使用者存取 SQL Server。

伺服器層級防火牆規則可讓使用者連線到伺服器上的所有資料庫,而資料庫層級防火牆規則用於同意或封鎖特定 IP 位址存取個別資料庫。

您可使用 Azure 入口網站,或藉由執行 Master 資料庫中的 sp_set_firewall_rule 預存程序來設定伺服器層級防火牆規則。 這種彈性可確保您可有效率且安全地管理存取權。

注意

[允許 Azure 服務和資源存取此伺服器] 伺服器設定,啟用後會視為單一防火牆規則。

資料庫層級 IP 防火牆規則

資料庫層級 IP 防火牆規則可讓用戶端藉由為每個資料庫建立規則來存取特定資料庫,包括 Master 資料庫。 設定第一個伺服器層級防火牆之後,這些規則會使用 Transact-SQL 陳述式進行管理。 您必須使用資料庫中的 sp_set_database_firewall_rule 預存程序。

連線到已啟用資料庫層級防火牆規則的資料庫時,Azure SQL Database 會先檢查符合連接字串中資料庫名稱的資料庫層級防火牆規則。 如果沒有這類規則存在,則會檢查伺服器層級 IP 防火牆規則,這些規則會套用至伺服器上的所有資料庫。 如果找到任一規則,連線就會完成。

如果兩種規則都不存在,且使用者透過 SQL Server Management Studio 或 Azure Data Studio 連線,系統就會提示使用者建立防火牆規則,如下所示。

SQL Server Management Studio 中 [新增防火牆規則] 對話框的螢幕快照。

虛擬網路端點

虛擬網路端點允許來自特定 Azure 虛擬網路的流量。 這些規則不僅只會在資料庫層級套用,也會在伺服器層級套用。

此外,服務端點僅套用在一個區域,也就是基礎端點的區域。

另外要注意的是,連線到 Azure SQL Database 的虛擬網路必須具有 Azure SQL Database 公用 IP 位址的輸出存取權,此存取權可使用 Azure SQL Database 的服務標籤進行設定。

若要解決此問題,請確定連線至 Azure SQL Database 的虛擬網路具有 Azure SQL Database 公用 IP 位址的輸出存取權。 此外,您可使用網路安全性群組 (NSG) 來定義和控制輸出流量規則,以確保只允許必要的流量觸達 Azure SQL Database。

私人連結功能可讓您使用私人端點連線到 Azure SQL Database 和其他 PaaS 供應項目。

私人端點可讓連結到您的 Azure SQL Database 的連線完全經由 Azure 骨幹網路進行連線,而非透過公用網際網路。

這項功能會在您的虛擬網路上提供私人 IP 位址。 私人連結的另一項功能是,它允許 Azure Express Route 連線透過該線路連結。

私人連結還有多項優點,包括跨區域私人連線能力,以及只允許連線到特定資源的資料洩漏防護。