Använd tjänstslutpunkter och regler för virtuella nätverk för servrar i Azure SQL Database

gäller för:Azure SQL Database

Virtuella nätverksregler är en brandväggsfunktion som styr om servern för dina databaser och elastiska pooler i Azure SQL Database accepterar kommunikation som skickas från särskilda subnät i virtuella nätverk. Den här artikeln förklarar varför regler för virtuella nätverk ibland är ditt bästa alternativ för att säkert möjliggöra kommunikation till din databas i SQL Database.

Not

I denna artikel syftar server på den logiska servern som hostar databaser i Azure SQL Database.

Om du vill skapa en regel för virtuellt nätverk måste det först finnas en tjänstslutpunkt för virtuellt nätverk för regeln att referera till.

Not

Microsoft Entra ID tidigare kallades Azure Active Directory (Azure AD).

Skapa en regel för virtuellt nätverk

Om du bara vill skapa en regel för virtuellt nätverk kan du gå vidare till stegen och förklaringen senare i den här artikeln.

Information om regler för virtuellt nätverk

Det här avsnittet beskriver flera detaljer om regler för virtuella nätverk.

Endast en geografisk region

Varje tjänstslutpunkt för virtuellt nätverk gäller endast för en Azure-region. Slutpunkten gör det inte möjligt för andra regioner att acceptera kommunikation från undernätet.

Alla regler för virtuella nätverk är begränsade till den region som dess underliggande slutpunkt gäller för.

Servernivå, inte databasnivå

Varje regel för virtuellt nätverk gäller för hela servern, inte bara för en viss databas på servern. Med andra ord gäller regler för virtuella nätverk på servernivå, inte på databasnivå.

IP-regler kan däremot tillämpas på båda nivåer.

Roller för säkerhetsadministration

Det finns en uppdelning av säkerhetsroller i administrationen av tjänstslutpunkter för virtuella nätverk. Åtgärden krävs från var och en av följande roller:

  • Nätverksadministratör (nätverksdeltagare roll): Aktivera slutpunkten.
  • Database Admin (SQL Server-deltagare roll): Uppdatera åtkomstkontrollistan (ACL) för att lägga till det angivna undernätet på servern.

Alternativ för Azure RBAC

Rollerna nätverksadministratör och databasadministratör har fler funktioner än vad som behövs för att hantera regler för virtuella nätverk. Du behöver bara en delmängd av deras funktioner.

Du kan använda rollbaserad åtkomstkontroll (RBAC) i Azure för att skapa en enda anpassad roll som bara har den nödvändiga deluppsättningen av funktioner. Du kan använda den anpassade rollen istället för att involvera antingen nätverksadministratören eller databasadministratören. Attackytan är mindre om du lägger till en användare i en anpassad roll än om du lägger till användaren i de andra två stora administratörsrollerna.

Not

I vissa fall finns databasen i SQL Database och undernätet för det virtuella nätverket i olika prenumerationer. I dessa fall måste du säkerställa att följande konfigurationer:

  • Användaren har de behörigheter som krävs för att initiera åtgärder, till exempel att aktivera tjänstslutpunkter och lägga till ett virtuellt nätverksundernät till den angivna servern.
  • Båda prenumerationerna har leverantören Microsoft.Sql registrerad.

Begränsningar

För SQL Database har funktionen regler för virtuella nätverk följande begränsningar:

  • I brandväggen för databasen i SQL Database refererar varje regel för virtuella nätverk till ett undernät. Du måste placera alla dessa refererade subnät i samma geografiska region som databasen finns i.
  • Varje server kan ha upp till 128 ACL-poster för valfritt virtuellt nätverk.
  • Regler för virtuella nätverk gäller endast för virtuella Azure Resource Manager-nätverk och inte för klassisk distributionsmodell nätverk.
  • På brandväggen gäller IP-adressintervall för följande nätverkselement, men reglerna för virtuella nätverk gör det inte:
  • Båda prenumerationerna måste finnas i samma Microsoft Entra-klientorganisation.

Överväganden när du använder tjänstslutpunkter

När du använder tjänstslutpunkter för SQL Database, granska följande aspekter:

  • Utgående trafik till Azure SQL Databases offentliga IP-adresser krävs. Du måste öppna nätverkssäkerhetsgrupper (NSG) för SQL Database-IP-adresser för att tillåta anslutning. Du kan göra detta med hjälp av NSG-tjänsttaggar för SQL Database.

