Delen via


Back-upversleuteling

Van toepassing op:SQL Server

Dit artikel bevat een overzicht van de versleutelingsopties voor SQL Server-back-ups. Het bevat details van het gebruik, de voordelen en de aanbevolen procedures voor het versleutelen van de back-up.

Overzicht

Vanaf SQL Server 2014 (12.x) kan SQL Server de gegevens versleutelen tijdens het maken van een back-up. Door het versleutelingsalgoritmen en de versleuteler (een certificaat of asymmetrische sleutel) op te geven bij het maken van een back-up, kunt u een versleuteld back-upbestand maken. Alle opslagbestemmingen: on-premises en Azure Storage worden ondersteund. Daarnaast kunnen versleutelingsopties worden geconfigureerd voor beheerde back-ups van SQL Server naar Microsoft Azure-bewerkingen, een nieuwe functie die is geïntroduceerd in SQL Server 2014 (12.x).

Als u wilt versleutelen tijdens de back-up, moet u een versleutelingsalgoritmen en een versleutelingssleutel opgeven om de versleutelingssleutel te beveiligen. Hier volgen de ondersteunde versleutelingsopties:

  • Coderingsalgoritme: De ondersteunde versleutelingsalgoritmen zijn: AES 128, AES 192, AES 256 en Triple DES

  • Encryptor: Een certificaat of asymmetrische sleutel

Waarschuwing

Het is erg belangrijk om een back-up te maken van het certificaat of de asymmetrische sleutel, en bij voorkeur op een andere locatie dan het back-upbestand dat is gebruikt om te versleutelen. Zonder het certificaat of de asymmetrische sleutel kunt u de back-up niet herstellen, waardoor het back-upbestand onbruikbaar wordt. Er moet ook een back-up worden gemaakt van certificaten die zijn opgeslagen in een ingesloten systeemdatabase .

De versleutelde back-up herstellen: Voor herstel van SQL Server hoeven geen versleutelingsparameters te worden opgegeven tijdens herstelbewerkingen. Hiervoor is vereist dat het certificaat of de asymmetrische sleutel die wordt gebruikt voor het versleutelen van het back-upbestand beschikbaar is op het exemplaar waarnaar u herstelt. Het gebruikersaccount dat de herstelbewerking uitvoert, moet machtigingen hebben VIEW DEFINITION voor het certificaat of de sleutel. Als u de versleutelde back-up herstelt naar een ander exemplaar, moet u ervoor zorgen dat het certificaat beschikbaar is voor dat exemplaar.
De volgorde voor het herstellen van een versleutelde database naar een nieuwe locatie is het volgende:

  1. BACKUP CERTIFICATE (Transact-SQL) in de oude database
  2. CREATE MASTER KEY (Transact-SQL) in de database op de nieuwe locatie master
  3. CREATE CERTIFICATE (Transact-SQL) van het back-upcertificaat van de oude database, geïmporteerd naar een locatie op de nieuwe server.
  4. Een database herstellen naar een nieuwe locatie (SQL Server)

Als u een back-up herstelt vanuit een versleutelde TDE-database, moet het TDE-certificaat beschikbaar zijn op het exemplaar waarnaar u herstelt. Zie Een met TDE beveiligde database verplaatsen naar een andere SQL Server voor meer informatie.

Voordelen

  1. Door de databaseback-ups te versleutelen, kunt u de gegevens beveiligen: SQL Server biedt de mogelijkheid om de back-upgegevens te versleutelen tijdens het maken van een back-up.

  2. Versleuteling kan ook worden gebruikt voor databases die zijn versleuteld met behulp van TDE.

  3. Versleuteling wordt ondersteund voor back-ups die worden uitgevoerd door door SQL Server beheerde back-ups naar Microsoft Azure, wat extra beveiliging biedt voor externe back-ups.

  4. Deze functie ondersteunt meerdere versleutelingsalgoritmen tot AES 256-bits. Hiermee kunt u een algoritme selecteren dat overeenkomt met uw vereisten.

  5. U kunt versleutelingssleutels integreren met EKM-providers (Extensible Key Management).

Vereiste voorwaarden

Hier volgen de vereisten voor het versleutelen van een back-up:

  1. Maak een databasehoofdsleutel voor de master database: de databasehoofdsleutel (DMK) is een symmetrische sleutel die wordt gebruikt voor het beveiligen van de persoonlijke sleutels van certificaten en asymmetrische sleutels die aanwezig zijn in de database. Zie SQL Server- en databaseversleutelingssleutels (database-engine) voor meer informatie.

  2. Maak een certificaat of asymmetrische sleutel om te gebruiken voor back-upversleuteling. Zie CREATE CERTIFICATE (Transact-SQL)voor meer informatie over het maken van een certificaat. Zie CREATE ASYMMETRIC KEY (Transact-SQL)voor meer informatie over het maken van een asymmetrische sleutel.

    Belangrijk

    Alleen asymmetrische sleutels die zich in een EKM (Extensible Key Management) bevinden, worden ondersteund.

Beperkingen

