En översikt över säkerhetsfunktionerna för Azure SQL Database och SQL Managed Instance

gäller för:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Den här artikeln beskriver grunderna för att skydda datanivån för ett program med hjälp av Azure SQL Database, Azure SQL Managed Instanceoch Azure Synapse Analytics. Den säkerhetsstrategi som beskrivs följer den skiktade djupförsvarsmetoden, som visas i följande diagram, och rör sig från utsidan inåt.

Diagram över lagerskydd på djupet. Kunddata är inneslutna i lager av nätverkssäkerhet, åtkomsthantering och skydd mot hot och information.

Nätverkssäkerhet

Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics tillhandahåller en relationsdatabastjänst för moln- och företagsprogram. För att skydda kunddata förhindrar brandväggar nätverksåtkomst till servern tills åtkomst uttryckligen beviljas baserat på IP-adress eller Azure Virtual Network-trafikursprung.

IP-brandväggsregler

IP-brandväggsregler ger åtkomst till databaser baserat på den ursprungliga IP-adressen för varje begäran. Mer information finns i Översikt över Azure SQL Database- och Azure Synapse Analytics-brandväggsregler.

Brandväggsregler för virtuellt nätverk

Tjänstslutpunkter för virtuellt nätverk utöka din virtuella nätverksanslutning via Azure-stamnätet och aktivera Azure SQL Database för att identifiera det virtuella nätverksundernätet som trafiken kommer från. Om du vill tillåta trafik att nå Azure SQL Database använder du SQL -tjänsttaggar för att tillåta utgående trafik via nätverkssäkerhetsgrupper.

  • Regler för virtuellt nätverk göra det möjligt för Azure SQL Database att endast acceptera kommunikation som skickas från valda undernät i ett virtuellt nätverk.
  • Kontroll av åtkomst med brandväggsregler gäller inte för SQL Managed Instance. Mer information om nätverkskonfigurationen som behövs finns i Ansluta till en hanterad instans

Notera

Kontroll av åtkomst med brandväggsregler gäller inte för SQL Managed Instance. Mer information om nätverkskonfigurationen som behövs finns i Ansluta till en hanterad instans

Nätverkssäkerhetsperimeter

En Azure-nätverkssäkerhetsperimeter skapar logiska nätverksgränser runt dina PaaS-resurser (platform-as-a-service) som distribueras utanför dina virtuella nätverk.

  • En Azure-nätverkssäkerhetsperimeter hjälper dig att styra åtkomsten till det offentliga nätverket till Azure SQL Database.
  • Kontroll av åtkomst med en Azure-nätverkssäkerhetsperimeter gäller inte för Azure SQL Managed Instance.

Viktig

Azure SQL Database med nätverkssäkerhetsperimeter är för närvarande i förhandsversion. Förhandsversionerna tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Autentisering

Autentisering är processen för att bevisa att användaren är den som de påstår sig vara. Azure SQL Database och SQL Managed Instance stöder autentisering med Microsoft Entra-ID (tidigare Azure Active Directory) och SQL-autentisering. SQL Managed Instance stöder dessutom Windows-autentisering för Microsoft Entra-entiteter.

  • Microsoft Entra-autentisering:

    Microsoft Entra-autentisering är en mekanism för att ansluta till Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics med hjälp av identiteter i Microsoft Entra-ID. Med Microsoft Entra-autentisering kan administratörer centralt hantera databasanvändares identiteter och behörigheter tillsammans med andra Azure-tjänster på en central plats. Detta kan bidra till att eliminera användningen av hemligheter och lösenord.

    En serveradministratör med namnet Microsoft Entra-administratör måste skapas för att använda Microsoft Entra-autentisering med SQL Database. Mer information finns i Ansluta till SQL Database med Microsoft Entra-autentisering. Microsoft Entra-autentisering stöder både hanterade och federerade konton. De federerade kontona stöder Windows-användare och -grupper för en kunddomän federerad med Microsoft Entra-ID.

    Microsoft Entra stöder flera olika autentiseringsalternativ, inklusive multifaktorautentisering, integrerad Windows-autentiseringoch villkorlig åtkomst.

  • Windows-autentisering för Microsoft Entra-huvudnamn:

    Kerberos-autentisering för Microsoft Entra-huvudnamn aktiverar Windows-autentisering för Azure SQL Managed Instance. Windows-autentisering för hanterade instanser gör det möjligt för kunder att flytta befintliga tjänster till molnet samtidigt som de upprätthåller en sömlös användarupplevelse och utgör grunden för infrastrukturmodernisering.

    Om du vill aktivera Windows-autentisering för Microsoft Entra-principaler, omvandlar du din Microsoft Entra-klientorganisation till en oberoende Kerberos-realm och skapar en inkommande tillit för kunddomänen. Lär dig hur Windows-autentisering för Azure SQL Managed Instance implementeras med Microsoft Entra ID och Kerberos.

  • SQL-autentisering:

    SQL-autentisering avser autentisering av en användare vid anslutning till Azure SQL Database eller Azure SQL Managed Instance med användarnamn och lösenord. En serveradmin-inloggning med användarnamn och lösenord måste anges när servern skapas. Med hjälp av dessa autentiseringsuppgifter kan en serveradministratör autentisera till valfri databas på servern eller instansen som databasägare. Därefter kan andra SQL-inloggningar och användare skapas av serveradministratören, vilket gör det möjligt för användare att ansluta med användarnamn och lösenord.

Auktorisering och åtkomsthantering

Auktorisering avser kontroll av åtkomst till hantering av servrar och databaser samt till data, resurser och kommandon i en databas. Detta görs genom att tilldela behörigheter till en användare i en databas i Azure SQL Database eller Azure SQL Managed Instance. Hantering av databaser och servrar i Azure styrs av ditt portalanvändarkontos rolltilldelningar. Mer information finns i Rollbaserad åtkomstkontroll i Azure i Azure Portal.

Behörigheter hanteras helst genom att lägga till användarkonton i databasroller och tilldela behörigheter på databasnivå till dessa roller. En enskild användare kan också beviljas vissa behörigheter på objektnivå. Mer information finns i Inloggningar och användare.

Dessutom tillhandahåller Azure SQL Managed Instance roller på servernivå (fasta eller anpassade) för att hantera behörigheter för en server/instans. Roller på servernivå är serveromfattande i deras behörighetsomfång. Principaler på servernivå kan läggas till i servernivåroller.

Vi rekommenderar att du skapar anpassade roller när det behövs. Lägg till användare i rollen med de minsta behörigheter som krävs för att utföra sin jobbfunktion. Tilldela inte behörigheter direkt till användare. Serveradministratörskontot är medlem i den inbyggda db_owner rollen, som har omfattande behörigheter och bör endast beviljas till få användare med administrativa uppgifter. För att ytterligare begränsa omfånget för vad en användare kan göra kan EXECUTE AS- användas för att ange körningskontexten för den anropade modulen. Att följa dessa metodtips är också ett grundläggande steg mot ansvarsfördelning.

Säkerhet på radnivå

Row-Level Security gör det möjligt för kunder att styra åtkomsten till rader i en databastabell baserat på egenskaperna hos användaren som kör en fråga (till exempel gruppmedlemskap eller körningskontext). Row-Level Security kan också användas för att implementera anpassade etikettbaserade säkerhetsbegrepp. För mer information, se Row-Level säkerhet.

Diagram som visar att Row-Level Security skyddar enskilda rader i en SQL-databas från åtkomst av användare via en klientapp.

Skydd mot hot

Azure SQL Database och SQL Managed Instance skyddar kunddata genom att tillhandahålla funktioner för granskning och hotidentifiering.

SQL-granskning i Azure Monitor-loggar och Event Hubs

SQL Database- och SQL Managed Instance-granskning spårar databasaktiviteter och hjälper till att upprätthålla efterlevnad av säkerhetsstandarder genom att registrera databashändelser i en granskningslogg i ett kundägt Azure-lagringskonto. Med granskning kan användare övervaka pågående databasaktiviteter samt analysera och undersöka historiska aktiviteter för att identifiera potentiella hot eller misstänkt missbruk och säkerhetsöverträdelser. Mer information finns i Kom igång med SQL Database-granskning.

Avancerat hot-skydd

Advanced Threat Protection analyserar loggarna för att identifiera ovanligt beteende och potentiellt skadliga försök att komma åt eller utnyttja databaser. Aviseringar skapas för misstänkta aktiviteter som SQL-inmatning, potentiell datainfiltration och råstyrkeattacker eller avvikelser i åtkomstmönster för att fånga privilegiereskaleringar och användning av autentiseringsuppgifter som har brutits. Aviseringar visas från Microsoft Defender för molnet, där information om misstänkta aktiviteter tillhandahålls och rekommendationer för ytterligare undersökning ges tillsammans med åtgärder för att minimera hotet. Advanced Threat Protection kan aktiveras per server mot en extra avgift. Mer information finns i Komma igång med SQL Database Advanced Threat Protection.

Diagram som visar övervakning av SQL Threat Detection-åtkomst till SQL-databasen för en webbapp från en extern angripare och skadlig insider.

Informationsskydd och kryptering

Säkerhet på transportnivå (kryptering under överföring)

SQL Database, SQL Managed Instance och Azure Synapse Analytics skyddar kunddata genom att kryptera data i rörelse med Transport Layer Security (TLS). TLS-krypterade anslutningar framtvingas alltid. Detta säkerställer att alla data krypteras under överföring mellan klient och server.

Mer specifikt har alla instanser av SQL Server som hanteras av dessa tjänster konfigurationsflaggan ForceEncryption inställd på Yes. Klienter och drivrutiner måste ha stöd för krypterade anslutningar för att kunna ansluta till någon av tjänsterna. Därför är den lägsta versionen av TDS-protokollet som kan ansluta TDS 7.1.

Vi rekommenderar att du använder strikt anslutningskryptering om du har TDS 8.0-kompatibla SQL-drivrutiner.

Om dina drivrutiner saknar stöd för TDS 8.0 använder du obligatorisk kryptering och litar inte på servercertifikatet. När du till exempel använder drivrutinen ADO.NET, använd Encrypt=True och TrustServerCertificate=False i anslutningssträngen för att åstadkomma detta. Anslutningssträngen som du hämtar från Azure-portalen har redan konfigurerats med dessa värden.

Du bör undvika att TrustServerCertificate ange parametern True i produktionsanvändningen. TrustServerCertificate=True är för förlåtande och ger inget skydd mot man-in-the-middle-attacker. Om klienten i stället förväntar sig ett annat domännamn i servercertifikatet använder du parametern HostNameInCertificate för att ange rätt domännamn för validering.

När du till exempel använder ADO.NET drivrutinen för att ansluta till din hanterade instans contoso-instance.123456.database.windows.net via ett anpassat domännamn contoso-instance.contoso.comanger du anslutningsparametrarna Encrypt=True och anger HostNameInCertificate=contoso-instance.123456.database.windows.net. Detta gör att drivrutinen kan verifiera servercertifikatet mot ett förväntat VNet-lokalt slutpunktsdomännamn.

Viktig

Vissa icke-Microsoft-drivrutiner kanske inte använder TLS som standard eller förlitar sig på en äldre version av TLS (<1.2) för att fungera. I det här fallet kan du fortfarande ansluta till databasen på servern. Vi rekommenderar dock att du utvärderar säkerhetsriskerna med att tillåta sådana drivrutiner och program att ansluta till SQL Database, särskilt om du lagrar känsliga data.

Mer information om TLS och anslutning finns i TLS-överväganden.

Transparent datakryptering (kryptering i vila) med tjänsthanterade nycklar

Transparent datakryptering (TDE) för SQL Database, SQL Managed Instance och Azure Synapse Analytics lägger till ett säkerhetslager som skyddar vilande data från obehörig eller offlineåtkomst till rådata eller säkerhetskopior. Vanliga scenarier är stöld av datacenter eller oskyddad bortskaffande av maskinvara eller media, till exempel diskenheter och säkerhetskopieringsband. TDE krypterar hela databasen med hjälp av en AES-krypteringsalgoritm, som inte kräver att programutvecklare gör några ändringar i befintliga program.

I Azure krypteras alla nyligen skapade databaser som standard och databaskrypteringsnyckeln skyddas av ett inbyggt servercertifikat. Certifikatunderhåll och rotation hanteras av tjänsten och kräver inga indata från användaren. Kunder som föredrar att ta kontroll över krypteringsnycklarna kan hantera nycklarna i Azure Key Vault-.

Transparent datakryptering (kryptering i vila) med kundhanterade nycklar

För kunder som behöver större kontroll över krypteringsnycklar stöder transparent datakryptering (TDE) kundhanterade nycklar. Denna CMK är associerad med den logiska servern och omsluter databaskrypteringsnycklarna för alla databaser under den servern. Alternativt kan CMK konfigureras på enskild databasnivå. Genom att hantera CMK:n kan kunderna styra nyckelrotation, återkallande och granskning, vilket ofta är nödvändigt för efterlevnad eller strikta säkerhetsprinciper.

Always Encrypted och Always Encrypted med säkra enklaver (kryptering i bruk)

Diagram som visar grunderna i funktionen Always Encrypted. En SQL-databas med ett lås nås endast av en app som innehåller en nyckel.

Always Encrypted och Always Encrypted med säkra enklaver är funktioner som är utformade för att skydda känsliga data som lagras i specifika databaskolumner från åtkomst (till exempel kreditkortsnummer, nationella/regionala identifieringsnummer eller data som behöver veta ). Detta omfattar databasadministratörer eller andra privilegierade användare som har behörighet att komma åt databasen för att utföra hanteringsuppgifter, men som inte har något affärsbehov av att komma åt de specifika uppgifterna i de krypterade kolumnerna. Data krypteras alltid, vilket innebär att krypterade data dekrypteras endast för bearbetning av klientprogram med åtkomst till krypteringsnyckeln. Krypteringsnyckeln exponeras aldrig för SQL Database eller SQL Managed Instance och kan lagras antingen i Windows Certificate Store eller i Azure Key Vault-.

Dynamisk dataskydd

Diagram som visar dynamisk datamaskering. En företagsapp skickar data till en SQL-databas som maskerar data innan de skickas tillbaka till företagsappen.

Med dynamisk datamaskering begränsas exponeringen av känsliga data genom att de maskeras för icke-privilegierade användare. Dynamisk datamaskering identifierar automatiskt potentiellt känsliga data i Azure SQL Database och SQL Managed Instance och ger användbara rekommendationer för att maskera dessa fält, med minimal påverkan på programskiktet. Det fungerar genom att dölja känsliga data i resultatuppsättningen för en fråga över angivna databasfält, medan data i databasen inte ändras. Mer information finns i Komma igång med dynamisk datamaskering i SQL Database och SQL Managed Instance.

Ledger

Ledger i Azure SQL Database och SQL Managed Instance är en funktion som ger ett kryptografiskt bevis för dataintegritet. Med transaktionsregistret har du funktioner för manipuleringsbevis för dina data. Du kan kryptografiskt intyga för andra parter, till exempel granskare eller andra affärsparter, att dina data inte har manipulerats.

Ledger använder manipulationssäker teknik för att registrera databasändringar i ett oföränderligt ledger, vilket säkerställer att obehöriga ändringar kan identifieras. Detta är särskilt användbart för scenarier som kräver regelefterlevnad, granskning och förtroende mellan flera parter. Genom att aktivera transaktionsregistret kan kunderna verifiera dataintegriteten, vilket minskar risken för bedrägeri eller datamanipulering.

Säkerhetshantering

Sårbarhetsbedömning

Sårbarhetsbedömning är en lättkonfigureringstjänst som kan identifiera, spåra och hjälpa till att åtgärda potentiella sårbarheter i databasen med målet att proaktivt förbättra den övergripande databassäkerheten. Sårbarhetsbedömning (VA) är en del av Microsoft Defender för SQL-erbjudandet, som är ett enhetligt paket för avancerade SQL-säkerhetsfunktioner. Sårbarhetsbedömning kan nås och hanteras via den centrala Microsoft Defender för SQL-portalen.

Dataidentifiering och -klassificering

Dataidentifiering och -klassificering (för närvarande i förhandsversion) ger grundläggande funktioner inbyggda i Azure SQL Database och SQL Managed Instance för identifiering, klassificering och etikettering av känsliga data i dina databaser. Att upptäcka och klassificera dina ytterst känsliga data (företag/ekonomi, sjukvård, personuppgifter osv.) kan spela en avgörande roll i organisationens informationsskyddsstatus. Den kan fungera som infrastruktur för:

  • Olika säkerhetsscenarier, till exempel övervakning (granskning) och aviseringar om avvikande åtkomst till känsliga data.
  • Kontrollera åtkomsten till och förstärka säkerheten för databaser som innehåller mycket känsliga data.
  • Hjälper till att uppfylla datasekretessstandarder och regelefterlevnadskrav.

Mer information finns i Kom igång med dataidentifiering och klassificering.

Efterlevnad

Utöver ovanstående funktioner som kan hjälpa ditt program att uppfylla olika säkerhetskrav, deltar Även Azure SQL Database i regelbundna granskningar och har certifierats mot ett antal efterlevnadsstandarder. Mer information finns i Microsoft Azure Trust Center där du hittar den senaste listan över SQL Database-efterlevnadscertifieringar.