ExpressRoute

Om du använder ExpressRoute från dina lokaler, för publik peering eller Microsoft-peering, behöver du identifiera de NAT-IP-adresser som används. För offentlig peering använder varje ExpressRoute-krets som standard två NAT IP-adresser som tillämpas på Azure-tjänsttrafik när trafiken kommer in i Microsoft Azure-nätverkets stamnät. För Microsoft-peering tillhandahåller antingen kunden eller tjänsteleverantören de NAT-IP-adresser som används. Om du vill tillåta åtkomst till dina tjänstresurser måste du tillåta dessa offentliga IP-adresser i resursens IP-brandväggsinställning. Om du vill hitta ExpressRoute-kretsens IP-adresser för offentlig peering, öppna ett supportärende med ExpressRoute via Azure-portalen. Mer information om NAT för offentlig ExpressRoute- och Microsoft-peering finns i NAT-krav för offentliga Azure-peering-.

Om du vill tillåta kommunikation från din krets till SQL Database måste du skapa IP-nätverksregler för de offentliga IP-adresserna på din NAT.

Effekten av att använda tjänstslutpunkter för virtuellt nätverk med Azure Storage

Azure Storage stöder virtuella nätverksservice-endpoints som begränsar anslutningen till ett lagringskonto. Om SQL Database använder ett konto med denna konfiguration, granska effekten på blobgranskning.

Granskning av Azure SQL Database till bloblagring

Azure SQL-granskning kan skriva SQL-granskningsloggar till ditt eget lagringskonto. Om det här lagringskontot använder funktionen för tjänstslutpunkter för virtuellt nätverk kan du se hur du kan skriva en granskning till ett lagringskonto som ligger bakom VNet och brandvägg.

Lägga till en brandväggsregel för virtuellt nätverk på servern

Innan denna funktion förbättrades var du tvungen att slå på virtuella nätverkstjänstslutpunkter innan du kunde implementera en aktiv virtuell nätverksregel i brandväggen. Slutpunkterna relaterade ett visst virtuellt nätverksundernät till en databas i SQL Database. Från och med januari 2018 kan du kringgå detta krav genom att sätta flaggan IgnoreMissingVNetServiceEndpoint . Nu kan du lägga till en brandväggsregel för virtuellt nätverk till servern utan att aktivera tjänstslutpunkter för virtuella nätverk.

Att bara ange en brandväggsregel hjälper inte till att skydda servern. Du måste också aktivera tjänstslutpunkter för virtuella nätverk för att säkerheten ska börja gälla. När du aktiverar tjänstslutpunkter upplever ditt virtuella nätverksundernät driftstopp tills övergången har slutförts från inaktiverad till på. Den här stilleståndstiden gäller särskilt i samband med stora virtuella nätverk. Du kan använda flaggan IgnoreMissingVNetServiceEndpoint för att minska eller eliminera stillestånd under övergången.

Du kan sätta flaggan IgnoreMissingVNetServiceEndpoint genom att använda PowerShell. Mer information finns i PowerShell för att skapa en tjänstslutpunkt och regel för virtuellt nätverk för SQL Database.

Använda Azure-portalen för att skapa en regel för virtuellt nätverk

Det här avsnittet visar hur du kan använda Azure-portalen för att skapa en regel för virtuellt nätverk i databasen i SQL Database. Regeln säger åt din databas att acceptera kommunikation från ett visst subnät som du taggat som en virtuell nätverkstjänst-endpoint.

Not

För att lägga till en tjänsteändpunkt i de virtuella nätverksbrandväggsreglerna för din server, se först till att tjänsteändpunkterna är aktiverade för subnätet.

Om tjänstslutpunkter inte är aktiverade för undernätet ber portalen dig att aktivera dem. Välj knappen Aktivera i samma fönster där du lägger till regeln.

Förutsättningar

Du måste redan ha ett undernät som har taggats med en specifik virtuell nätverkstjänstslutpunktstyp namn som är relevant för SQL-databasen.

