Bagikan melalui


ALTER SYMMETRIC KEY (Transact-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Mengubah properti kunci konten.

Konvensi sintaks transact-SQL

Catatan

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

Sintaks

ALTER SYMMETRIC KEY Key_name <alter_option>  
  
<alter_option> ::=  
   ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]  
   |   
   DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]  
<encrypting_mechanism> ::=  
   CERTIFICATE certificate_name  
   |  
   PASSWORD = 'password'  
   |  
   SYMMETRIC KEY Symmetric_Key_Name  
   |  
   ASYMMETRIC KEY Asym_Key_Name  

Argumen

Key_name
Adalah nama di mana kunci konten yang akan diubah diketahui dalam database.

TAMBAHKAN ENKRIPSI MENURUT
Menambahkan enkripsi dengan menggunakan metode yang ditentukan.

HILANGKAN ENKRIPSI OLEH
Menjatuhkan enkripsi dengan metode yang ditentukan. Anda tidak dapat menghapus semua enkripsi dari kunci konten.

Certificate_name SERTIFIKAT
Menentukan sertifikat yang digunakan untuk mengenkripsi kunci konten. Sertifikat ini harus sudah ada dalam database.

PASSWORD ='password'
Menentukan kata sandi yang digunakan untuk mengenkripsi kunci konten. kata sandi harus memenuhi persyaratan kebijakan kata sandi Windows komputer yang menjalankan instans SQL Server.

SYMMETRIC_KEY_NAME KUNCI KONTEN
Menentukan kunci konten yang digunakan untuk mengenkripsi kunci konten yang sedang diubah. Kunci konten ini harus sudah ada di database dan harus terbuka.

Asym_Key_Name KUNCI ASIMETRIS
Menentukan kunci asimetris yang digunakan untuk mengenkripsi kunci konten yang sedang diubah. Kunci asimetris ini harus sudah ada di database.

Keterangan

Perhatian

Ketika kunci konten dienkripsi dengan kata sandi alih-alih dengan kunci publik kunci master database, algoritma enkripsi TRIPLE_DES digunakan. Karena itu, kunci yang dibuat dengan algoritma enkripsi yang kuat, seperti AES, sendiri diamankan oleh algoritma yang lebih lemah.

Untuk mengubah enkripsi kunci konten, gunakan frasa ADD ENCRYPTION dan DROP ENCRYPTION. Kunci tidak mungkin sepenuhnya tanpa enkripsi. Untuk alasan ini, praktik terbaik adalah menambahkan bentuk enkripsi baru sebelum menghapus bentuk enkripsi lama.

Untuk mengubah pemilik kunci konten, gunakan ALTER AUTHORIZATION.

Catatan

Algoritma RC4 hanya didukung untuk kompatibilitas mundur. Materi baru hanya dapat dienkripsi menggunakan RC4 atau RC4_128 saat database berada dalam tingkat kompatibilitas 90 atau 100. (Tidak disarankan.) Gunakan algoritma yang lebih baru seperti salah satu algoritma AES sebagai gantinya. Dalam materi SQL Server 2012 (11.x) yang dienkripsi menggunakan RC4 atau RC4_128 dapat didekripsi dalam tingkat kompatibilitas apa pun.

Izin

Memerlukan izin ALTER pada kunci konten. Jika menambahkan enkripsi oleh sertifikat atau kunci asimetris, memerlukan izin LIHAT DEFINISI pada sertifikat atau kunci asimetris. Jika menjatuhkan enkripsi oleh sertifikat atau kunci asimetris, memerlukan izin CONTROL pada sertifikat atau kunci asimetris.

Contoh

Contoh berikut mengubah metode enkripsi yang digunakan untuk melindungi kunci konten. Kunci konten JanainaKey043 dienkripsi menggunakan sertifikat Shipping04 saat kunci dibuat. Karena kunci tidak pernah dapat disimpan tidak terenkripsi, dalam contoh ini, enkripsi ditambahkan oleh kata sandi, lalu enkripsi dihapus oleh sertifikat.

CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256   
    ENCRYPTION BY CERTIFICATE Shipping04;  
-- Open the key.   
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04  
    WITH PASSWORD = '<enterStrongPasswordHere>';   
-- First, encrypt the key with a password.  
ALTER SYMMETRIC KEY JanainaKey043   
    ADD ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';  
-- Now remove encryption by the certificate.  
ALTER SYMMETRIC KEY JanainaKey043   
    DROP ENCRYPTION BY CERTIFICATE Shipping04;  
CLOSE SYMMETRIC KEY JanainaKey043;  

Lihat Juga

MEMBUAT KUNCI SIMETRIS (Transact-SQL)
BUKA KUNCI KONTEN (Transact-SQL)
TUTUP KUNCI SIMETRIS (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Hierarki Enkripsi