BUKA KUNCI KONTEN (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Mendekripsi kunci konten dan membuatnya tersedia untuk digunakan.

Konvensi sintaks transact-SQL

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Sintaksis

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'  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Key_name
Adalah nama kunci konten yang akan dibuka.

certificate_name SERTIFIKAT
Adalah nama sertifikat yang kunci privatnya akan digunakan untuk mendekripsi kunci konten.

ASYM_KEY_NAME KUNCI ASIMETRIS
Adalah nama kunci asimetris yang kunci privatnya akan digunakan untuk mendekripsi kunci konten.

WITH PASSWORD ='password'
Adalah kata sandi yang digunakan untuk mengenkripsi kunci privat sertifikat atau kunci asimetris.

DECRYPTING_KEY_NAME KUNCI KONTEN
Adalah nama kunci konten yang akan digunakan untuk mendekripsi kunci konten yang sedang dibuka.

PASSWORD ='password'
Adalah kata sandi yang digunakan untuk melindungi kunci konten.

Keterangan

Kunci simetris terbuka terikat ke sesi tidak ke konteks keamanan. Kunci terbuka akan terus tersedia sampai ditutup secara eksplisit atau sesi dihentikan. Jika Anda membuka kunci konten lalu beralih konteks, kunci akan tetap terbuka dan tersedia dalam konteks yang ditiru. Beberapa kunci dapat terbuka sekaligus. Informasi tentang kunci konten terbuka terlihat di tampilan katalog sys.openkeys (Transact-SQL ).

Jika kunci konten dienkripsi dengan kunci lain, kunci tersebut harus dibuka terlebih dahulu.

Jika kunci konten sudah terbuka, kueri adalah NO_OP.

Jika kata sandi, sertifikat, atau kunci yang disediakan untuk mendekripsi kunci konten salah, kueri akan gagal.

Kunci konten yang dibuat dari penyedia enkripsi tidak dapat dibuka. Operasi enkripsi dan dekripsi menggunakan kunci konten semacam ini berhasil tanpa pernyataan OPEN karena Penyedia Enkripsi membuka dan menutup kunci.

Izin

Pemanggil harus memiliki beberapa izin pada kunci dan tidak boleh ditolak izin LIHAT DEFINISI pada kunci. Persyaratan tambahan bervariasi, tergantung pada mekanisme dekripsi:

  • DEKRIPSI MENURUT SERTIFIKAT: Izin KONTROL pada sertifikat dan pengetahuan tentang kata sandi yang mengenkripsi kunci privatnya.

  • DEKRIPSI OLEH KUNCI ASIMETRIS: Izin KONTROL pada kunci asimetris dan pengetahuan tentang kata sandi yang mengenkripsi kunci privatnya.

  • DEKRIPSI MENURUT KATA SANDI: pengetahuan tentang salah satu kata sandi yang digunakan untuk mengenkripsi kunci konten.

Contoh

J. Membuka kunci konten dengan menggunakan sertifikat

Contoh berikut membuka kunci SymKeyMarketing3 konten dan mendekripsinya dengan menggunakan kunci privat sertifikat MarketingCert9.

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

B. Membuka kunci konten dengan menggunakan kunci konten lain

Contoh berikut membuka kunci MarketingKey11 konten dan mendekripsinya dengan menggunakan kunci HarnpadoungsatayaSE3konten .

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   

Lihat Juga

MEMBUAT KUNCI SIMETRIS (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL)
TUTUP KUNCI SIMETRIS (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Hierarki Enkripsi
Extensible Key Management (EKM)