Steg att följa i Azure-portalen

  1. Logga in på Azure-portalen.

  2. Sök efter och välj SQL-servrar, och välj sedan din server. Under Securityväljer du Nätverk.

  3. Under fliken Offentlig åtkomst kontrollerar du att Åtkomst till offentligt nätverk är inställd på Välj nätverk, annars är inställningarna för Virtuella nätverk dolda. Välj + Lägg till befintligt virtuellt nätverk i avsnittet Virtuella nätverk.

    Skärmbild som visar logiska serveregenskaper för nätverk.

  4. I det nya fönstret Skapa/uppdatera fyller du i rutorna med namnen på dina Azure-resurser.

    Tips

    Du måste inkludera rätt adressprefix för undernätet. Du hittar -adressprefixet i portalen. Gå till Alla resurser>Alla typer>Virtuella nätverk. Filtret visar dina virtuella nätverk. Välj ditt virtuella nätverk och välj sedan undernät. Kolumnen ADRESSINTERVALL har det adressprefix du behöver.

    Skärmbild som visar hur du fyller i rutor för den nya regeln.

  5. Se den resulterande regeln för virtuellt nätverk i fönstret Firewall.

    Skärmbild som visar den nya regeln i Brandväggsfönstret.

  6. Ange Tillåt att Azure-tjänster och resurser får åtkomst till den här servern till Nej.

    Viktig

    Om du lämnar Tillåt att Azure-tjänster och resurser får åtkomst till den här servern markerad accepterar servern kommunikation från alla undernät inom Azure-gränsen. Den kommunikationen kommer från en av IP-adresserna som känns igen som att den ligger inom intervall som definierats för Azure-datacenter. Att lämna kontrollen aktiverad kan vara överdriven åtkomst ur säkerhetssynpunkt. Tjänstens slutpunktsfunktion i Microsoft Azure Virtual Network i samordning med funktionen för regler för virtuella nätverk i SQL Database tillsammans kan minska din säkerhetsyta.

  7. Välj knappen OK längst ned i fönstret.

Not

Följande statusar eller tillstånd gäller för reglerna:

  • Klar: Indikerar att operationen du initierade lyckades.
  • Misslyckades: Indikerar att operationen du initierade misslyckades.
  • Raderad: Gäller endast operationen Delete och indikerar att regeln är borttagen och inte längre gäller.
  • InProgress: Anger att åtgärden pågår. Den gamla regeln gäller medan operationen är i det här tillståndet.

Använda PowerShell för att skapa en regel för virtuellt nätverk

Du kan använda ett skript för att skapa regler för virtuella nätverk genom att använda PowerShell-cmdlet New-AzSqlServerVirtualNetworkRule eller az network vnet create. Mer information finns i PowerShell för att skapa en tjänstslutpunkt och regel för virtuellt nätverk för SQL Database.

Använda REST API för att skapa en regel för virtuellt nätverk

PowerShell-cmdletar för SQL-åtgärder i virtuella nätverk anropar internt REST API:erna. Du kan anropa REST-API:erna direkt. Mer information finns i Regler för virtuellt nätverk: Åtgärder.

Felsöka felen 40914 och 40615

Anslutningsfel 40914 gäller regler för virtuella nätverk, som anges på panelen firewall i Azure-portalen.
Fel 40615 är liknande, men det gäller IP-adressregler på brandväggen.

Fel 40914

Meddelandetext: "Det går inte att öppna servern "[servernamn]" som begärdes vid inloggningen. Klienten har inte behörighet att komma åt servern."

Felbeskrivning: Klienten finns i ett undernät som har serverslutpunkter för virtuellt nätverk. Men servern har ingen virtuell nätverksregel som ger subnätet rätt att kommunicera med databasen.

Fellösning: I panelen Brandvägg i Azure-portalen använder du kontrollen för virtuella nätverksregler för att lägga till en regel för ett virtuellt nätverk för subnätet.

Fel 40615

Meddelandetext: "Det går inte att öppna servern "{0}" som begärdes vid inloggningen. Klienten med IP-adressen{1}får inte komma åt servern."

Felbeskrivning: Klienten försöker ansluta från en IP-adress som inte har behörighet att ansluta till servern. Serverbrandväggen har ingen IP-adressregel som gör att en klient kan kommunicera från den angivna IP-adressen till databasen.

Felsökning: Ange klientens IP-adress som en IP-regel. Använd fönstret Firewall i Azure-portalen för att slutföra detta steg.

Virtual network service endpoints for Azure Synapse Analytics

För mer information, se Virtual network service endpoints and rules for Azure Synapse Analytics.