Dela via


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:

Skärmbild av hantering av serverns brandvägg

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:

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.

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.