OPEN SYMMETRIC KEY (Transact-SQL)OPEN SYMMETRIC KEY (Transact-SQL)

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

Déchiffre une clé symétrique et la met à disposition pour l'utiliser.Decrypts a symmetric key and makes it available for use.

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

SyntaxeSyntax

  
OPEN SYMMETRIC KEY Key_name DECRYPTION BY <decryption_mechanism>  
  
<decryption_mechanism> ::=  
    CERTIFICATE certificate_name [ WITH PASSWORD = 'password' ]  
    |  
    ASYMMETRIC KEY asym_key_name [ WITH PASSWORD = 'password' ]  
    |  
    SYMMETRIC KEY decrypting_Key_name  
    |  
    PASSWORD = 'decryption_password'  

ArgumentsArguments

KEY_NAMEKey_name
Nom de la clé symétrique à ouvrir.Is the name of the symmetric key to be opened.

CERTIFICATE certificate_nameCERTIFICATE certificate_name
Nom du certificat dont la clé privée sera utilisée pour déchiffrer la clé symétrique.Is the name of a certificate whose private key will be used to decrypt the symmetric key.

ASYMMETRIC KEY asym_key_nameASYMMETRIC KEY asym_key_name
Nom de la clé asymétrique dont la clé privée sera utilisée pour déchiffrer la clé symétrique.Is the name of an asymmetric key whose private key will be used to decrypt the symmetric key.

WITH PASSWORD ='password'WITH PASSWORD ='password'
Mot de passe utilisé pour chiffrer la clé privée du certificat ou la clé asymétrique.Is the password that was used to encrypt the private key of the certificate or asymmetric key.

SYMMETRIC KEY decrypting_key_nameSYMMETRIC KEY decrypting_key_name
Nom de la clé symétrique qui sera utilisée pour déchiffrer la clé symétrique en cours d'ouverture.Is the name of a symmetric key that will be used to decrypt the symmetric key that is being opened.

PASSWORD ='password'PASSWORD ='password'
Mot de passe utilisé pour protéger la clé symétrique.Is the password that was used to protect the symmetric key.

NotesRemarks

Les clés symétriques ouvertes sont liées à la session et non au contexte de sécurité.Open symmetric keys are bound to the session not to the security context. Une clé ouverte est disponible tant qu'elle n'a pas été explicitement fermée ou que la session n'a pas été arrêtée.An open key will continue to be available until it is either explicitly closed or the session is terminated. Si vous ouvrez une clé symétrique puis vous changez de contexte, la clé reste ouverte et disponible dans le contexte de substitution.If you open a symmetric key and then switch context, the key will remain open and be available in the impersonated context. Des informations relatives aux clés symétriques ouvertes sont consultables dans la vue de catalogue sys.openkeys (Transact-SQL).Information about open symmetric keys is visible in the sys.openkeys (Transact-SQL) catalog view.

Si la clé symétrique a été chiffrée avec une autre clé, celle-ci doit être ouverte d'abord.If the symmetric key was encrypted with another key, that key must be opened first.

Si la clé symétrique est déjà ouverte, la requête est NO_OP.If the symmetric key is already open, the query is a NO_OP.

Si le mot de passe, le certificat ou la clé fournie pour déchiffrer la clé symétrique est incorrecte, la requête échoue.If the password, certificate, or key supplied to decrypt the symmetric key is incorrect, the query will fail.

Les clés symétriques créées à partir d'un fournisseur de chiffrement ne peuvent pas être ouvertes.Symmetric keys created from encryption providers cannot be opened. Les opérations de chiffrement et déchiffrement utilisant ce type de clé symétrique s’exécutent sans l’instruction OPEN car le fournisseur de chiffrement ouvre et ferme la clé.Encryption and decryption operations using this kind of symmetric key succeed without the OPEN statement because the Encryption Provider is opening and closing the key.

AutorisationsPermissions

L'appelant doit disposer d'une autorisation sur la clé, et l'autorisation VIEW DEFINITION ne doit pas lui avoir été refusée sur la clé.The caller must have some permission on the key and must not have been denied VIEW DEFINITION permission on the key. D'autres conditions existent qui dépendent du mode de déchiffrement :Additional requirements vary, depending on the decryption mechanism:

  • DECRYPTION BY CERTIFICATE : autorisation CONTROL sur le certificat et connaissance du mot de passe qui chiffre la clé privée.DECRYPTION BY CERTIFICATE: CONTROL permission on the certificate and knowledge of the password that encrypts its private key.

  • DECRYPTION BY ASYMMETRIC KEY : autorisation CONTROL sur la clé asymétrique et connaissance du mot de passe qui chiffre la clé privée.DECRYPTION BY ASYMMETRIC KEY: CONTROL permission on the asymmetric key and knowledge of the password that encrypts its private key.

  • DECRYPTION BY PASSWORD : connaissance de l'un des mots de passe utilisés pour chiffrer la clé symétrique.DECRYPTION BY PASSWORD: knowledge of one of the passwords that is used to encrypt the symmetric key.

ExemplesExamples

A.A. Ouverture d'une clé symétrique à l'aide d'un certificatOpening a symmetric key by using a certificate

L'exemple suivant ouvre la clé symétrique SymKeyMarketing3 et la déchiffre à l'aide de la clé privée du certificat MarketingCert9.The following example opens the symmetric key SymKeyMarketing3 and decrypts it by using the private key of certificate MarketingCert9.

USE AdventureWorks2012;  
OPEN SYMMETRIC KEY SymKeyMarketing3   
    DECRYPTION BY CERTIFICATE MarketingCert9;  
GO  

B.B. Ouverture d'une clé symétrique à l'aide d'une autre clé symétriqueOpening a symmetric key by using another symmetric key

L'exemple suivant ouvre la clé symétrique MarketingKey11 et la déchiffre à l'aide de la clé symétrique HarnpadoungsatayaSE3.The following example opens the symmetric key MarketingKey11 and decrypts it by using symmetric key HarnpadoungsatayaSE3.

USE AdventureWorks2012;  
-- First open the symmetric key that you want for decryption.  
OPEN SYMMETRIC KEY HarnpadoungsatayaSE3   
    DECRYPTION BY CERTIFICATE sariyaCert01;  
-- Use the key that is already open to decrypt MarketingKey11.  
OPEN SYMMETRIC KEY MarketingKey11   
    DECRYPTION BY SYMMETRIC KEY HarnpadoungsatayaSE3;  
GO   

Voir aussiSee Also

CREATE SYMMETRIC KEY (Transact-SQL) CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL) ALTER 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 chiffrement Encryption Hierarchy
Gestion de clés extensible (EKM)Extensible Key Management (EKM)