Nätverksåtkomstkontroller för Azure SQL Database och Azure Synapse Analytics
gäller för:Azure SQL DatabaseAzure Synapse Analytics (endast dedikerade SQL-pooler)
När du skapar en logisk server från Azure-portalen för Azure SQL Database och Azure Synapse Analytics blir resultatet en offentlig slutpunkt i formatet: yourservername.database.windows.net
.
Som standard nekar den logiska servern alla anslutningar för att säkerställa säkerheten. Du kan använda en eller flera av följande nätverksåtkomstkontroller för att selektivt tillåta åtkomst till en databas via den offentliga slutpunkten
IP-baserade brandväggsregler: Använd den här funktionen för att uttryckligen tillåta anslutningar från en specifik IP-adress. Till exempel från lokala datorer eller ett intervall med IP-adresser genom att ange start- och slut-IP-adressen.
Tillåt att Azure-tjänster och resurser får åtkomst till den här servern: När det är aktiverat kan andra resurser inom Azure-gränsen komma åt SQL Database. En virtuell Azure-dator kan till exempel komma åt SQL Database-resurserna.
Du kan också tillåta privat åtkomst till databasen från virtuella nätverk via:
Brandväggsregler för virtuellt nätverk: Använd den här funktionen för att tillåta trafik från ett specifikt virtuellt nätverk inom Azure-gränsen.
Private Link: Använd den här funktionen för att skapa en privat slutpunkt för den logiska servern i Azure i ett specifikt virtuellt nätverk.
Viktig
Den här artikeln gäller inte för SQL Managed Instance. Mer information om nätverkskonfigurationen finns i ansluta till Azure SQL Managed Instance .
IP-brandväggsregler
IP-baserade brandväggsregler är en funktion i den logiska servern i Azure som förhindrar all åtkomst till servern tills du uttryckligen lägga till IP-adresser för klientdatorerna.
Det finns två typer av brandväggsregler:
- brandväggsregler på servernivå: Dessa regler gäller för alla databaser på servern. De kan konfigureras via Azure-portalen, PowerShell eller T-SQL-kommandon som sp_set_firewall_rule.
- brandväggsregler på databasnivå: Dessa regler gäller för enskilda databaser och kan bara konfigureras med T-SQL-kommandon som sp_set_database_firewall_rule
Följande är begränsningar för namngivning av brandväggsregler:
- Namnet på brandväggsregeln får inte vara tomt.
- Den får inte innehålla följande tecken:
<, >, *, %, &, :, \\, /, ?.
- Det kan inte sluta med en punkt (.).
- Namnet på brandväggsregeln får inte överstiga 128 tecken.
Alla försök att skapa brandväggsregler som inte uppfyller dessa begränsningar misslyckas med ett felmeddelande. Ändringar som görs i befintliga IP-baserade brandväggsregler kan ta upp till 5 minuter att börja gälla.
Tillåt Azure-tjänster
När en ny logisk server skapas från Azure-portalen, är alternativet Tillåt att Azure-tjänster och resurser får åtkomst till den här servern inte markerat och inte aktiverat som standard. Den här inställningen visas när anslutningen tillåts via en offentlig slutpunkt.
Du kan också ändra den här inställningen via inställningen Nätverk när den logiska servern har skapats på följande sätt:
När Tillåt att Azure-tjänster och resurser får åtkomst till den här servern är aktiverad tillåter servern kommunikation från alla resurser inom Azure-gränsen, oavsett om de ingår i din prenumeration. I bakgrunden läggs en särskild brandväggsregel på servernivå till som startar och slutar med IP-adressen för 0.0.0.0
.
I många fall är det mer tillåtande att aktivera inställningen än vad de flesta kunder vill ha. Du kanske vill avmarkera den här inställningen och ersätta den med mer restriktiva IP-brandväggsregler eller använda ett alternativ för privat åtkomst.
Viktig
Kontrollera Tillåt att Azure-tjänster och resurser får åtkomst till den här servern lägger till en IP-baserad brandväggsregel med start- och slut-IP-adressen 0.0.0.0
Detta påverkar dock följande funktioner som körs på virtuella datorer i Azure som inte ingår i ditt virtuella nätverk och därmed ansluter till databasen via en Azure IP-adress:
Import exporttjänst
Import Export Service fungerar inte när Tillåt att Azure-tjänster och resurser får åtkomst till den här servern inte är aktiverat. Du kan dock kringgå problemet genom att manuellt köra SqlPackage från en virtuell Azure-dator eller utföra exporten direkt i koden med hjälp av DACFx-API:et.
Datasynkronisering
För att använda funktionen Datasynkronisering när Tillåt att Azure-tjänster och resurser får åtkomst till den här servern inte har aktiverats, måste du skapa enskilda brandväggsregelposter för att lägga till IP-adresser från SQL-tjänsttaggen för regionen som är värd för Hub-databasen. Lägg till dessa brandväggsregler på servernivå till servrarna som är värdar för både Hub och Medlemsdatabaser (som kan finnas i olika regioner).
Använd följande PowerShell-skript för att generera IP-adresser som motsvarar SQL-tjänsttaggen för regionen USA, västra.
PS C:\> $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\> $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27
Tips
Get-AzNetworkServiceTag returnerar det globala intervallet för SQL Service-taggen trots att parametern Plats har angetts. Se till att filtrera den till den region som är värd för den hubbdatabas som används av synkroniseringsgruppen
Utdata från PowerShell-skriptet finns i CIDR-notation (Classless Inter-Domain Routing). Detta måste konverteras till ett format med start- och slut-IP-adress med hjälp av Get-IPrangeStartEnd.ps1 så här:
PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start end
----- ---
52.229.17.64 52.229.17.127
Du kan använda följande PowerShell-skript för att konvertera alla IP-adresser från CIDR till start- och slut-IP-adressformat.
PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start end
----- ---
13.86.216.0 13.86.216.127
13.86.216.128 13.86.216.191
13.86.216.192 13.86.216.223
Nu kan du lägga till dessa som distinkta brandväggsregler och sedan inaktivera inställningen Tillåt Att Azure-tjänster och resurser får åtkomst till den här servern.
SQL Service Tagg
Tjänsttaggar kan användas i säkerhetsregler och vägar från klienter till SQL Database. Tjänsttaggar kan användas i nätverkssäkerhetsgrupper, Azure Firewall och användardefinierade vägar genom att ange dem i käll- eller målfältet i en säkerhetsregel. Tjänsttaggen Sql består av alla IP-adresser som används av SQL Database. Taggen segmenteras ytterligare efter regioner. Till exempel Sql.WestUS visar alla IP-adresser som används av SQL Database i USA, västra.
Tjänsttaggen Sql består av IP-adresser som krävs för att upprätta anslutning till SQL Database enligt beskrivningen i GATEWAY-IP-adresser. Dessutom associeras en tjänsttagg med all utgående trafik från SQL Database som används i funktioner som:
- Granskning
- Sårbarhetsbedömning
- Import/Export-tjänsten
- OPENROWSET
- Bulkinsert
- sp_invoke_external_rest_endpoint
- Transaktionsregister
- transparent datakryptering i Azure SQL med kundhanterad nyckel
SqlManagement Service-tagg
SqlManagement-tjänsttaggen används för kontrollplansåtgärder mot SQL Database.
Brandväggsregler för virtuellt nätverk
brandväggsregler för virtuella nätverk är enklare alternativ för att upprätta och hantera åtkomst från ett specifikt undernät som innehåller dina virtuella datorer.
Privat länk
Med Private Link kan du ansluta till en server via en privat slutpunkt. En privat slutpunkt är en privat IP-adress i ett specifikt virtuellt nätverk och undernät.
Relaterat innehåll
En snabbstart om hur du skapar en IP-brandväggsregel på servernivå finns i Skapa en databas i SQL Database.
En snabbguide om hur du skapar en brandväggsregel för virtuella nätverk på servernivå finns under Virtuella nätverkstjänstslutpunkter och regler för Azure SQL Database.
Mer information om hur du ansluter till en databas i SQL Database från program med öppen källkod eller partner finns i Kodexempel för klientens snabbstart till SQL Database.
Information om andra portar som du kan behöva öppna finns i avsnittet SQL Database: Outside vs inside i Ports beyond 1433 for ADO.NET 4.5 and SQL Database
En översikt över Azure SQL Database Connectivity finns i Azure SQL Connectivity Architecture
En översikt över Azure SQL Database-säkerhet finns i Skydda din databas