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

Gäller för: Azure SQL Database Azure SQL Managed Instance Azure 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 Instance och Azure Synapse Analytics. Den säkerhetsstrategi som beskrivs följer metoden med djupgående skydd i lager enligt bilden nedan och flyttas från utsidan i:

Diagram över djupskydd i lager. Kunddata finns i lager med nätverkssäkerhet, åtkomsthantering, hot och informationsskydd.

Nätverkssäkerhet

Microsoft 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 beviljar å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 virtuella nätverk

Tjänstslutpunkter för virtuellt nätverk utökar din virtuella nätverksanslutning via Azure-stamnätet och aktiverar 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ör att Azure SQL Database endast accepterar kommunikation som skickas från valda undernät i ett virtuellt nätverk.

Anteckning

Åtkomstkontroll 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

Åtkomsthantering

Viktigt

Hantering av databaser och servrar i Azure styrs av ditt portalanvändarkontos rolltilldelningar. Mer information om den här artikeln finns i Rollbaserad åtkomstkontroll i Azure i Azure Portal.

Autentisering

Autentisering är en process där användare bevisar sin identitet. Azure SQL Database och SQL Managed Instance stöder SQL-autentisering och Azure AD-autentisering. SQL Managed Instance har dessutom stöd för Windows-autentisering för Azure AD-huvudkonton.

  • 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 serveradministratörsinloggning med ett användarnamn och lösenord måste anges när servern skapas. Med dessa autentiseringsuppgifter kan en serveradministratör autentisera till valfri databas på den servern eller instansen som databasägare. Därefter kan ytterligare 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.

  • Azure Active Directory-autentisering:

    Azure Active Directory-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 Azure Active Directory (Azure AD). Azure AD autentisering gör det möjligt för administratörer att centralt hantera identiteter och behörigheter för databasanvändare tillsammans med andra Azure-tjänster på en central plats. Detta inkluderar minimering av lösenordslagring och aktiverar centraliserade principer för lösenordsrotation.

    En serveradministratör som heter Active Directory-administratören måste skapas för att använda Azure AD-autentisering med SQL Database. Mer information finns i Ansluta till SQL Database med hjälp av Azure Active Directory-autentisering. Azure AD 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 Azure AD.

    Ytterligare Azure AD tillgängliga autentiseringsalternativ är Universell Active Directory-autentisering för SQL Server Management Studio-anslutningar, inklusive multifaktorautentisering och villkorsstyrd åtkomst.

  • Windows-autentisering för Azure AD-huvudkonton:

    Kerberos-autentisering för Azure AD-huvudkonton 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 en sömlös användarupplevelse upprätthålls och utgör grunden för modernisering av infrastrukturen.

    Om du vill aktivera Windows-autentisering för Azure Active Directory-huvudkonton (Azure AD) gör du din Azure AD-klientorganisation till en oberoende Kerberos-sfär och skapar ett inkommande förtroende i kunddomänen. Lär dig hur Windows-autentisering för Azure SQL Managed Instance implementeras med Azure Active Directory och Kerberos.

Viktigt

Hantering av databaser och servrar i Azure styrs av ditt portalanvändarkontos rolltilldelningar. Mer information om den här artikeln finns i Rollbaserad åtkomstkontroll i Azure i Azure Portal. Åtkomstkontroll med brandväggsregler gäller inte för SQL Managed Instance. Mer information om nätverkskonfigurationen som behövs finns i följande artikel om hur du ansluter till en hanterad instans .

Auktorisering

Auktorisering syftar på att styra åtkomsten till 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. 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

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 den användare 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. Mer information finns i Säkerhet på radnivå.

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

Hotskydd

SQL Database och SQL Managed Instance skydda 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 Storage-konto. Granskning gör det möjligt för användare att ö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.

