ALTER SYMMETRIC KEY (Transact-SQL)ALTER SYMMETRIC KEY (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Permet de modifier les propriétés d'une clé symétrique.Changes the properties of a symmetric key.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
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  

ArgumentsArguments

KEY_NAMEKey_name
Nom sous lequel la clé symétrique à modifier est connue dans la base de données.Is the name by which the symmetric key to be changed is known in the database.

ADD ENCRYPTION BYADD ENCRYPTION BY
Permet d'ajouter un chiffrement en utilisant la méthode spécifiée.Adds encryption by using the specified method.

DROP ENCRYPTION BYDROP ENCRYPTION BY
Permet de supprimer le chiffrement utilisant la méthode spécifiée.Drops encryption by the specified method. Vous ne pouvez pas supprimer tous les chiffrements d'une clé symétrique.You cannot remove all the encryptions from a symmetric key.

CERTIFICATE Certificate_nameCERTIFICATE Certificate_name
Spécifie le certificat utilisé pour chiffrer la clé symétrique.Specifies the certificate that is used to encrypt the symmetric key. Ce certificat doit déjà exister dans la base de données.This certificate must already exist in the database.

PASSWORD =' password 'PASSWORD ='password'
Spécifie le mot de passe utilisé pour chiffrer la clé symétrique.Specifies the password that is used to encrypt the symmetric key. 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 ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server.

SYMMETRIC KEY Symmetric_Key_NameSYMMETRIC KEY Symmetric_Key_Name
Spécifie la clé symétrique utilisée pour chiffrer la clé symétrique en cours de modification.Specifies the symmetric key that is used to encrypt the symmetric key that is being changed. Cette clé symétrique doit déjà exister dans la base de données et doit être ouverte.This symmetric key must already exist in the database and must be open.

ASYMMETRIC KEY Asym_Key_NameASYMMETRIC KEY Asym_Key_Name
Spécifie la clé asymétrique utilisée pour chiffrer la clé symétrique en cours de modification.Specifies the asymmetric key that is used to encrypt the symmetric key that is being changed. Cette clé asymétrique doit déjà exister dans la base de données.This asymmetric key must already exist in the database.

NotesRemarks

Attention

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é.When a symmetric key is encrypted with a password instead of with the public key of the database master key, the TRIPLE_DES encryption algorithm is used. Pour cette raison, les clés créées à l'aide d'un algorithme de chiffrement renforcé, tel qu'AES, sont elles-mêmes sécurisées par un algorithme plus faible.Because of this, keys that are created with a strong encryption algorithm, such as AES, are themselves secured by a weaker algorithm.

Pour modifier le chiffrement de la clé symétrique, utilisez les expressions ADD ENCRYPTION et DROP ENCRYPTION.To change the encryption of the symmetric key, use the ADD ENCRYPTION and DROP ENCRYPTION phrases. Il est impossible qu'une clé ne présente aucun chiffrement.It is never possible for a key to be entirely without encryption. Pour cette raison, la méthode recommandée consiste à ajouter le nouveau type de chiffrement avant de supprimer l'ancien.For this reason, the best practice is to add the new form of encryption before removing the old form of encryption.

Pour changer le propriétaire d’une clé symétrique, utilisez ALTER AUTHORIZATION.To change the owner of a symmetric key, use ALTER AUTHORIZATION.

Notes

L'algorithme RC4 est uniquement pris en charge pour des raisons de compatibilité descendante.The RC4 algorithm is only supported for backward compatibility. Le nouveau matériel ne peut être chiffré à l'aide de RC4 ou de RC4_128 que lorsque la base de données se trouve dans le niveau de compatibilité 90 ou 100.New material can only be encrypted using RC4 or RC4_128 when the database is in compatibility level 90 or 100. (Non recommandé.) Utilisez à la place un algorithme plus récent, tel qu'un des algorithmes AES.(Not recommended.) Use a newer algorithm such as one of the AES algorithms instead. Dans SQL Server 2012 (11.x)SQL Server 2012 (11.x), le matériel chiffré à l'aide de RC4 ou de RC4_128 peut être déchiffré dans n'importe quel niveau de compatibilité.In SQL Server 2012 (11.x)SQL Server 2012 (11.x) material encrypted using RC4 or RC4_128 can be decrypted in any compatibility level.

AutorisationsPermissions

Requiert l'autorisation ALTER sur la clé symétrique.Requires ALTER permission on the symmetric key. 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.If adding encryption by a certificate or asymmetric key, requires VIEW DEFINITION permission on the certificate or asymmetric key. 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.If dropping encryption by a certificate or asymmetric key, requires CONTROL permission on the certificate or asymmetric key.

ExemplesExamples

Dans l'exemple ci-dessous, la méthode de chiffrement utilisée pour protéger une clé symétrique est modifiée.The following example changes the encryption method that is used to protect a symmetric key. La clé symétrique JanainaKey043 a été chiffrée à l'aide du certificat Shipping04 lors de sa création.The symmetric key JanainaKey043 is encrypted using certificate Shipping04 when the key was created. 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.Because the key can never be stored unencrypted, in this example, encryption is added by password, and then encryption is removed by certificate.

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;  

Voir aussiSee Also

CREATE SYMMETRIC KEY (Transact-SQL) CREATE SYMMETRIC KEY (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL) OPEN SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL) CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL) DROP SYMMETRIC KEY (Transact-SQL)
Hiérarchie de chiffrementEncryption Hierarchy