Pravidla firewallu protokolu IP ve službě Azure SQL Database a Azure Synapse

Platí pro:Azure SQL DatabaseAzure Synapse Analytics

Když vytvoříte nový server ve službě Azure SQL Database nebo Azure Synapse Analytics s názvem mysqlserver, například brána firewall na úrovni serveru blokuje veškerý přístup k veřejnému koncovému bodu pro server (který je přístupný na mysqlserver.database.windows.net). Pro zjednodušení se služba SQL Database používá k odkazování na SLUŽBU SQL Database i Azure Synapse Analytics. Tento článek se nevztahuje na spravovanou instanci Azure SQL. Informace o konfiguraci sítě najdete v tématu Připojení vaší aplikaci do služby Azure SQL Managed Instance.

Poznámka:

ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).

Jak funguje brána firewall

Připojení pokusy o připojení z internetu a Azure musí před dosažením vašeho serveru nebo databáze projít bránou firewall, jak ukazuje následující diagram.

Firewall configuration diagram

Důležité

Azure Synapse podporuje pouze pravidla brány firewall protokolu IP na úrovni serveru. Nepodporuje pravidla brány firewall protokolu IP na úrovni databáze.

Pravidla firewallu protokolu IP na úrovni serveru

Tato pravidla umožňují klientům přistupovat k celému serveru, to znamená ke všem databázím, které server spravuje. Pravidla jsou uložena v hlavní databázi. Maximální počet pravidel brány firewall protokolu IP na úrovni serveru je omezen na 256 pro server. Pokud máte povolené nastavení Umožnit službám a prostředkům Azure přistupovat k tomuto serveru, toto nastavení se počítá jako jedno pravidlo firewallu serveru.

Pravidla brány firewall protokolu IP na úrovni serveru můžete nakonfigurovat pomocí webu Azure Portal, PowerShellu nebo příkazů Jazyka Transact-SQL.

Poznámka:

Maximální počet pravidel brány firewall protokolu IP na úrovni serveru je při konfiguraci pomocí webu Azure Portal omezen na 256.

  • Pokud chcete použít portál nebo PowerShell, musíte být vlastníkem předplatného nebo přispěvatelem předplatného.
  • Chcete-li použít Transact-SQL, musíte se připojit k hlavní databázi jako hlavní databáze jako hlavní přihlášení na úrovni serveru nebo jako správce Microsoft Entra. (Pravidlo brány firewall protokolu IP na úrovni serveru musí nejprve vytvořit uživatel, který má oprávnění na úrovni Azure.)

Poznámka:

Při vytváření nového logického SQL serveru z webu Azure Portal je ve výchozím nastavení možnost Povolit službám a prostředkům Azure přístup k tomuto nastavení serveru nastavena na Ne.

Pravidla brány firewall protokolu IP na úrovni databáze

Pravidla firewallu protokolu IP na úrovni databáze umožňují klientům přistupovat k určitým (zabezpečeným) databázím. Vytvoříte pravidla pro každou databázi (včetně hlavní databáze) a uložíte je do jednotlivých databází.

  • Pravidla firewallu protokolu IP na úrovni databáze můžete vytvářet a spravovat pouze pro hlavní a uživatelské databáze pomocí příkazů Transact-SQL a až po konfiguraci první brány firewall na úrovni serveru.
  • Pokud v pravidlu firewallu protokolu IP na úrovni databáze zadáte rozsah IP adres, který je mimo rozsah v pravidlu firewallu protokolu IP na úrovni serveru, budou mít k dané databázi přístup pouze klienti, jejichž IP adresa je v rozsahu na úrovni databáze.
  • Výchozí hodnota je až 256 pravidel brány firewall protokolu IP na úrovni databáze. Další informace o konfiguraci pravidel brány firewall protokolu IP na úrovni databáze najdete v příkladu dále v tomto článku a v tématu sp_set_database_firewall_rule (Azure SQL Database).

Doporučení pro nastavení pravidel brány firewall

Doporučujeme používat pravidla brány firewall protokolu IP na úrovni databáze, kdykoli je to možné. Tento přístup zvyšuje zabezpečení a zlepšuje přenositelnost databází. Pro správce použijte pravidla brány firewall protokolu IP na úrovni serveru. Použijte je také v případě, že máte mnoho databází se stejnými požadavky na přístup a nechcete konfigurovat každou databázi jednotlivě.

