Transparent datakryptering för SQL Database, SQL Managed Instance och Azure Synapse Analytics

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

Transparent datakryptering (TDE) hjälper till att skydda Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics mot hot om skadlig offlineaktivitet genom att kryptera vilande data. TDE utför realtidskryptering och realtidsdekryptering av databasen, tillhörande säkerhetskopior och transaktionsloggfiler i vila, utan att några ändringar krävs i programmet. Som standard är TDE aktiverat för alla nyligen distribuerade Azure SQL-databaser och måste aktiveras manuellt för äldre databaser i Azure SQL Database. För Azure SQL Managed Instance aktiveras TDE på instansnivå och nyligen skapade databaser. TDE måste aktiveras manuellt för Azure Synapse Analytics.

Kommentar

Den här artikeln gäller för Azure SQL Database, Azure SQL Managed Instance och Azure Synapse Analytics (dedikerade SQL-pooler (tidigare SQL DW)). Dokumentation om transparent datakryptering för dedikerade SQL-pooler i Synapse-arbetsytor finns i Azure Synapse Analytics-kryptering.

Vissa objekt som anses vara kundinnehåll, till exempel tabellnamn, objektnamn och indexnamn, kan överföras i loggfiler för support och felsökning av Microsoft.

TDE utför I/O-kryptering i realtid och dekryptering av data på sidnivå. Varje sida dekrypteras när de läses in i minnet och krypteras sedan innan de skrivs tillbaka till disken. TDE krypterar lagringen av en hel databas med hjälp av en symmetrisk nyckel som kallas databaskrypteringsnyckel (DEK). Vid databasstart dekrypteras den krypterade DEK:en och används sedan för dekryptering och omkryptering av databasfilerna i SQL Server-databasmotorprocessen. DEK skyddas av TDE-skyddet. TDE-skydd är antingen ett tjänsthanterat certifikat (tjänsthanterad transparent datakryptering) eller en asymmetrisk nyckel som lagras i Azure Key Vault (kundhanterad transparent datakryptering).

För Azure SQL Database och Azure Synapse anges TDE-skyddet på servernivå och ärvs av alla databaser som är associerade med den servern. För Azure SQL Managed Instance anges TDE-skyddet på instansnivå och ärvs av alla krypterade databaser på den instansen. Termservern refererar både till server och instans i det här dokumentet, om inte annat anges.

Viktigt!

Alla nyligen skapade SQL-databaser krypteras som standard med hjälp av tjänsthanterad transparent datakryptering. När databaskällan krypteras krypteras måldatabaserna som skapas via återställning, geo-replikering och databaskopiering som standard. Men när databaskällan inte är krypterad krypteras inte måldatabaserna som skapas via återställning, geo-replikering och databaskopiering som standard. Befintliga SQL-databaser som skapats före maj 2017 och befintliga SQL Managed Instance-databaser som skapats före februari 2019 krypteras inte som standard. SQL Managed Instance-databaser som skapats genom återställning ärver krypteringsstatus från källan. Om du vill återställa en befintlig TDE-krypterad databas måste du först importera det nödvändiga TDE-certifikatet till SQL Managed Instance. Om du vill ta reda på krypteringsstatusen för en databas kör du en select-fråga från sys.dm_database_encryption_keys DMV och kontrollerar kolumnens encryption_state_desc status.

Kommentar

TDE kan inte användas för att kryptera systemdatabaser, till exempel master databasen, i SQL Database och SQL Managed Instance. Databasen master innehåller objekt som behövs för att utföra TDE-åtgärder på användardatabaser. Vi rekommenderar att du inte lagrar känsliga data i systemdatabaser. Undantaget är tempdb, som alltid krypteras med TDE för att skydda data som lagras där.

Tjänsthanterad transparent datakryptering

I Azure är standardinställningen för TDE att DEK skyddas av ett inbyggt servercertifikat. Det inbyggda servercertifikatet är unikt för varje server. Den krypteringsalgoritm som används är AES 256. Om en databas finns i en geo-replikeringsrelation skyddas både den primära och den geo-sekundära databasen av den primära databasens överordnade servernyckel. Om två databaser är anslutna till samma server delar de även samma inbyggda certifikat. Microsoft roterar automatiskt dessa certifikat i enlighet med den interna säkerhetsprincipen. Rotnyckeln skyddas av ett internt Microsoft-hemlighetsarkiv. Kunder kan verifiera SQL Database- och SQL Managed Instance-efterlevnad med interna säkerhetsprinciper i oberoende granskningsrapporter från tredje part som är tillgängliga i Microsoft Trust Center.

Microsoft flyttar och hanterar också nycklarna sömlöst efter behov för geo-replikering och återställning.

