Udforsk gennemsigtig datakryptering
Microsoft SQL Server's Transparent Data Encryption (TDE) krypterer alle data i en destinationsdatabase på sideniveau. Data krypteres, da de skrives til datasiden på disken og dekrypteres, når de læses i hukommelsen, hvilket medfører, at alle datasider på disken krypteres.
TDE krypterer ikke data på tabel- eller kolonneniveau. Alle med de relevante tilladelser kan læse, kopiere og dele dataene. Inaktiv kryptering beskytter mod gendannelse af en sikkerhedskopi til en usikker server eller kopiering af database- og transaktionslogfiler til en anden ikke-sikret server. Der forekommer ingen dekryptering under sikkerhedskopieringen.
TDE beskytter inaktive data og overholder forskellige branchelove, regler og retningslinjer. Det gør det muligt for softwareudviklere at kryptere data ved hjælp af AES- og 3DES-krypteringsalgoritmer uden at ændre eksisterende programmer.
Databaser, der er oprettet i Azure SQL Database efter maj 2017, har TDE aktiveret automatisk. Databaser, der er oprettet før maj 2017, skal have TDE aktiveret manuelt. For Azure SQL Managed Instance er TDE som standard aktiveret for databaser, der er oprettet efter februar 2019. Databaser, der er oprettet før februar 2019, skal have TDE aktiveret manuelt.
Hvis du vil aktivere TDE i en Azure SQL Database, skal du redigere databasen på Azure Portal. I ruden Gennemsigtig datakryptering skal du vælge for at aktivere datakryptering.
Databaser i Azure SQL Database krypteres som standard ved hjælp af et certifikat fra Microsoft (tjenesteadministreret nøgle). Azure tilbyder også indstillingen Bring Your Own Key (BYOK), så du kan bruge en kundeadministrerede nøgle, der er oprettet af din virksomhed og uploadet til Azure Key Vault. Hvis den kundeadministrerede nøgle fjernes fra Azure, lukkes databaseforbindelserne, og adgang til databasen nægtes.
Aktivering af TDE i en Microsoft SQL Server-database er en nem proces, da der kun kræves nogle få T-SQL-kommandoer. Denne proces omfatter følgende trin:
- Angiv en masternøgle i masterdatabasen
CREATE MASTER KEY ENCRYPTIONved hjælp af kommandoen . - Opret et certifikat i masterdatabasen
CREATE CERTIFICATEved hjælp af kommandoen . - Opret en databasekrypteringsnøgle i databasen ved hjælp af
CREATE DATABASE ENCRYPTION KEYkommandoen . - Aktivér krypteringsnøglen ved hjælp af
ALTER DATABASEkommandoen .
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<your-pwd>';
GO
CREATE CERTIFICATE MyServerCert
WITH SUBJECT = 'TDEDemo_Certificate';
GO
USE [TDE_Demo];
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE TDE_Demo SET ENCRYPTION ON;
GO
Når TDE er aktiveret, tager det tid at kryptere databasen, da hver side skal læses, krypteres og skrives tilbage til disken. Jo større databasen er, jo længere tager denne proces. Denne baggrundsproces kører med lav prioritet for at undgå overbelastning af systemets I/O eller CPU.
Det certifikat, der bruges af TDE, skal sikkerhedskopieres manuelt og gemmes sikkert. SQL Server kan integreres med EKMs (Enterprise Key Managers) som Azure Key Vault for at administrere krypteringsnøgler. Administration af certifikatet er afgørende, fordi gendannelsen mislykkes, da databasen ikke kan læses, hvis den går tabt, og databasen skal gendannes fra en sikkerhedskopi.
Seddel
Hvis du vil bruge TDE sammen med databaser i en always on availability-gruppe, skal det certifikat, der bruges til at kryptere databasen, sikkerhedskopieres og gendannes til de andre servere i tilgængelighedsgruppen, der skal være vært for kopier af databasen.
Kundeadministrerede nøgler
Du kan alternativt bruge BYOK og drage fordel af en Azure Key Vault. Fordelene ved at bruge kundeadministrerede nøgler er:
- Fuld og detaljeret kontrol over brugen og administrationen af TDE-beskytteren
- Gennemsigtighed i brugen af TDE-beskytteren
- Mulighed for at implementere adskillelse af opgaver i administrationen af nøgler og data i organisationen
- Key Vault-administratoren kan tilbagekalde adgangstilladelser til nøgler for at gøre krypteret database utilgængelig
- Central administration af nøgler i AKV
- Større tillid fra dine slutkunder, fordi AKV er designet, så Microsoft ikke kan se eller udtrække krypteringsnøgler
Du kan også drage fordel af at bruge en UMI- med kundeadministrerede nøgler til TDE, som:
- Gør det muligt at forhåndsgodkende adgang til key vault for logiske Azure SQL-servere ved at oprette en brugertildelt administreret identitet og give den adgang til key vault, selv før serveren eller databasen oprettes.
- Gør det muligt at oprette en logisk Azure SQL-server med TDE og CMK aktiveret.
- Gør det muligt for den samme brugertildelt administrerede identitet at blive tildelt til flere servere, hvilket fjerner behovet for individuelt at aktivere systemtildelt administreret identitet for hver logiske Azure SQL-server og give den adgang til key vault.
- Giver mulighed for at gennemtvinge CMK på serveroprettelsestidspunktet med en tilgængelig indbygget Azure-politik.
Automatisk nøglerotation introduceres for kundeadministrerede nøgler ved hjælp af TDE. Når indstillingen er aktiveret, kontrollerer serveren løbende key vault for alle nye versioner af nøglen, der bruges som TDE-beskytter. Hvis der registreres en ny version af nøglen, roteres TDE-beskytteren på serveren automatisk til den nyeste nøgleversion inden for 60 minutter.
Azure-diskkryptering
Ud over disse SQL Server-sikkerhedsfunktioner omfatter Azure VM'er et ekstra lag af sikkerhed, Azure Disk Encryption – en funktion, der hjælper med at beskytte og beskytte data og overholde organisationens og overholdelsesforpligtelserne. Hvis du bruger TDE, er dine data beskyttet af flere krypteringslag med Azure Disk Encryption.