Sdílet prostřednictvím


OTEVŘENÝ SYMETRICKÝ KLÍČ (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analyticssql database v Microsoft Fabric

Dešifruje symetrický klíč a zpřístupní ho pro použití.

Transact-SQL konvence syntaxe

Note

Tato syntaxe není podporována bezserverovým fondem SQL ve službě 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
Je název symetrického klíče, který se má otevřít.

CERTIFICATE_NAME CERTIFIKÁTU
Je název certifikátu, jehož privátní klíč se použije k dešifrování symetrického klíče.

ASYMETRICKÉ KLÍČOVÉ asym_key_name
Je název asymetrického klíče, jehož privátní klíč se použije k dešifrování symetrického klíče.

S HESLEM ='PASSWORD'
Je heslo, které se použilo k šifrování privátního klíče certifikátu nebo asymetrického klíče.

DECRYPTING_KEY_NAME SYMETRICKÉHO KLÍČE
Je název symetrického klíče, který se použije k dešifrování symetrického klíče, který se otevírá.

HESLO ='heslo'
Je heslo, které se použilo k ochraně symetrického klíče.

Remarks

Otevřené symetrické klíče jsou svázané s relací, nikoli s kontextem zabezpečení. Otevřený klíč bude dál k dispozici, dokud nebude explicitně zavřený nebo se relace ukončí. Pokud otevřete symetrický klíč a pak přepnete kontext, zůstane klíč otevřený a bude k dispozici v zosobněném kontextu. Více klíčů je možné otevřít najednou. Informace o otevřených symetrických klíčích jsou viditelné v zobrazení katalogu sys.openkeys (Transact-SQL).

Pokud byl symetrický klíč zašifrovaný jiným klíčem, musí být tento klíč nejprve otevřen.

Pokud je symetrický klíč již otevřený, dotaz je NO_OP.

Pokud heslo, certifikát nebo klíč zadaný k dešifrování symetrického klíče není správné, dotaz selže.

Symetrické klíče vytvořené z poskytovatelů šifrování nelze otevřít. Operace šifrování a dešifrování pomocí tohoto typu symetrického klíče jsou úspěšné bez příkazu OPEN , protože zprostředkovatel šifrování otevírá a zavírá klíč.

Permissions

Volající musí mít určité oprávnění ke klíči a nesmí být odepřen oprávnění VIEW DEFINITION ke klíči. Další požadavky se liší v závislosti na mechanismu dešifrování:

  • DECRYPTION BY CERTIFICATE: ŘÍZENÍ oprávnění k certifikátu a znalost hesla, které šifruje jeho privátní klíč.

  • DEŠIFROVÁNÍ ASYMETRICKÝM KLÍČEM: CONTROL povolení k asymetrickému klíči a znalost hesla, které šifruje jeho soukromý klíč.

  • DECRYPTION BY PASSWORD: znalost jednoho z hesel, která se používají k šifrování symetrického klíče.

Examples

A. Otevření symetrického klíče pomocí certifikátu

Následující příklad otevře symetrický klíč SymKeyMarketing3 a dešifruje ho pomocí privátního klíče certifikátu MarketingCert9.

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

B. Otevření symetrického klíče pomocí jiného symetrického klíče

Následující příklad otevře symetrický klíč MarketingKey11 a dešifruje ho pomocí symetrického klíče 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   

Viz také

VYTVOŘIT SYMETRICKÝ KLÍČ (Transact-SQL)
ALTER SYMETRICKÝ KLÍČ (Transact-SQL)
ZAVŘÍT SYMETRICKÝ KLÍČ (Transact-SQL)
DROP SYMETRICKÝ KLÍČ (Transact-SQL)
Hierarchie šifrování
Rozšiřitelná správa klíčů (EKM)