Leçon 5. (Facultatif) Chiffrer votre base de données avec TDE
En tant qu'étape facultative, chiffrez la base de données créée. Le chiffrement transparent des données (TDE, Transparent Data Encryption) effectue le chiffrement et le déchiffrement des E/S en temps réel des fichiers de données et des fichiers journaux. Le type de chiffrement utilise une clé de chiffrement de base de données (DEK), stockée dans l'enregistrement de démarrage de base de données pour être disponible pendant la récupération. Pour plus d’informations, consultez Transparent Data Encryption (TDE) et Déplacer une base de données protégée par TDE vers un autre SQL Server.
Cette leçon suppose que vous avez déjà effectué les étapes suivantes :
Vous disposez d’un compte Stockage Azure.
Vous avez créé un conteneur sous votre compte Stockage Azure.
Vous avez créé une stratégie sur un conteneur avec des droits en lecture, écriture et création de liste. Vous avez également généré une clé SAS.
Vous avez créé des informations d'identification SQL Server sur l'ordinateur source.
Vous avez créé une base de données en suivant la procédure décrite dans la leçon 4.
Si vous souhaitez chiffrer une base de données, procédez comme suit :
Sur l'ordinateur source, modifiez et exécutez les instructions suivantes dans une fenêtre de requête :
-- 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' );
Ensuite, chiffrez votre nouvelle base de données dans l'ordinateur source en procédant comme suit :
-- 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
Si vous voulez connaître l'état de chiffrement d'une base de données et ses clés de chiffrement associées, exécutez l'instruction suivante :
SELECT * FROM sys.dm_database_encryption_keys;
GO
Pour plus d’informations sur les instructions Transact-SQL utilisées dans cette leçon, consultez CREATE DATABASE (SQL Server Transact-SQL),ALTER DATABASE (Transact-SQL),CREATE MASTER KEY (Transact-SQL),CREATE CERTIFICATE (Transact-SQL) et sys.dm_database_encryption_keys (Transact-SQL).
Leçon suivante :