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. Den utför realtidskryptering och dekryptering av databasen, associerade säkerhetskopior och transaktionsloggfiler i vila utan att kräva ändringar 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.
Notera
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 den läss in i minnet och sedan krypteras innan den skrivs till disk. 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-skyddet ä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 servern. För Azure SQL Managed Instance anges TDE-skyddet på instansnivå och ärvs av alla krypterade databaser på den instansen. Termen server refererar både till server och instans i hela dokumentet, om inte annat anges.
Viktig
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-replikeringoch databaskopiering krypteras som standard. Men när databaskällan inte är krypterad, är måldatabaserna som skapas genom återställning, geo-replikeringoch databaskopiering inte krypterade 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. För att återställa en befintlig TDE-krypterad databas måste det nödvändiga TDE-certifikatet först importeras 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 statusen för kolumnen encryption_state_desc
.
Notera
TDE kan inte användas för att kryptera systemdatabaser, till exempel master
databas, i SQL Database och SQL Managed Instance. Den master
databasen 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 och krypteringsalgoritmen som används är AES 256. Om en databas finns i en geo-replikeringsrelation skyddas både de primära och geo-sekundära databaserna av den primära databasens överordnade servernyckel. Om två databaser är anslutna till samma server delar de också samma inbyggda certifikat. Microsoft roterar automatiskt dessa certifikat en gång om året, i enlighet med den interna säkerhetsprincipen, och rotnyckeln skyddas av ett internt Microsoft-hemligt arkiv. 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 på Microsoft Trust Center.
Microsoft flyttar och hanterar också nycklarna sömlöst efter behov för geo-replikering och återställningar.
Kundhanterad transparent datakryptering – Bring Your Own Key
Kundhanterad TDE kallas även för BYOK (Bring Your Own Key) stöd 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 på ett transparent sätt på målet. Åtgärder som ingår omfattar:
- Geo-återställning
- Självbetjäning för återställning till specifik tidpunkt
- Återställning av en borttagen databas
- Aktiv geo-replikering
- Skapa en databaskopia
- Återställning av säkerhetskopieringsfil till Azure SQL Managed Instance
Viktig
Manuell COPY-ONLY säkerhetskopiering 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 en specifik tidpunkt för att flytta den här typen av databas till en annan SQL-hanterad instans, eller växla till en 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.
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.
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å.