Advanced Threat Protection

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, till exempel SQL-inmatning, potentiell datainfiltration och råstyrkeattacker eller för avvikelser i åtkomstmönster för att fånga upp behörighetseskaleringar 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 minska hotet. Advanced Threat Protection kan aktiveras per server mot en extra avgift. Mer information finns i Kom igång med SQL Database Advanced Threat Protection.

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

Informationsskydd och kryptering

TLS (kryptering under överföring)

SQL Database, SQL Managed Instance och Azure Synapse Analytics skyddar kunddata genom att kryptera data i rörelse med TLS (Transport Layer Security).

SQL Database, SQL Managed Instance och Azure Synapse Analytics framtvingar alltid kryptering (SSL/TLS) för alla anslutningar. Detta säkerställer att alla data krypteras "under överföring" mellan klienten och servern oavsett inställningen för Encrypt eller TrustServerCertificate i anslutningssträngen.

Vi rekommenderar att du i anslutningssträngen som används av programmet anger en krypterad anslutning och inte litar på servercertifikatet. Då måste appen verifiera servercertifikatet, vilket skyddar appen mot angrepp av typen ”man in the middle”.

När du till exempel använder drivrutinen ADO.NET uppnås detta via Encrypt=True och TrustServerCertificate=False. Om du hämtar anslutningssträngen från Azure-portalen har den rätt inställningar.

Viktigt

Observera att vissa drivrutiner som inte kommer från Microsoft 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 tillåter servern fortfarande att du ansluter till databasen. 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)

Transparent datakryptering (TDE) för SQL Database, SQL Managed Instance och Azure Synapse Analytics lägger till ett säkerhetslager för att skydda vilande data från obehörig eller offlineåtkomst till rådatafiler 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.

Nyckelhantering med Azure Key Vault

Byok-stöd (Bring Your Own Key) för transparent datakryptering (TDE) gör att kunderna kan ta över ägarskapet för nyckelhantering och rotation med Hjälp av Azure Key Vault, Azures molnbaserade hanteringssystem för externa nycklar. Om databasens åtkomst till nyckelvalvet återkallas kan en databas inte dekrypteras och läsas in i minnet. Azure Key Vault tillhandahåller en central plattform för nyckelhantering, utnyttjar noggrant övervakade maskinvarusäkerhetsmoduler (HSM: er) och möjliggör uppdelning av uppgifter mellan hantering av nycklar och data för att uppfylla kraven på säkerhetsefterlevnad.

Always Encrypted (kryptering som används)

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

Always Encrypted är en funktion som är utformad för att skydda känsliga data som lagras i specifika databaskolumner från åtkomst (till exempel kreditkortsnummer, nationella ID-nummer eller data som behöver vetas). Detta inkluderar 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 att komma åt specifika data 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 datamaskning

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å programlagret. Det fungerar genom att dölja känslig data i resultatuppsättningen för en fråga över angivna databasfält, medan data i databasen förblir oförändrad. Mer information finns i Komma igång med SQL Database och SQL Managed Instance dynamisk datamaskering.

Säkerhetshantering

Sårbarhetsbedömning

Sårbarhetsbedömning är en enkel att konfigurera tjä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. Vulnerability Assessment kan nås och hanteras via den centrala Microsoft Defender for SQL-portalen.

Dataidentifiering och -klassificering

Dataidentifiering och klassificering (för närvarande i förhandsversion) ger grundläggande funktioner som är 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 känsliga data (företag/ekonomi, sjukvård, personuppgifter osv.) kan spela en central roll i organisationens informationsskyddsstatus. Tjänsten kan fungera som infrastruktur inom följande områden:

  • Olika säkerhetsscenarier, till exempel övervakning (granskning) och aviseringar om avvikande åtkomst till känsliga data.
  • Styra åtkomsten till och förstärka säkerheten för databaser som innehåller mycket känsliga data.
  • Hjälp med att uppfylla standarder för datasekretess och efterlevnadsregler.

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

Efterlevnad

Förutom ovanstående funktioner som kan hjälpa ditt program att uppfylla olika säkerhetskrav, deltar Azure SQL Database också 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.

Nästa steg