En översikt över Azure SQL Database och SQL säkerhetsfunktioner för 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 Instanceoch Azure Synapse Analytics. Säkerhetsstrategin som beskrivs följer den djupskyddsmetod som visas i bilden nedan och flyttas utifrån i:

Nätverkssäkerhet
Microsoft Azure SQL Database, SQL Managed Instance och Azure Synapse Analytics 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 Trafikursprung för virtuellt Azure-nätverk.
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 över Azure-stamnätet och gör det möjligt Azure SQL Database att identifiera det virtuella nätverksundernät som trafiken kommer från. Om du vill tillåta att trafik Azure SQL Database trafik SQL tjänsttaggar för att tillåta utgående trafik via nätverkssäkerhetsgrupper.
Regler för virtuellt nätverk Azure SQL Database att endast acceptera 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 portalanvändarkontots rolltilldelningar. Mer information om den här artikeln finns i Rollbaserad åtkomstkontroll i Azure i Azure Portal.
Autentisering
Autentisering är processen att bevisa att användaren är den de utger sig för att vara. Azure SQL Database och SQL Managed Instance stöder två typer av autentisering:
SQL autentisering:
SQL avser autentisering av en användare vid anslutning till en 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). Med Azure AD-autentisering kan administratörer 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 möjliggör centraliserade principer för lösenordsrotation.
En serveradministratör som kallas Active Directory-administratör 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 som är federerad med Azure AD.
Ytterligare tillgängliga Azure AD-autentiseringsalternativ är Active Directory Universal-autentisering för SQL Server Management Studio-anslutningar, inklusive Multi-Factor Authentication och villkorsstyrd åtkomst.
Viktigt
Hantering av databaser och servrar i Azure styrs av portalanvändarkontots 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 kontrollera åtkomst för 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 till 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
Bästa praxis är att skapa anpassade roller när det behövs. Lägg till användare i rollen med den minsta behörighet som krävs för att kunna göra jobbet. Tilldela inte behörigheter direkt till användare. Serveradministratörskontot är medlem i den inbyggda db_owner, som har omfattande behörigheter och endast bör 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 aparering av skyldigheter.
Säkerhet på radnivå
Row-Level Security ger kunder möjlighet att styra åtkomsten till rader i en databastabell baserat på egenskaperna för 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å.

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 med säkerhetsstandarder genom att registrera databashändelser i en granskningslogg i ett kundägt Azure Storage-konto. Granskning gör att användare kan ö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 dina loggar för att identifiera onormalt beteende och potentiellt skadliga försök att komma åt eller utnyttja databaser. Aviseringar skapas för misstänkta aktiviteter som SQL-loggning, potentiell dataintrång och brute force-attacker eller för avvikelser i åtkomstmönster för att fånga behörighetseskaleringar och intrång i autentiseringsuppgifter. Aviseringar visas från Microsoft Defender for Cloud,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 Kom igång med SQL Database Advanced Threat Protection.

Informationsskydd och kryptering
Transport Layer Security (kryptering under överföring)
SQL Database, SQL Managed Instance och Azure Synapse Analytics kunddata genom att kryptera data i rörelse med Transport Layer Security (TLS).
SQL Database, SQL Managed Instance och Azure Synapse Analytics framtvinga 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ängen.
Vi rekommenderar att du i anslutningssträngen som används av programmet anger en krypterad anslutning och inte litar på servercertifikatet. Detta tvingar ditt program att verifiera servercertifikatet och förhindrar därför att ditt program är sårbart för man-i-mitten-attacker.
När du till exempel använder ADO.NET-drivrutinen sker detta via Encrypt=True och TrustServerCertificate=False. Om du hämtar anslutningssträngen från Azure Portal 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 kan du fortfarande ansluta till databasen på servern. Vi rekommenderar dock att du utvärderar säkerhetsriskerna med att tillåta att sådana drivrutiner och program ansluter 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 vilodata från obehörig eller offlineåtkomst till rådatafiler eller säkerhetskopior. Vanliga scenarier är stöld av datacenter eller oskyddad försäljning 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
Bring Your Own Key (BYOK) stöd för transparent datakryptering (TDE) gör att kunder kan bli ägare till nyckelhantering och rotering med hjälp av Azure Key Vault, Azures molnbaserade externa nyckelhanteringssystem. Om databasens åtkomst till nyckelvalvet återkallas kan en databas inte dekrypteras och läsas in i minnet. Azure Key Vault en central plattform för nyckelhantering, använder noggrant övervakade maskinvarusäkerhetsmoduler (HSM) och möjliggör uppdelning av uppgifter mellan hantering av nycklar och data för att uppfylla säkerhetskraven.
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 identifieringsnummer eller data som du behöver känna till). 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ärs behov av att komma åt specifika data i krypterade kolumner. Data krypteras alltid, vilket innebär att krypterade data endast dekrypteras 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 Certifikatarkiv 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 datamaskning 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 Kom igång med att SQL Database och SQL hanterad instans med dynamisk datamaskering.
Säkerhetshantering
Sårbarhetsbedömning
Sårbarhetsbedömning är en tjänst som är enkel att konfigurera och som kan identifiera, spåra och hjälpa till att åtgärda potentiella säkerhetsrisker i databasen med målet att proaktivt förbättra den övergripande databassäkerheten. Sårbarhetsbedömning (VA) är en del av erbjudandet Microsoft Defender for SQL, som är ett enhetligt paket för avancerade SQL säkerhetsfunktioner. Sårbarhetsbedömning 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) innehåller grundläggande funktioner som är inbyggda i Azure SQL Database och SQL Managed Instance för att identifiera, klassificera och märka känsliga data i dina databaser. Att identifiera och klassificera känsliga data (företag/ekonomi, sjukvård, personuppgifter osv.) kan spela en viktig roll i organisationens informationsskyddsstatistik. 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 åtkomst till och härda 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 Kom 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 även i regelbundna granskningar och har certifierats mot ett antal efterlevnadsstandarder. Mer information finns i Microsoft Azure Säkerhetscenter 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 granska.
- En diskussion om hotidentifiering finns i hotidentifiering.