Implementer gennemsigtig datakryptering

Fuldført

TDE (Transparent Data Encryption) hjælper med at beskytte Azure SQL Database, Azure SQL Managed Instance og Synapse SQL i Azure Synapse Analytics mod truslen om skadelig offlineaktivitet ved at kryptere inaktive data. Den udfører kryptering og dekryptering i realtid af databasen, tilknyttede sikkerhedskopier og inaktive transaktionslogfiler uden at kræve ændringer af programmet. Som standard er TDE aktiveret for alle nyligt udrullede Azure SQL-databaser og skal aktiveres manuelt for ældre databaser i Azure SQL Database, Azure SQL Managed Instance eller Azure Synapse.

TDE udfører I/O-kryptering i realtid og dekryptering af dataene på sideniveau. Hver side dekrypteres, når den læses i hukommelsen og derefter krypteres, før den skrives til disken. TDE krypterer lagringen af en hel database ved hjælp af en symmetrisk nøgle kaldet DEK (Database Encryption Key). Ved databasestart dekrypteres den krypterede DEK og bruges derefter til dekryptering og rekryptering af databasefilerne i SQL Server Database Engine-processen. DEK er beskyttet af TDE-beskytteren. TDE-beskytteren er enten et tjenesteadministreret certifikat (tjenesteadministreret gennemsigtig datakryptering) eller en asymmetrisk nøgle, der er gemt i Azure Key Vault (kundeadministreret gennemsigtig datakryptering).

For Azure SQL Database og Azure Synapse angives TDE-beskytteren på det logiske SQL-serverniveau og nedarves af alle databaser, der er knyttet til den pågældende server. For Azure SQL Managed Instance (BYOK-funktionen som prøveversion) er TDE-beskytteren angivet på forekomstniveau, og den nedarves af alle krypterede databaser på den pågældende forekomst. Ordet server refererer både til server og forekomst i hele dette dokument, medmindre det er angivet anderledes.

Alle nyligt oprettede SQL-databaser krypteres som standard ved hjælp af tjenesteadministreret gennemsigtig datakryptering. Når databasekilden krypteres, krypteres de destinationsdatabaser, der oprettes via gendannelse, georeplikering og databasekopi som standard. Men når databasekilden ikke er krypteret, krypteres de destinationsdatabaser, der oprettes via gendannelse, georeplikering og databasekopi, ikke som standard. Eksisterende SQL-databaser, der er oprettet før maj 2017, og eksisterende SQL Managed Instance-databaser, der er oprettet før februar 2019, krypteres ikke som standard. SQL Managed Instance-databaser, der er oprettet via gendannelse, nedarver krypteringsstatus fra kilden. Hvis du vil gendanne en eksisterende TDE-krypteret database, skal det påkrævede TDE-certifikat først importeres til den SQL-administrerede forekomst. Hvis du vil finde krypteringsstatus for en database, skal du udføre en udvælgelsesforespørgsel fra sys.dm_database_encryption_keys DMV og kontrollere status for kolonnen encryption_state_desc.

TDE kan ikke bruges til at kryptere systemdatabaser, f.eks. master-databasen, i SQL Database og SQL Managed Instance. Masterdatabasen indeholder objekter, der er nødvendige for at udføre TDE-handlinger på brugerdatabaser. Det anbefales ikke at gemme følsomme data i systemdatabaser. Undtagelsen er tempdb, som altid krypteres med TDE for at beskytte de data, der er gemt der.

Tjenesteadministrer gennemsigtig datakryptering

I Azure er standardindstillingen for TDE, at DEK er beskyttet af et indbygget servercertifikat. Det indbyggede servercertifikat er entydigt for hver server, og den anvendte krypteringsalgoritme er AES 256. Hvis en database er i en georeplikeringsrelation, beskyttes både den primære og den geo-sekundære database af den primære databases overordnede servernøgle. Hvis to databaser er forbundet til den samme server, deler de også det samme indbyggede certifikat. Microsoft roterer automatisk disse certifikater i overensstemmelse med den interne sikkerhedspolitik, og rodnøglen er beskyttet af et internt Microsoft-hemmeligt lager. Kunder kan kontrollere, at SQL Database overholder interne sikkerhedspolitikker i uafhængige overvågningsrapporter fra tredjepart, der er tilgængelige i Microsoft Center for sikkerhed og rettighedsadministration.

Microsoft flytter og administrerer også nøglerne uden problemer efter behov for georeplikering og gendannelser.

Kundeadministrer gennemsigtig datakryptering – Medbring din egen nøgle

Kundeadministrerede TDE kaldes også BYOK-understøttelse (Bring Your Own Key) for TDE. I dette scenarie er den TDE-beskytter, der krypterer DEK, en kundeadministreret asymmetrisk nøgle, der er gemt i en kundeejet og administreret Azure Key Vault (Azures cloudbaserede eksterne nøgleadministrationssystem) og aldrig forlader key vault. TDE-beskytteren kan genereres af key vault eller overføres til key vault fra en HSM-enhed (Hardware Security Module) i det lokale miljø. SQL Database skal tildeles tilladelser til den kundeejede key vault for at dekryptere og kryptere dekrypteringsnøglen. Hvis tilladelserne for den logiske SQL-server til key vault tilbagekaldes, vil en database være utilgængelig, og alle data krypteres

Med TDE med Azure Key Vault-integration kan brugerne styre nøgleadministrationsopgaver, herunder nøgleroteringer, tilladelser til key vault, vigtige sikkerhedskopier og aktivere overvågning/rapportering for alle TDE-beskyttere ved hjælp af Azure Key Vault-funktionalitet. Key Vault leverer central nøgleadministration, udnytter tæt overvågede HSM'er og muliggør adskillelse af opgaver mellem administration af nøgler og data for at hjælpe med at overholde sikkerhedspolitikker.

Skærmbillede af konfigurationsformularen Gennemsigtig datakryptering.

Flyt en gennemsigtig datakrypteringsbeskyttet database

Du behøver ikke at dekryptere databaser til handlinger i Azure. TDE-indstillingerne i kildedatabasen eller den primære database nedarves gennemsigtigt på destinationen. De handlinger, der er inkluderet, omfatter:

  • Geogendannelse
  • Gendannelse af selvbetjeningspunkt
  • Gendannelse af en slettet database
  • Aktiv georeplikering
  • Oprettelse af en databasekopi
  • Gendannelse af sikkerhedskopifil til Azure SQL Managed Instance

Manuel COPY-ONLY sikkerhedskopiering af en database, der er krypteret af tjenesteadministreret TDE, understøttes ikke i Azure SQL Managed Instance, da det certifikat, der bruges til kryptering, ikke er tilgængeligt. Brug funktionen til gendannelse på et tidspunkt til at flytte denne type database til en anden SQL-administreret forekomst, eller skift til kundeadministreret nøgle.

Når du eksporterer en TDE-beskyttet database, krypteres det eksporterede indhold i databasen ikke. Dette eksporterede indhold gemmes i ukrypterede BACPAC-filer. Sørg for at beskytte BACPAC-filerne korrekt og aktivere TDE, når importen af den nye database er fuldført.

Hvis BACPAC-filen f.eks. eksporteres fra en SQL Server-forekomst, krypteres det importerede indhold i den nye database ikke automatisk. Hvis BACPAC-filen importeres til en SQL Server-forekomst, krypteres den nye database heller ikke automatisk.

Den eneste undtagelse er, når du eksporterer en database til og fra SQL Database. TDE er aktiveret på den nye database, men selve BACPAC-filen er stadig ikke krypteret.

Administrer gennemsigtig datakryptering

Administrer TDE på Azure Portal.

Hvis du vil konfigurere TDE via Azure Portal, skal du have forbindelse som Azure Owner, Contributor eller SQL Security Manager.

Aktivér og deaktiver TDE på databaseniveau. I forbindelse med Azure SQL Managed Instance skal du bruge Transact-SQL (T-SQL) til at slå TDE til og fra på en database. For Azure SQL Database og Azure Synapse kan du administrere TDE for databasen på Azure Portal, når du er logget på med Azure-administrator- eller bidragyderkontoen. Find TDE-indstillingerne under brugerdatabasen. Krypteringsnøgle på serverniveau bruges som standard. Der genereres automatisk et TDE-certifikat for den server, der indeholder databasen.

Skærmbillede, der viser, hvordan du aktiverer og deaktiverer gennemsigtig datakryptering på databaseniveau.

Du angiver TDE-masternøglen, der kaldes TDE-beskytteren, på server- eller forekomstniveau. Hvis du vil bruge TDE med BYOK-understøttelse og beskytte dine databaser med en nøgle fra Azure Key Vault, skal du åbne TDE-indstillingerne under din server eller administrerede forekomst.

Skærmbillede, der viser, hvordan du bruger Gennemsigtig datakryptering med understøttelse af Medbring din egen nøgle.

Du kan også bruge en kundeadministrerede nøgle til TDE på databaseniveau for Azure SQL Database.