Poznámka:

Informace o přenosných databázích v kontextu kontinuity podnikových procesů najdete v tématu Požadavky na ověřování pro zotavení po havárii.

Porovnání pravidel firewallu protokolu IP na úrovni serveru a na úrovni databáze

Mají být uživatelé jedné databáze plně izolovaní od jiné databáze?

Pokud ano, použijte pravidla brány firewall protokolu IP na úrovni databáze k udělení přístupu. Tato metoda zabraňuje použití pravidel brány firewall protokolu IP na úrovni serveru, která umožňují přístup přes bránu firewall ke všem databázím. Tím by se snížila hloubka vaší obrany.

Potřebují uživatelé na IP adresách přístup ke všem databázím?

Pokud ano, pomocí pravidel brány firewall protokolu IP na úrovni serveru snižte počet, kolikrát musíte nakonfigurovat pravidla brány firewall protokolu IP.

Má osoba nebo tým, který konfiguruje pravidla brány firewall protokolu IP, přístup jenom přes Azure Portal, PowerShell nebo rozhraní REST API?

Pokud ano, musíte použít pravidla brány firewall protokolu IP na úrovni serveru. Pravidla brány firewall protokolu IP na úrovni databáze je možné nakonfigurovat pouze prostřednictvím jazyka Transact-SQL.

Je osoba nebo tým, který konfiguruje pravidla brány firewall protokolu IP, zakázáno mít na úrovni databáze oprávnění vysoké úrovně?

Pokud ano, použijte pravidla brány firewall protokolu IP na úrovni serveru. Ke konfiguraci pravidel brány firewall protokolu IP na úrovni databáze prostřednictvím jazyka Transact-SQL potřebujete alespoň oprávnění CONTROL DATABASE na úrovni databáze.

Spravuje osoba nebo tým, který konfiguruje nebo audituje pravidla brány firewall protokolu IP centrálně, pravidla brány firewall protokolu IP pro mnoho databází (třeba stovky) databází?

V tomto scénáři jsou osvědčené postupy určeny vašimi potřebami a prostředím. Pravidla brány firewall protokolu IP na úrovni serveru můžou být jednodušší, ale skriptování může konfigurovat pravidla na úrovni databáze. A i když používáte pravidla brány firewall protokolu IP na úrovni serveru, možná budete muset auditovat pravidla brány firewall protokolu IP na úrovni databáze, abyste zjistili, jestli uživatelé s oprávněním CONTROL k vytváření pravidel brány firewall protokolu IP na úrovni databáze.

Můžu použít kombinaci pravidel brány firewall protokolu IP na úrovni serveru a databáze?

Ano. Někteří uživatelé, například správci, můžou potřebovat pravidla brány firewall protokolu IP na úrovni serveru. Jiní uživatelé, například uživatelé databázové aplikace, mohou potřebovat pravidla brány firewall protokolu IP na úrovni databáze.

Připojení iony z internetu

Když se počítač pokusí připojit k vašemu serveru z internetu, brána firewall nejprve zkontroluje původní IP adresu požadavku na pravidla brány firewall protokolu IP na úrovni databáze pro databázi, kterou připojení požaduje.

  • Pokud je adresa v rozsahu zadaném v pravidlech brány firewall protokolu IP na úrovni databáze, připojení k databázi obsahující pravidlo se udělí.
  • Pokud adresa není v rozsahu pravidel brány firewall protokolu IP na úrovni databáze, brána firewall zkontroluje pravidla brány firewall protokolu IP na úrovni serveru. Pokud je adresa v rozsahu, který je v pravidlech brány firewall protokolu IP na úrovni serveru, připojení se udělí. Pravidla brány firewall protokolu IP na úrovni serveru platí pro všechny databáze spravované serverem.
  • Pokud adresa není v rozsahu, který je v žádném z pravidel brány firewall protokolu IP na úrovni databáze nebo serveru, požadavek na připojení selže.

Poznámka:

Pokud chcete získat přístup ke službě Azure SQL Database z místního počítače, ujistěte se, že brána firewall v síti a místním počítači povoluje odchozí komunikaci na portu TCP 1433.

Připojení iony z Azure

Aby se aplikace hostované v Azure mohly připojit k vašemu SQL serveru, musí být povolená připojení Azure. Pokud chcete povolit připojení Azure, musí existovat pravidlo brány firewall s počátečními a koncovými IP adresami nastavenými na 0.0.0.0. Toto doporučené pravidlo platí jenom pro Azure SQL Database.

Když se aplikace z Azure pokusí připojit k serveru, brána firewall zkontroluje, jestli jsou připojení Azure povolená ověřením, že toto pravidlo brány firewall existuje. Můžete ho zapnout přímo z podokna webu Azure Portal přepnutím možnosti Povolit službám a prostředkům Azure přístup k tomuto serveru v nastavení brány firewall a virtuálních sítí. Přepnutí nastavení na ZAPNUTO vytvoří příchozí pravidlo brány firewall pro IP adresu 0.0.0.0 – 0.0.0.0 s názvem AllowAllWindowsAzureIps. Pravidlo můžete zobrazit v master zobrazení databáze sys.firewall_rules . Pomocí PowerShellu nebo Azure CLI vytvořte pravidlo brány firewall s počátečními a koncovými IP adresami nastavenými na 0.0.0.0, pokud nepoužíváte portál.

Důležité

Tato možnost nakonfiguruje bránu firewall tak, aby umožňovala všechna připojení z Azure, včetně připojení z předplatných jiných zákazníků. Pokud vyberete tuto možnost, ujistěte se, že vaše přihlašovací a uživatelská oprávnění omezují přístup pouze na oprávněné uživatele.

Oprávnění

Abyste mohli vytvářet a spravovat pravidla firewallu protokolu IP pro Azure SQL Serveru, musíte být:

Vytváření a správa pravidel firewallu protokolu IP

První nastavení brány firewall na úrovni serveru vytvoříte pomocí webu Azure Portal nebo programově pomocí Azure PowerShellu, Azure CLI nebo rozhraní Azure REST API. Pomocí těchto metod nebo jazyka Transact-SQL vytvoříte a spravujete další pravidla brány firewall protokolu IP na úrovni serveru.

Důležité

Pravidla brány firewall protokolu IP na úrovni databáze je možné vytvářet a spravovat pouze pomocí jazyka Transact-SQL.

Pro zvýšení výkonu se pravidla firewallu protokolu IP na úrovni serveru dočasně ukládají do mezipaměti na úrovni databáze. Pokud chcete mezipaměť aktualizovat, podívejte se na příkaz DBCC FLUSHAUTHCACHE.

Tip

Auditování databáze můžete použít k auditování změn brány firewall na úrovni serveru a databáze.

Použití webu Azure Portal ke správě pravidel brány firewall protokolu IP na úrovni serveru

Pokud chcete nastavit pravidlo brány firewall protokolu IP na úrovni serveru na webu Azure Portal, přejděte na stránku přehledu vaší databáze nebo serveru.

Ze stránky přehledu databáze

  1. Pokud chcete nastavit pravidlo brány firewall protokolu IP na úrovni serveru na stránce přehledu databáze, vyberte Nastavit bránu firewall serveru na panelu nástrojů, jak ukazuje následující obrázek.

    Screenshot of the set server firewall setting in the Azure portal.

    Otevře se stránka Sítě pro server.

  2. Do části Pravidla brány firewall přidejte pravidlo pro přidání IP adresy počítače, který používáte, a pak vyberte Uložit. Pro vaši aktuální IP adresu se vytvoří pravidlo brány firewall protokolu IP na úrovni serveru.

    Screenshot shows the Networking page where you can set the server-level IP firewall rules.

Ze stránky přehledu serveru

Otevře se stránka přehledu pro váš server. Zobrazuje plně kvalifikovaný název serveru (například mynewserver20170403.database.windows.net) a poskytuje možnosti pro další konfiguraci.

  1. Chcete-li nastavit pravidlo na úrovni serveru z této stránky, vyberte v nabídce Nastavení na levé straně možnost Sítě.

  2. Do části Pravidla brány firewall přidejte pravidlo pro přidání IP adresy počítače, který používáte, a pak vyberte Uložit. Pro vaši aktuální IP adresu se vytvoří pravidlo brány firewall protokolu IP na úrovni serveru.

Použití jazyka Transact-SQL ke správě pravidel brány firewall protokolu IP

Zobrazení katalogu nebo uložená procedura Level Popis
sys.firewall_rules Server Zobrazí aktuální pravidla brány firewall protokolu IP na úrovni serveru.
sp_set_firewall_rule Server Vytvoří nebo aktualizuje pravidla brány firewall protokolu IP na úrovni serveru.
sp_delete_firewall_rule Server Odebere pravidla brány firewall protokolu IP na úrovni serveru.
sys.database_firewall_rules Databáze Zobrazí aktuální pravidla brány firewall protokolu IP na úrovni databáze.
sp_set_database_firewall_rule Databáze Vytvoří nebo aktualizuje pravidla brány firewall protokolu IP na úrovni databáze.
sp_delete_database_firewall_rule Databáze Odebere pravidla brány firewall protokolu IP na úrovni databáze.

Následující příklad zkontroluje stávající pravidla, povolí rozsah IP adres na serveru Contoso a odstraní pravidlo brány firewall protokolu IP:

SELECT * FROM sys.firewall_rules ORDER BY name;

Dále přidejte pravidlo brány firewall protokolu IP na úrovni serveru.

EXECUTE sp_set_firewall_rule @name = N'ContosoFirewallRule',
   @start_ip_address = '192.168.1.1', @end_ip_address = '192.168.1.10'

Pokud chcete odstranit pravidlo brány firewall protokolu IP na úrovni serveru, spusťte sp_delete_firewall_rule uloženou proceduru. Následující příklad odstraní pravidlo ContosoFirewallRule:

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

Použití PowerShellu ke správě pravidel brány firewall protokolu IP na úrovni serveru

Poznámka:

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Důležité

Azure SQL Database stále podporuje modul Azure Resource Manageru v PowerShellu, ale veškerý vývoj je teď určený pro modul Az.Sql. Tyto rutiny najdete v tématu AzureRM.Sql. Argumenty pro příkazy v modulech Az a AzureRm jsou podstatně identické.

Rutina Level Popis
Get-AzSqlServerFirewallRule Server Vrátí aktuální pravidla brány firewall na úrovni serveru.
New-AzSqlServerFirewallRule Server Vytvoří nové pravidlo brány firewall na úrovni serveru
Set-AzSqlServerFirewallRule Server Aktualizuje vlastnosti existujícího pravidla brány firewall na úrovni serveru.
Remove-AzSqlServerFirewallRule Server Odebere pravidla brány firewall na úrovni serveru.

Následující příklad používá PowerShell k nastavení pravidla brány firewall protokolu IP na úrovni serveru:

New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `
    -ServerName $servername `
    -FirewallRuleName "ContosoIPRange" -StartIpAddress "192.168.1.0" -EndIpAddress "192.168.1.255"

Tip

Pro $servername zadejte název serveru, nikoli plně kvalifikovaný název DNS, například místo mysqldbserver.database.windows.net

Příklady PowerShellu v kontextu rychlého startu najdete v tématu Vytvoření databáze – PowerShell a vytvoření izolované databáze a konfigurace pravidla brány firewall protokolu IP na úrovni serveru pomocí PowerShellu.

Použití rozhraní příkazového řádku ke správě pravidel brány firewall protokolu IP na úrovni serveru

Rutina Level Popis
az sql server firewall-rule create Server Vytvoří pravidlo brány firewall protokolu IP serveru.
az sql server firewall-rule list Server Vypíše pravidla brány firewall protokolu IP na serveru.
az sql server firewall-rule show Server Zobrazuje podrobnosti pravidla brány firewall protokolu IP.
az sql server firewall-rule update Server Aktualizace pravidlo brány firewall protokolu IP
az sql server firewall-rule delete Server Odstraní pravidlo brány firewall protokolu IP.

Následující příklad používá rozhraní příkazového řádku k nastavení pravidla brány firewall protokolu IP na úrovni serveru:

az sql server firewall-rule create --resource-group myResourceGroup --server $servername \
-n ContosoIPRange --start-ip-address 192.168.1.0 --end-ip-address 192.168.1.255

Tip

Zadejte $servernamenázev serveru, nikoli plně kvalifikovaný název DNS. Například místo mysqldbserver .mysqldbserver.database.windows.net

Příklad rozhraní příkazového řádku v kontextu rychlého startu najdete v tématu Vytvoření databáze – Azure CLI a vytvoření izolované databáze a konfigurace pravidla brány firewall protokolu IP na úrovni serveru pomocí Azure CLI.

Pro Azure Synapse Analytics si projděte následující příklady:

Rutina Level Popis
az synapse workspace firewall-rule create Server Vytvoření pravidla brány firewall
az synapse workspace firewall-rule delete Server Odstranění pravidla firewallu
az synapse workspace firewall-rule list Server Výpis všech pravidel brány firewall
az synapse workspace firewall-rule show Server Získání pravidla brány firewall
az synapse workspace firewall-rule update Server Aktualizace pravidla brány firewall
az synapse workspace firewall-rule wait Server Umístěte rozhraní příkazového řádku do stavu čekání, dokud nebude splněna podmínka pravidla brány firewall.

Následující příklad používá rozhraní příkazového řádku k nastavení pravidla brány firewall protokolu IP na úrovni serveru v Azure Synapse:

az synapse workspace firewall-rule create --name AllowAllWindowsAzureIps --workspace-name $workspacename --resource-group $resourcegroupname --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

Použití rozhraní REST API ke správě pravidel brány firewall protokolu IP na úrovni serveru

rozhraní API Level Popis
Výpis pravidel brány firewall Server Zobrazí aktuální pravidla brány firewall protokolu IP na úrovni serveru.
Vytvoření nebo aktualizace pravidel brány firewall Server Vytvoří nebo aktualizuje pravidla brány firewall protokolu IP na úrovni serveru.
Odstranění pravidel brány firewall Server Odebere pravidla brány firewall protokolu IP na úrovni serveru.
Získání pravidel brány firewall Server Získá pravidla brány firewall protokolu IP na úrovni serveru.

Řešení potíží s bránou firewall databáze

Pokud se přístup ke službě Azure SQL Database nechová podle očekávání, zvažte následující body.

  • Konfigurace místní brány firewall:

    Než bude mít počítač přístup ke službě Azure SQL Database, možná budete muset na počítači vytvořit výjimku brány firewall pro port TCP 1433. Pokud chcete vytvořit připojení v rámci cloudové hranice Azure, možná budete muset otevřít další porty. Další informace najdete v části Sql Database: Mimo vs. uvnitř portů nad 1433 pro ADO.NET 4.5 a Azure SQL Database.

  • Překlad síťových adres:

    Kvůli překladu síťových adres (NAT) se IP adresa používaná vaším počítačem pro připojení ke službě Azure SQL Database může lišit od IP adresy v nastavení konfigurace IP adresy vašeho počítače. Pokud chcete zobrazit IP adresu, kterou váš počítač používá pro připojení k Azure:

    1. Přihlaste se k portálu.
    2. Na serveru, který hostuje vaši databázi, přejděte na kartu Konfigurace.
    3. Aktuální IP adresa klienta se zobrazí v části Povolené IP adresy . Výběrem možnosti Přidat pro povolené IP adresy povolíte tomuto počítači přístup k serveru.
  • Změny seznamu povolených položek se ještě neprojevily:

    Může trvat až pět minut, než se změny konfigurace brány firewall služby Azure SQL Database projeví.

  • Přihlášení není autorizované nebo se použilo nesprávné heslo:

    Pokud přihlášení nemá oprávnění k serveru nebo je heslo nesprávné, připojení k serveru se odepře. Vytvoření nastavení brány firewall dává klientům příležitost se připojit pouze k serveru. Klient musí stále poskytovat nezbytné přihlašovací údaje zabezpečení. Další informace o přípravě přihlášení naleznete v tématu Řízení a udělení přístupu k databázi.

  • Dynamická IP adresa:

    Pokud máte připojení k internetu, které používá dynamické přidělování IP adres a máte potíže se dostat přes bránu firewall, vyzkoušejte jedno z následujících řešení:

    • Požádejte svého poskytovatele internetových služeb o rozsah IP adres přiřazený klientským počítačům, které mají přistup k serveru. Přidejte tento rozsah IP adres jako pravidlo brány firewall protokolu IP.
    • Místo toho získejte statické IP adresy pro klientské počítače. Přidejte IP adresy jako pravidla brány firewall protokolu IP.

Další kroky