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 Instance och Azure Synapse Analytics. Den säkerhetsstrategi som beskrivs följer den skiktade metoden för skydd på djupet enligt bilden nedan och flyttas utifrån i:
Kommentar
Microsoft Entra-ID är det nya namnet för Azure Active Directory (Azure AD). Vi uppdaterar dokumentationen just nu.
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 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 virtuella nätverk
Tjänstslutpunkter för virtuella nätverk utökar din virtuella nätverksanslutning via Azure-stamnätet och gör det möjligt för Azure SQL Database 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 det möjligt för Azure SQL Database att endast acceptera kommunikation som skickas från valda undernät i ett virtuellt nätverk.
Kommentar
Kontroll av åtkomst med brandväggsregler gäller inte för SQL Managed Instance. Mer information om nätverkskonfigurationen som behövs finns i Anslut ing 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 för Azure i Azure-portalen.
Autentisering
Autentisering är en process där användare bevisar sin identitet. SQL Database och SQL Managed Instance stöder SQL-autentisering och autentisering med Microsoft Entra-ID (tidigare Azure Active Directory). SQL Managed Instance har dessutom stöd för Windows-autentisering för Microsoft Entra-huvudnamn.
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å 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.
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 minimerar lösenordslagringen och aktiverar centraliserade principer för lösenordsrotation.
En serveradministratör som heter Microsoft Entra-administratören måste skapas för att använda Microsoft Entra-autentisering med SQL Database. Mer information finns i Anslut 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-autentisering och villkorsstyrd åtkomst.
Windows-autentisering för Microsoft Entra-huvudnamn:
Kerberos-autentisering för Microsoft Entra-huvudnamn möjliggör 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-huvudkonton omvandlar du din Microsoft Entra-klientorganisation till en oberoende Kerberos-sfär och skapar ett inkommande förtroende för kunddomänen. Lär dig hur Windows-autentisering för Azure SQL Managed Instance implementeras med Microsoft Entra ID 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-portalen. Kontroll av åtkomst 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 kontrollera å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 bästa metoder är också ett grundläggande steg mot ansvarsfördelning.
Säkerhet på radnivå
Säkerhet på radnivå 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). Säkerhet på radnivå kan också användas för att implementera anpassade etikettbaserade säkerhetsbegrepp. Mer information finns i Säkerhet på radnivå.
Hotskydd
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 Auditing.
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 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 som 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 Komma igång med SQL Database Advanced Threat Protection.
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 kryptering (SSL/TLS) hela tiden 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äng.
Vi rekommenderar att du i anslutningssträng 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 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)
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 det möjligt för kunder att ta över ägarskapet för nyckelhantering och rotation med hjälp av Azure Key Vault, Azures molnbaserade system för hantering av 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) och möjliggör uppdelning av uppgifter mellan hantering av nycklar och data för att uppfylla kraven på säkerhetsefterlevnad.
Always Encrypted (kryptering används)
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/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 företag behöver 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
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ä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 dynamisk datamaskering i SQL Database och SQL Managed Instance.
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. Vulnerability Assessment kan nås och hanteras via den centrala Microsoft Defender for SQL-portalen.
Identifiering och klassificering av data
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. 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.
- Kontrollera å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
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.
Nästa steg
- En diskussion om användningen av inloggningar, användarkonton, databasroller och behörigheter i SQL Database och SQL Managed Instance finns i Hantera inloggningar och användarkonton.
- En diskussion om databasgranskning finns i granskning.
- En diskussion om hotidentifiering finns i Hotidentifiering.