Condividi tramite


TASTO SIMMETRICO APERTO (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsDatabase SQL in Microsoft Fabric

Decrittografa una chiave simmetrica e la rende disponibile per l'uso.

Convenzioni relative alla sintassi Transact-SQL

Note

Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Syntax

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'  

Arguments

Key_name
Nome della chiave simmetrica da aprire.

CERTIFICATE_NAME CERTIFICATE
Nome del certificato la cui chiave privata verrà utilizzata per decrittografare la chiave simmetrica.

ASYM_KEY_NAME ASYMMETRIC KEY
Nome della chiave asimmetrica la cui chiave privata verrà utilizzata per decrittografare la chiave simmetrica.

CON PASSWORD ='password'
Password utilizzata per crittografare la chiave privata del certificato o la chiave asimmetrica.

DECRYPTING_KEY_NAME SYMMETRIC KEY
Nome della chiave simmetrica che verrà utilizzata per decrittografare la chiave simmetrica aperta.

PASSWORD ='password'
Password utilizzata per proteggere la chiave simmetrica.

Remarks

Le chiavi simmetriche aperte sono associate alla sessione, non al contesto di sicurezza. Una chiave aperta resterà disponibile finché non viene chiusa in modo esplicito o la sessione non viene terminata. Se si apre una chiave simmetrica e quindi si cambia contesto, la chiave resterà aperta e disponibile nel contesto rappresentato. È possibile aprire più chiavi contemporaneamente. Le informazioni sulle chiavi simmetriche aperte sono visibili nella vista del catalogo sys.openkeys (Transact-SQL).

Se la chiave simmetrica è stata crittografata con un'altra chiave, è necessario aprire innanzitutto la chiave.

Se la chiave simmetrica è già aperta, la query è di tipo NO_OP.

Se la password, la chiave o il certificato fornito per decrittografare la chiave simmetrica non è corretto, la query non verrà eseguita correttamente.

Non è possibile aprire chiavi simmetriche create da provider di crittografia. Le operazioni di crittografia e decrittografia che usano questo tipo di chiave simmetrica vengono eseguite correttamente senza l'istruzione OPEN dato che è il provider di crittografia ad aprire e chiudere la chiave.

Permissions

È necessario che il chiamante disponga di un'autorizzazione per la chiave e che non gli sia stata negata l'autorizzazione VIEW DEFINITION per la chiave. I requisisti aggiuntivi possono variare, in base al meccanismo di decrittografia.

  • DECRYPTION BY CERTIFICATE: autorizzazione CONTROL per il certificato e password che crittografa la relativa chiave privata.

  • DECRYPTION BY ASYMMETRIC KEY: autorizzazione CONTROL per la chiave asimmetrica e password che crittografa la relativa chiave privata.

  • DECRYPTION BY PASSWORD: una delle password utilizzate per crittografare la chiave simmetrica.

Examples

A. Apertura di una chiave simmetrica tramite un certificato

Nell'esempio seguente la chiave simmetrica SymKeyMarketing3 viene aperta e quindi decrittografata tramite la chiave privata del certificato MarketingCert9.

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

B. Apertura di una chiave simmetrica tramite un'altra chiave simmetrica

Nell'esempio seguente la chiave simmetrica MarketingKey11 viene aperta e quindi decrittografata tramite la chiave simmetrica HarnpadoungsatayaSE3.

USE AdventureWorks2022;  
-- 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   

Vedere anche

CREA UNA CHIAVE SIMMETRICA (Transact-SQL)
ALTERA LA TONALITÀ SIMMETRICA (Transact-SQL)
CHIAVE SIMMETRICA CHIUSA (Transact-SQL)
DROP SIMMETRIC KEY (Transact-SQL)
Gerarchia di crittografia
EKM (Extensible Key Management)