Pravidla firewallu protokolu IP ve službě Azure SQL Database a Azure Synapse
Platí pro: Azure SQL Database Azure 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í aplikace ke službě 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
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.
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í 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í 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:
- v roli Přispěvatel SQL Serveru
- v roli Správce zabezpečení SQL
- vlastníka prostředku, který obsahuje Azure SQL Server
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.
Tip
Kurz najdete v tématu Vytvoření databáze pomocí webu Azure Portal.
Ze stránky přehledu databáze
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.
Otevře se stránka Sítě pro server.
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.
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.
Chcete-li nastavit pravidlo na úrovni serveru z této stránky, vyberte v nabídce Nastavení na levé straně možnost Sítě.
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 | Aktualizuje 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 $servername
ná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:
- Přihlaste se k portálu.
- Na serveru, který hostuje vaši databázi, přejděte na kartu Konfigurace.
- 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
- Ověřte, že vaše prostředí podnikové sítě umožňuje příchozí komunikaci z rozsahů výpočetních IP adres (včetně rozsahů SQL), které používají datacentra Azure. Možná budete muset tyto IP adresy přidat do seznamu povolených adres. Viz rozsahy IP adres datacentra Microsoft Azure.
- Podívejte se na náš rychlý start týkající se vytvoření izolované databáze ve službě Azure SQL Database.
- Nápovědu k připojení k databázi ve službě Azure SQL Database z opensourcových aplikací nebo aplikací třetích stran najdete v ukázkách kódu pro rychlý start klienta do služby Azure SQL Database.
- Informace odalšíchch ADO.NET ch kódech najdete informace o dalších portech, které možná budete muset otevřít, najdete v části Sql
- Přehled zabezpečení služby Azure SQL Database najdete v tématu Zabezpečení databáze.