ALTER SYMMETRIC KEY (Transact-SQL)

Permet de modifier les propriétés d'une clé symétrique.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

ALTER SYMMETRIC KEY Key_name <alter_option>

<alter_option> ::=
   ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
   | 
   DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
<encrypting_mechanism> ::=
   CERTIFICATE certificate_name
   |
   PASSWORD = 'password'
   |
   SYMMETRIC KEY Symmetric_Key_Name
   |
   ASYMMETRIC KEY Asym_Key_Name

Arguments

  • Key_name
    Nom sous lequel la clé symétrique à modifier est connue dans la base de données.

  • ADD ENCRYPTION BY
    Permet d'ajouter un chiffrement en utilisant la méthode spécifiée.

  • DROP ENCRYPTION BY
    Permet de supprimer le chiffrement utilisant la méthode spécifiée. Vous ne pouvez pas supprimer tous les chiffrements d'une clé symétrique.

  • CERTIFICATE Certificate_name
    Spécifie le certificat utilisé pour chiffrer la clé symétrique. Ce certificat doit déjà exister dans la base de données.

  • PASSWORD ='password'
    Spécifie le mot de passe utilisé pour chiffrer la clé symétrique. password doit satisfaire aux critères de la stratégie de mot de passe Windows de l'ordinateur qui exécute l'instance de SQL Server.

  • SYMMETRIC KEY Symmetric_Key_Name
    Spécifie la clé symétrique utilisée pour chiffrer la clé symétrique en cours de modification. Cette clé symétrique doit déjà exister dans la base de données et doit être ouverte.

  • ASYMMETRIC KEY Asym_Key_Name
    Spécifie la clé asymétrique utilisée pour chiffrer la clé symétrique en cours de modification. Cette clé asymétrique doit déjà exister dans la base de données.

Notes

AttentionAttention

Lorsqu'une clé symétrique est chiffrée à l'aide d'un mot de passe à la place de la clé publique de la clé principale de base de données, l'algorithme de chiffrement TRIPLE_DES est utilisé. Pour cette raison, les clés créées à l'aide d'un algorithme de chiffrement fort, tel qu'AES, sont elles-mêmes sécurisées par un algorithme plus faible.

Pour modifier le chiffrement de la clé symétrique, utilisez les expressions ADD ENCRYPTION et DROP ENCRYPTION. Il est impossible qu'une clé ne présente aucun chiffrement. Pour cette raison, la méthode recommandée consiste à ajouter le nouveau type de chiffrement avant de supprimer l'ancien.

Pour changer le propriétaire d'une clé symétrique, utilisez ALTER AUTHORIZATION.

Autorisations

Requiert l'autorisation ALTER sur la clé symétrique. En cas d'ajout d'un chiffrement par certificat ou clé asymétrique, l'autorisation VIEW DEFINITION est requise sur le certificat ou la clé asymétrique. En cas de suppression d'un chiffrement par certificat ou clé asymétrique, l'autorisation CONTROL est requise sur le certificat ou la clé asymétrique.

Exemples

Dans l'exemple ci-dessous, la méthode de chiffrement utilisée pour protéger une clé symétrique est modifiée. La clé symétrique JanainaKey043 a été chiffrée à l'aide du certificat Shipping04 lors de sa création. Comme la clé ne peut jamais être stockée sous forme non chiffrée, dans cet exemple, le chiffrement est ajouté par mot de passe, puis le chiffrement est supprimé à l'aide d'un certificat.

CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256 
    ENCRYPTION BY CERTIFICATE Shipping04;
-- Open the key. 
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04
    WITH PASSWORD = '<enterStrongPasswordHere>'; 
-- First, encrypt the key with a password.
ALTER SYMMETRIC KEY JanainaKey043 
    ADD ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';
-- Now remove encryption by the certificate.
ALTER SYMMETRIC KEY JanainaKey043 
    DROP ENCRYPTION BY CERTIFICATE Shipping04;
CLOSE SYMMETRIC KEY JanainaKey043;