Занятие 5. (Необязательно) Шифрование базы данных с помощью TDE
В качестве дополнительного шага вы можете зашифровать созданную базу данных. Функция прозрачного шифрования данных (TDE) выполняет в реальном времени шифрование и дешифрование файлов данных и журналов в операциях ввода-вывода. При таком типе шифрования используется ключ шифрования базы данных (DEK), который хранится в загрузочной записи базы данных, чтобы он был доступен при восстановлении. Дополнительные сведения см. в разделах Прозрачное шифрование данных (TDE) и Перемещение базы данных, защищенной TDE, в другую SQL Server.
Для этого занятия предполагается, что вы уже выполнили следующие шаги.
У вас есть учетная запись хранения Azure.
Вы создали контейнер в учетной записи хранения Azure.
Создали политику в контейнере с правами на чтение, запись и перечисление. Создали ключ SAS.
Создали учетные данные SQL Server на исходном компьютере.
Создали базу данных с помощью процедуры, описанной в занятии 4.
Чтобы зашифровать базу данных, выполните следующие действия.
На исходном компьютере внесите изменения и выполните в окне запроса следующие инструкции.
-- Create a master key and a server certificate USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01'; GO CREATE CERTIFICATE MySQLCert WITH SUBJECT = 'SQL - Azure Storage Certification' GO -- Create a backup of the server certificate in the master database. -- Store TDS certificates in the source machine locally. BACKUP CERTIFICATE MySQLCert TO FILE = 'C:\certs\MySQLCert.CER' WITH PRIVATE KEY ( FILE = 'C:\certs\MySQLPrivateKeyFile.PVK', ENCRYPTION BY PASSWORD = 'MySQLKey01' );
Затем зашифруйте новую базу данных на исходном компьютере, выполнив следующие действия.
-- Switch to the new database. -- Create a database encryption key, that is protected by the server certificate in the master database. -- Alter the new database to encrypt the database using TDE. USE TestDB1; GO -- Encrypt your database CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MySQLCert GO ALTER DATABASE TestDB1 SET ENCRYPTION ON GO
Чтобы узнать состояние шифрования базы данных и связанных ключей шифрования базы данных, выполните следующую инструкцию:
SELECT * FROM sys.dm_database_encryption_keys;
GO
Подробные сведения об инструкциях Transact-SQL, которые использовались на этом занятии, см. в разделах CREATE DATABASE (SQL Server Transact-SQL),ALTER DATABASE (Transact-SQL),CREATE MASTER KEY (Transact-SQL),CREATE CERTIFICATE (Transact-SQL) и sys.dm_database_encryption_keys (Transact-SQL).
Следующее занятие:
Занятие 6: Перенос базы данных с исходного локального компьютера на целевой компьютер в Azure