Kundhanterad transparent datakryptering – Bring Your Own Key

Kundhanterad TDE kallas även BYOK-stöd (Bring Your Own Key) för TDE. I det här scenariot är TDE-skyddet som krypterar DEK en kundhanterad asymmetrisk nyckel som lagras i ett kundägt och hanterat Azure Key Vault (Azures molnbaserade externa nyckelhanteringssystem) och aldrig lämnar nyckelvalvet. TDE-skyddet kan genereras av nyckelvalvet eller överföras till nyckelvalvet från en lokal HSM-enhet (Hardware Security Module). SQL Database, SQL Managed Instance och Azure Synapse måste beviljas behörighet till det kundägda nyckelvalvet för att dekryptera och kryptera DEK. Om behörigheter för servern till nyckelvalvet återkallas är en databas otillgänglig och alla data krypteras.

Med TDE med Azure Key Vault-integrering kan användarna styra viktiga hanteringsuppgifter, inklusive nyckelrotationer, behörigheter för nyckelvalv, nyckelsäkerhetskopior och aktivera granskning/rapportering av alla TDE-skydd med hjälp av Azure Key Vault-funktioner. Key Vault tillhandahåller central nyckelhantering, utnyttjar noggrant övervakade HSM:er och möjliggör uppdelning av uppgifter mellan hantering av nycklar och data för att uppfylla efterlevnaden av säkerhetsprinciper. Mer information om BYOK för Azure SQL Database och Azure Synapse finns i Transparent datakryptering med Azure Key Vault-integrering.

Om du vill börja använda TDE med Azure Key Vault-integrering kan du läsa guiden Aktivera transparent datakryptering med hjälp av din egen nyckel från Key Vault.

Flytta en transparent datakrypteringsskyddad databas

Du behöver inte dekryptera databaser för åtgärder i Azure. TDE-inställningarna för källdatabasen eller den primära databasen ärvs transparent på målet. Åtgärder som ingår omfattar:

  • Geo-återställning
  • Återställning till tidpunkt för självbetjäning
  • Återställning av en borttagen databas
  • Aktiv geo-replikering
  • Skapa en databaskopia
  • Återställning av säkerhetskopieringsfil till Azure SQL Managed Instance

Viktigt!

Manuell kopiering av en databas som krypterats av tjänsthanterad TDE stöds inte i Azure SQL Managed Instance, eftersom det certifikat som används för kryptering inte är tillgängligt. Använd funktionen för återställning till tidpunkt för att flytta den här typen av databas till en annan SQL Managed Instance eller växla till kundhanterad nyckel.

När du exporterar en TDE-skyddad databas krypteras inte det exporterade innehållet i databasen. Det exporterade innehållet lagras i okrypterade BACPAC-filer. Se till att skydda BACPAC-filerna på rätt sätt och aktivera TDE när importen av den nya databasen är klar.

Om BACPAC-filen till exempel exporteras från en SQL Server-instans krypteras inte det importerade innehållet i den nya databasen automatiskt. På samma sätt krypteras inte heller den nya databasen automatiskt om BACPAC-filen importeras till en SQL Server-instans.

Det enda undantaget är när du exporterar en databas till och från SQL Database. TDE är aktiverat på den nya databasen, men själva BACPAC-filen är fortfarande inte krypterad.

Hantera transparent datakryptering

Hantera TDE i Azure-portalen.

Om du vill konfigurera TDE via Azure-portalen måste du vara ansluten som Azure-ägare, deltagare eller SQL Security Manager.

Aktivera och inaktivera TDE på databasnivå. För Azure SQL Managed Instance använder du Transact-SQL (T-SQL) för att aktivera och inaktivera TDE på en databas. För Azure SQL Database och Azure Synapse kan du hantera TDE för databasen i Azure-portalen när du har loggat in med Azure-administratörs- eller deltagarkontot. Leta upp TDE-inställningarna under din användardatabas. Som standard används krypteringsnyckel på servernivå. Ett TDE-certifikat genereras automatiskt för servern som innehåller databasen.

Service-managed transparent data encryption

Du anger TDE-huvudnyckeln, TDE-skyddet, på server- eller instansnivå. Om du vill använda TDE med BYOK-stöd och skydda dina databaser med en nyckel från Azure Key Vault öppnar du TDE-inställningarna under servern eller den hanterade instansen.

Transparent data encryption with Bring Your Own Key support

Du kan också använda en kundhanterad nyckel för TDE på databasnivå för Azure SQL Database. Mer information finns i Transparent datakryptering (TDE) med kundhanterade nycklar på databasnivå.

Nästa steg

Läs mer om relaterade begrepp i följande artiklar: