Megosztás a következőn keresztül:


SZIMMETRIKUS KULCS MEGNYITÁSA (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-adatbázis a Microsoft Fabricben

Visszafejt egy szimmetrikus kulcsot, és elérhetővé teszi azt használatra.

Transact-SQL szintaxis konvenciók

Note

Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

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
A megnyitni kívánt szimmetrikus kulcs neve.

TANÚSÍTVÁNY certificate_name
Annak a tanúsítványnak a neve, amelynek titkos kulcsát a rendszer a szimmetrikus kulcs visszafejtéséhez használja.

ASZIMMETRIKUS KULCS ASYM_KEY_NAME
A szimmetrikus kulcs visszafejtéséhez használt aszimmetrikus kulcs neve.

JELSZÓVAL = 'jelszó'
A tanúsítvány vagy az aszimmetrikus kulcs titkos kulcsának titkosításához használt jelszó.

SZIMMETRIKUS KULCS DECRYPTING_KEY_NAME
A megnyitott szimmetrikus kulcs visszafejtéséhez használt szimmetrikus kulcs neve.

PASSWORD ='jelszó'
A szimmetrikus kulcs védelmére használt jelszó.

Remarks

A nyitott szimmetrikus kulcsok nem a biztonsági környezethez, hanem a munkamenethez vannak kötve. A megnyitott kulcsok mindaddig elérhetők maradnak, amíg explicit módon be nem zárják, vagy a munkamenet le nem fejeződik. Ha megnyit egy szimmetrikus kulcsot, majd kontextust vált, a kulcs nyitva marad, és elérhető lesz a megszemélyesített környezetben. Egyszerre több kulcs is megnyitható. A nyitott szimmetrikus kulcsokkal kapcsolatos információk a sys.openkeys (Transact-SQL) katalógusnézetben láthatók.

Ha a szimmetrikus kulcsot egy másik kulccsal titkosították, először azt kell megnyitni.

Ha a szimmetrikus kulcs már meg van nyitva, a lekérdezés egy NO_OP.

Ha a szimmetrikus kulcs visszafejtéséhez megadott jelszó, tanúsítvány vagy kulcs helytelen, a lekérdezés sikertelen lesz.

A titkosítási szolgáltatóktól létrehozott szimmetrikus kulcsok nem nyithatóak meg. Az ilyen szimmetrikus kulcsokat használó titkosítási és visszafejtési műveletek az OPEN utasítás nélkül sikeresek, mert a titkosítási szolgáltató megnyitja és bezárja a kulcsot.

Permissions

A hívónak rendelkeznie kell valamilyen engedéllyel a kulcson, és nem tagadhatja meg a VIEW DEFINITION engedélyt a kulcson. A további követelmények a visszafejtési mechanizmustól függően eltérőek lehetnek:

  • VISSZAFEJTÉS TANÚSÍTVÁNY ALAPJÁN: CONTROL-engedély a tanúsítványon és a titkos kulcsát titkosító jelszó ismerete.

  • VISSZAFEJTÉS ASZIMMETRIKUS KULCCSAL: CONTROL engedély az aszimmetrikus kulcson és a titkos kulcsot titkosító jelszó ismerete.

  • VISSZAFEJTÉS JELSZÓVAL: a szimmetrikus kulcs titkosításához használt jelszavak egyikének ismerete.

Examples

A. Szimmetrikus kulcs megnyitása tanúsítvány használatával

Az alábbi példa megnyitja a szimmetrikus kulcsot SymKeyMarketing3 , és visszafejti azt a tanúsítvány MarketingCert9titkos kulcsával.

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

B. Szimmetrikus kulcs megnyitása egy másik szimmetrikus kulccsal

Az alábbi példa megnyitja a szimmetrikus kulcsot MarketingKey11 , és szimmetrikus kulccsal HarnpadoungsatayaSE3fejti vissza.

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   

Lásd még:

SZIMMETRIKUS KULCS LÉTREHOZÁSA (Transact-SQL)
ALTER SZIMMETRIKUS KULCS (Transact-SQL)
SZIMMETRIKUS KULCS BEZÁRÁSA (Transact-SQL)
SZIMMETRIKUS BILLENTYŰ (Transact-SQL)
Titkosítási hierarchia
Bővíthető kulcskezelés (EKM)