Hier volgen beperkingen die van toepassing zijn op de versleutelingsopties:

  • Als u asymmetrische sleutel gebruikt om de back-upgegevens te versleutelen, worden alleen asymmetrische sleutels ondersteund die zich in de EKM-provider bevinden.

  • SQL Server Express en SQL Server Web bieden geen ondersteuning voor versleuteling tijdens het maken van back-ups. Het herstellen van een versleutelde back-up naar een exemplaar van SQL Server Express of SQL Server Web wordt echter ondersteund.

  • In eerdere versies van SQL Server kunnen versleutelde back-ups niet worden gelezen.

  • Het toevoegen aan een bestaande back-upset wordt niet ondersteund voor versleutelde back-ups.

Permissions

Voor het account dat back-upbewerkingen op een versleutelde database uitvoert, zijn specifieke machtigingen vereist.

  • db_backupoperator rol op databaseniveau voor de database waarvan een back-up wordt gemaakt. Dit is vereist, ongeacht de versleuteling.

  • VIEW DEFINITION toestemming voor het certificaat in master database.

    In het volgende voorbeeld worden de juiste machtigingen voor het certificaat verleend.

    USE [master]
    GO
    GRANT VIEW DEFINITION ON CERTIFICATE::[<SERVER_CERT>] TO [<db_account>]
    GO
    

Opmerking

Toegang tot het TDE-certificaat is niet vereist om een back-up te maken van een met TDE beveiligde database of deze te herstellen.

Backupversleutelingsmethoden

De volgende secties bevatten een korte inleiding tot de stappen voor het versleutelen van de gegevens tijdens de back-up. Zie Een versleutelde back-up maken voor een volledig overzicht van de verschillende stappen voor het versleutelen van uw back-up met Behulp van Transact-SQL.

SQL Server Management Studio gebruiken

U kunt een back-up versleutelen bij het maken van de back-up van een database in een van de volgende dialoogvensters:

  1. Back-up maken van database (pagina Back-upopties) Op de pagina Opties voor back-ups kunt u Versleuteling selecteren en het versleutelingsalgoritmen en het certificaat of de asymmetrische sleutel opgeven die u voor de versleuteling wilt gebruiken.

  2. Wizard Onderhoudsplan gebruiken Wanneer u een back-uptaak selecteert, selecteert u op het tabblad Opties van de pagina Back-up ()Taak definiëren de optie Back-upversleuteling en geeft u het versleutelingsalgoritmen en het certificaat of de sleutel op die u voor de versleuteling wilt gebruiken.

Gebruik Transact-SQL

Hieronder volgt een voorbeeld van een Transact-SQL instructie voor het versleutelen van het back-upbestand:

BACKUP DATABASE [MYTestDB]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'
WITH
  COMPRESSION,
  ENCRYPTION
   (
   ALGORITHM = AES_256,
   SERVER CERTIFICATE = BackupEncryptCert
   ),
  STATS = 10
GO

Zie BACKUP (Transact-SQL) voor de volledige syntaxis van de Transact-SQL instructie.

Gebruik PowerShell

In dit voorbeeld worden de versleutelingsopties aangemaakt en gebruikt als parameterwaarde in de cmdlet Backup-SqlDatabase om een versleutelde back-up te maken.

$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"

Backup-SqlDatabase -ServerInstance . -Database "<myDatabase>" -BackupFile "<myDatabase>.bak" -CompressionOption On -EncryptionOption $encryptionOption

Maak een back-up van het versleutelingscertificaat en sleutels naar een andere locatie dan uw lokale computer waarop het exemplaar is geïnstalleerd. Als u rekening wilt houden met scenario's voor herstel na noodgevallen, kunt u overwegen om een back-up van het certificaat of de sleutel op een externe locatie op te slaan. U kunt een versleutelde back-up niet herstellen zonder het certificaat dat wordt gebruikt om de back-up te versleutelen.

Als u een versleutelde back-up wilt herstellen, moet het oorspronkelijke certificaat dat is gebruikt toen de back-up werd gemaakt met de overeenkomende vingerafdruk beschikbaar zijn op het exemplaar waarnaar u herstelt. Daarom mag het certificaat niet worden vernieuwd na het verlopen of op geen enkele manier worden gewijzigd. Verlenging kan leiden tot het bijwerken van het certificaat dat de wijziging van de vingerafdruk activeert, waardoor het certificaat ongeldig wordt voor het back-upbestand. Het account dat de herstelbewerking uitvoert, moet VIEW DEFINITION-machtigingen hebben voor het certificaat of de asymmetrische sleutel die wordt gebruikt om tijdens de back-up te versleutelen.

Databaseback-ups van beschikbaarheidsgroepen worden doorgaans uitgevoerd op de voorkeursback-upreplica. Als u een back-up herstelt op een andere replica dan van waaruit de back-up is gemaakt, controleert u of het oorspronkelijke certificaat dat wordt gebruikt voor back-up beschikbaar is op de replica waarnaar u herstelt.

Als de database TDE is ingeschakeld, kiest u verschillende certificaten of asymmetrische sleutels voor het versleutelen van de database en de back-up om de beveiliging te verbeteren.