CREATE MASTER KEY (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data WarehouseouiParallel Data Warehouse

Permet de créer une clé principale de base de données.

Topic link icon Conventions de la syntaxe Transact-SQL

-- Syntax for SQL Server and Parallel Data Warehouse  
  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'  
[ ; ]  

-- Syntax for Azure SQL Database and Azure SQL Data Warehouse  
  
CREATE MASTER KEY [ ENCRYPTION BY PASSWORD ='password' ]
[ ; ]  

Mot de passe ='mot de passe»
Mot de passe utilisé pour chiffrer la clé principale dans la base de données. mot de passe doit répondre aux critères de la stratégie de mot de passe Windows de l’ordinateur qui exécute l’instance de SQL Server. mot de passe est facultatif dans Base de données SQL et SQL Data Warehouse.

La clé principale de base de données est une clé symétrique qui permet de protéger les clés privées des certificats et des clés asymétriques présentes dans la base de données. Lors de sa création, la clé principale est chiffrée à l'aide de l'algorithme AES_256 et d'un mot de passe fourni par l'utilisateur. Dans SQL Server 2008 et SQL Server 2008 R2, l'algorithme triple DES est utilisé. Pour permettre le déchiffrement automatique de la clé principale, une copie de la clé est chiffrée à l'aide de la clé principale de service et stockée dans la base de données et dans master. En général, la copie stockée dans master est mise à jour sans avertissement chaque fois que la clé principale est modifiée. Cette valeur par défaut peut être modifié à l’aide de l’option Supprimer le chiffrement par clé principale du SERVICE de ALTER MASTER KEY. Une clé principale qui n’est pas chiffrée par la clé principale du service doit être ouvert à l’aide de la OPEN MASTER KEY instruction et un mot de passe.

La colonne is_master_key_encrypted_by_server de l'affichage catalogue sys.databases dans master indique si la clé principale de base de données est chiffrée au moyen de la clé principale de service.

Des informations sur la clé principale de base de données sont consultables dans l'affichage catalogue sys.symmetric_keys.

Pour SQL Server et Parallel Data Warehouse, la clé principale est généralement protégé par la clé principale du Service et au moins un mot de passe. En cas de la base de données est déplacée vers un autre serveur (envoi de journaux, la restauration de sauvegarde, etc.), la base de données contient une copie de la clé principale chiffrée par la clé principale du Service du serveur d’origine (à moins que ce cryptage supprimé explicitement à l’aide de ALTER la DDL de la clé principale) et une copie chiffrée par mot de passe spécifié pendant les opérations DDL de la clé principale ALTER suivantes ou CREATE MASTER KEY. Pour récupérer la clé principale et toutes les données chiffrées à l’aide de la clé principale de la racine de la hiérarchie de clé après avoir déplacé la base de données, l’utilisateur ont une instruction OPEN MASTER KEY à l’aide d’un mot de passe utilisé pour protéger la clé principale, restaurez une sauvegarde de la clé principale ou restaurer une sauvegarde de clé principale du Service d’origine sur le nouveau serveur.

Pour Base de données SQL et SQL Data Warehouse, le mot de passe n’est pas considérée comme un mécanisme de sécurité pour empêcher la perte de données dans les situations où la base de données peut être déplacée d’un serveur vers un autre, comme la protection de la clé principale du Service sur la clé principale est gérée par la plateforme Microsoft Azure. Par conséquent, le mot de passe de clé maîtresse est facultatif dans Base de données SQL et SQL Data Warehouse.

System_CAPS_ICON_important.jpg Important


Vous devez sauvegarder la clé principale à l’aide de clé principale de sauvegarde et stocker la sauvegarde dans un emplacement sécurisé hors site.

La clés principale du service et les clés principales de base de données sont protégées à l'aide de l'algorithme AES-256.

Requiert l'autorisation CONTROL sur la base de données.

Dans l'exemple ci-dessous, une clé principale de base de données est créée pour la base de données AdventureWorks2012. La clé est chiffrée à l'aide du mot de passe 23987hxJ#KL95234nl0zBe.

-- Uses AdventureWorks  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';  
GO  

L’exemple suivant crée une clé principale. La clé est chiffrée à l'aide du mot de passe 23987hxJ#KL95234nl0zBe.

USE master;  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';  
GO  

Sys.symmetric_keys (Transact-SQL)
Sys.Databases (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
Fermez MASTER KEY (Transact-SQL)
Hiérarchie de chiffrement

Ajouts de la communauté

AJOUTER
Afficher: