Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Tento článek obsahuje přehled možností šifrování pro zálohování SQL Serveru. Obsahuje podrobnosti o využití, výhodách a doporučených postupech pro šifrování během zálohování.
Přehled
Od verze SQL Server 2014 (12.x) má SQL Server možnost šifrovat data při vytváření zálohy. Zadáním šifrovacího algoritmu a šifrovacího algoritmu (certifikátu nebo asymetrického klíče) při vytváření zálohy můžete vytvořit šifrovaný záložní soubor. Podporují se všechny cíle úložiště: místní úložiště a úložiště Azure. Kromě toho je možné nakonfigurovat možnosti šifrování pro zálohování spravované SQL Serverem do Microsoft Azure, nová funkce zavedená v SQL Serveru 2014 (12.x).
Pokud chcete při zálohování šifrovat, musíte zadat šifrovací algoritmus a šifrovač pro zabezpečení šifrovacího klíče. Podporované možnosti šifrování jsou následující:
Šifrovací algoritmus: Podporované šifrovací algoritmy jsou: AES 128, AES 192, AES 256 a Triple DES.
Encryptor: Certifikát nebo asymetrický klíč
Upozornění
Je velmi důležité zálohovat certifikát nebo asymetrický klíč, nejlépe do jiného umístění než záložní soubor, který se použil k šifrování. Bez certifikátu nebo asymetrického klíče nemůžete zálohu obnovit a záložní soubor se stane nepoužitelným. Certifikáty uložené v obsažené systémové databázi by se také měly zálohovat.
Obnovení šifrované zálohy: Obnovení SQL Serveru nevyžaduje zadání žádných parametrů šifrování během obnovení. Vyžaduje, aby byl certifikát nebo asymetrický klíč použitý k šifrování záložního souboru k dispozici v instanci, do které provádíte obnovení. Uživatelský účet provádějící obnovení musí mít VIEW DEFINITION oprávnění k certifikátu nebo klíči. Pokud obnovujete šifrovanou zálohu do jiné instance, musíte se ujistit, že je v této instanci k dispozici certifikát.
Posloupnost obnovení šifrované databáze do nového umístění spočívá v následujících krocích:
- ZÁLOŽNÍ CERTIFIKÁT (Transact-SQL) ve staré databázi
-
CREATE MASTER KEY (Transact-SQL) v databázi na nové umístění
master - CREATE CERTIFICATE (Transact-SQL) ze záložního certifikátu staré databáze importované do umístění na novém serveru
- Obnovení databáze do nového umístění (SQL Server)
Pokud obnovujete zálohu z databáze s šifrováním TDE, měl by být certifikát TDE dostupný v instanci, do které obnovujete. Další informace naleznete v tématu Přesunutí databáze chráněné transparentním šifrováním dat na jiný SQL Server.
Výhody
Šifrování záloh databáze pomáhá zabezpečit data: SQL Server poskytuje možnost zašifrovat zálohovaná data při vytváření zálohy.
Šifrování lze použít také pro databáze, které jsou šifrované pomocí TDE (Transparentní šifrování dat).
Šifrování je podporováno pro zálohy provedené zálohováním spravovaným SQL Serverem do Microsoft Azure, které poskytuje další zabezpečení pro zálohování mimo lokalitu.
Tato funkce podporuje více šifrovacích algoritmů až do 256bitové verze AES. Díky tomu můžete vybrat algoritmus, který odpovídá vašim požadavkům.
Šifrovací klíče můžete integrovat s poskytovateli EKM (Extensible Key Management).
Požadavky
Pro šifrování zálohy jsou splněné následující požadavky:
Vytvoření hlavního klíče databáze pro
masterdatabázi: Hlavní klíč databáze (DMK) je symetrický klíč, který slouží k ochraně privátních klíčů certifikátů a asymetrických klíčů, které jsou přítomné v databázi. Další informace najdete v tématu SQL Server a šifrovací klíče databáze (databázový stroj).Vytvořte certifikát nebo asymetrický klíč, který se použije k šifrování zálohování. Další informace o vytvoření certifikátu naleznete v tématu CREATE CERTIFICATE (Transact-SQL). Další informace o vytvoření asymetrického klíče najdete v tématu CREATE ASYMMETRIC KEY (Transact-SQL).
Důležité
Podporovány jsou pouze asymetrické klíče umístěné v EKM (Extensible Key Management).
Omezení
Následující omezení platí pro možnosti šifrování:
Pokud k šifrování zálohovacích dat používáte asymetrický klíč, podporují se jenom asymetrického klíče umístěné v poskytovateli EKM.
SQL Server Express a WEB SQL Serveru nepodporují šifrování během zálohování. Obnovení ze zašifrované zálohy na instanci SQL Serveru Express nebo webu SQL Serveru je však podporováno.
Předchozí verze SQL Serveru nemůžou číst šifrované zálohy.
Připojení k existující sadě záloh není u šifrovaných záloh podporováno.
Povolení
Účet, který provede operace zálohování v šifrované databázi, vyžaduje určitá oprávnění.
db_backupoperator roli na úrovni databáze u databáze, která je zálohována. To se vyžaduje bez ohledu na šifrování.
VIEW DEFINITIONoprávnění pro certifikát vmasterdatabázi.Následující příklad uděluje příslušná oprávnění pro certifikát.
USE [master] GO GRANT VIEW DEFINITION ON CERTIFICATE::[<SERVER_CERT>] TO [<db_account>] GO
Poznámka:
K zálohování nebo obnovení databáze chráněné transparentním šifrováním dat se nevyžaduje přístup k certifikátu transparentního šifrování dat.
Metody šifrování pro zálohování
Následující části obsahují stručný úvod k postupu šifrování dat během zálohování. Kompletní postup šifrování zálohování pomocí jazyka Transact-SQL najdete v tématu Vytvoření šifrovaného zálohování.
Použití aplikace SQL Server Management Studio
Zálohu můžete zašifrovat při vytváření zálohy databáze v některém z následujících dialogových oken:
Zálohování databáze (stránka možností zálohování) Na stránce Možnosti zálohování můžete vybrat šifrování a zadat šifrovací algoritmus a certifikát nebo asymetrický klíč, který se má použít pro šifrování.
Použití Průvodce plánem údržby Když vyberete úlohu zálohování, na kartě Možnosti na stránce Definovat zálohování ()Úkol můžete vybrat Šifrování zálohování a zadat šifrovací algoritmus a certifikát nebo klíč, který se má použít pro šifrování.
Použijte Transact-SQL
Následuje ukázkový příkaz Transact-SQL pro šifrování záložního souboru:
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
Úplnou syntaxi příkazu Transact-SQL najdete v tématu BACKUP (Transact-SQL).
Použijte PowerShell
Tento příklad vytvoří možnosti šifrování a použije ho jako hodnotu parametru v Backup-SqlDatabase rutině k vytvoření šifrované zálohy.
$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
Backup-SqlDatabase -ServerInstance . -Database "<myDatabase>" -BackupFile "<myDatabase>.bak" -CompressionOption On -EncryptionOption $encryptionOption
Doporučené postupy
Vytvořte zálohu šifrovacího certifikátu a klíčů do jiného umístění než na místním počítači, kde je instance nainstalovaná. Pokud chcete zohlednit scénáře zotavení po havárii, zvažte uložení zálohy certifikátu nebo klíče do umístění mimo lokalitu. Šifrovanou zálohu nemůžete obnovit bez certifikátu použitého k šifrování zálohy.
Pokud chcete obnovit šifrovanou zálohu, měl by být původní certifikát použitý při vytvoření zálohy s odpovídajícím kryptografickým otiskem dostupný v instanci, do které obnovujete. Proto by se certifikát neměl obnovovat po vypršení platnosti ani měnit žádným způsobem. Obnovení může vést k aktualizaci certifikátu, který aktivuje změnu kryptografického otisku, a proto certifikát pro záložní soubor zneplatní. Účet provádějící obnovení by měl mít oprávnění VIEW DEFINITION k certifikátu nebo asymetrický klíč použitý k šifrování během zálohování.
Zálohy databáze dostupnostní skupiny se obvykle provádějí na preferované záložní replice. Pokud obnovíte zálohu na jiné replice, než odkud byla záloha převzata, ujistěte se, že původní certifikát použitý pro zálohování je k dispozici na replikě, do které provádíte obnovení.
Pokud je databáze povolená transparentním šifrováním dat, zvolte pro šifrování databáze a zálohování různé certifikáty nebo asymetrického klíče, abyste zvýšili zabezpečení.