Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Veritabanındaki bir sütun şifreleme anahtarını değiştirir ve şifrelenmiş bir değer ekler veya bırakır. Sütun şifreleme anahtarı, ilgili sütun ana anahtarının döndürülmesini sağlayan en fazla iki değere sahip olabilir. Always Encrypted veya Always Encrypted kullanarak güvenli kuşatmalarla sütunları şifrelerken sütun şifreleme anahtarı kullanılır. Sütun şifreleme anahtarı değeri eklemeden önce, SQL Server Management Studio veya CREATE MASTER KEY deyimini kullanarak değeri şifrelemek için kullanılan sütun ana anahtarını tanımlamanız gerekir.
Transact-SQL söz dizimi kuralları
Sözdizimi
ALTER COLUMN ENCRYPTION KEY key_name
[ ADD | DROP ] VALUE
(
COLUMN_MASTER_KEY = column_master_key_name
[, ALGORITHM = 'algorithm_name' , ENCRYPTED_VALUE = varbinary_literal ]
) [;]
Arguments
key_name
Değiştirdiğiniz sütun şifreleme anahtarı.
column_master_key_name
Sütun şifreleme anahtarını (CEK) şifrelemek için kullanılan sütun ana anahtarının (CMK) adını belirtir.
algorithm_name
Değeri şifrelemek için kullanılan şifreleme algoritmasının adı. Sistem sağlayıcıları için algoritma RSA_OAEP olmalıdır. Bu bağımsız değişken, sütun şifreleme anahtarı değeri bırakıldığında geçerli değildir.
varbinary_literal
Belirtilen ana şifreleme anahtarıyla şifrelenen CEK BLOBu. Bu bağımsız değişken, sütun şifreleme anahtarı değeri bırakıldığında geçerli değildir.
Uyarı
Bu deyimde hiçbir zaman düz metin CEK değerlerini geçirmeyin. Bunu yapmak bu özelliğin avantajını oluşturur.
Açıklamalar
Genellikle tek bir şifrelenmiş değerle bir sütun şifreleme anahtarı oluşturulur. Bir sütun ana anahtarının döndürülmesi gerektiğinde (geçerli sütun ana anahtarının yeni sütun ana anahtarıyla değiştirilmesi gerektiğinde), yeni sütun ana anahtarıyla şifrelenmiş yeni bir sütun şifreleme anahtarı değeri ekleyebilirsiniz. Bu iş akışı, yeni sütun ana anahtarı istemci uygulamalarının kullanımına sunulurken istemci uygulamalarının sütun şifreleme anahtarıyla şifrelenmiş verilere erişebildiğinden emin olmanıza olanak tanır. Yeni ana anahtara erişimi olmayan bir istemci uygulamasında Always Encrypted özellikli bir sürücü, hassas verilere erişmek için eski sütun ana anahtarıyla şifrelenmiş sütun şifreleme anahtarı değerini kullanabilir. Always Encrypted tarafından desteklenen şifreleme algoritmaları, düz metin değerinin 256 bit olmasını gerektirir.
Sütun ana anahtarlarını döndürmek için SQL Server Management Studio (SSMS) veya PowerShell gibi araçları kullanmanız önerilir. Bkz . SQL Server Management Studio kullanarak Always Encrypted anahtarlarını döndürme ve PowerShell kullanarak Always Encrypted anahtarlarını döndürme.
Ana sütun anahtarını tutan anahtar depoyu kapsülleyen bir anahtar deposu sağlayıcısı kullanılarak şifrelenmiş bir değer oluşturulmalıdır.
Sütun ana anahtarları aşağıdaki nedenlerle döndürülür:
- Uyumluluk düzenlemeleri anahtarların düzenli aralıklarla döndürülmasını gerektirebilir.
- Sütun ana anahtarının güvenliği aşıldı ve güvenlik nedeniyle döndürülmesi gerekiyor.
- Sunucu tarafında güvenli bir kapanım ile sütun şifreleme anahtarlarının paylaşımını etkinleştirmek veya devre dışı bırakmak için. Örneğin, geçerli sütun ana anahtarınız kapanım hesaplamalarını desteklemiyorsa (ENCLAVE_COMPUTATIONS özelliğiyle tanımlanmamışsa) ve sütun ana anahtarınızın şifrelediği bir sütun şifreleme anahtarıyla korunan sütunlarda kapanım hesaplamalarını etkinleştirmek istiyorsanız, sütun ana anahtarını yeni anahtarla ENCLAVE_COMPUTATIONS özelliğiyle değiştirmeniz gerekir. Güvenli kuşatmalarla Always Encrypted için anahtar yönetimine ve Always Encrypted anahtarlarını yönetmeye genel bakış.
Sütun şifreleme anahtarları hakkındaki bilgileri görüntülemek için sys.columns (Transact-SQL), sys.column_encryption_keys (Transact-SQL) ve sys.column_encryption_key_values (Transact-SQL) kullanın.
Permissions
Veritabanında ALTER ANY COLUMN ENCRYPTION KEY izni gerektirir.
Örnekler
A. Sütun şifreleme anahtarı değeri ekleme
Aşağıdaki örnek adlı MyCEKbir sütun şifreleme anahtarını değiştirir.
ALTER COLUMN ENCRYPTION KEY MyCEK
ADD VALUE
(
COLUMN_MASTER_KEY = MyCMK2,
ALGORITHM = 'RSA_OAEP',
ENCRYPTED_VALUE = 0x016E000001630075007200720065006E00740075007300650072002F006D0079002F0064006500650063006200660034006100340031003000380034006200350033003200360066003200630062006200350030003600380065003900620061003000320030003600610037003800310066001DDA6134C3B73A90D349C8905782DD819B428162CF5B051639BA46EC69A7C8C8F81591A92C395711493B25DCBCCC57836E5B9F17A0713E840721D098F3F8E023ABCDFE2F6D8CC4339FC8F88630ED9EBADA5CA8EEAFA84164C1095B12AE161EABC1DF778C07F07D413AF1ED900F578FC00894BEE705EAC60F4A5090BBE09885D2EFE1C915F7B4C581D9CE3FDAB78ACF4829F85752E9FC985DEB8773889EE4A1945BD554724803A6F5DC0A2CD5EFE001ABED8D61E8449E4FAA9E4DD392DA8D292ECC6EB149E843E395CDE0F98D04940A28C4B05F747149B34A0BAEC04FFF3E304C84AF1FF81225E615B5F94E334378A0A888EF88F4E79F66CB377E3C21964AACB5049C08435FE84EEEF39D20A665C17E04898914A85B3DE23D56575EBC682D154F4F15C37723E04974DB370180A9A579BC84F6BC9B5E7C223E5CBEE721E57EE07EFDCC0A3257BBEBF9ADFFB00DBF7EF682EC1C4C47451438F90B4CF8DA709940F72CFDC91C6EB4E37B4ED7E2385B1FF71B28A1D2669FBEB18EA89F9D391D2FDDEA0ED362E6A591AC64EF4AE31CA8766C259ECB77D01A7F5C36B8418F91C1BEADDD4491C80F0016B66421B4B788C55127135DA2FA625FB7FD195FB40D90A6C67328602ECAF3EC4F5894BFD84A99EB4753BE0D22E0D4DE6A0ADFEDC80EB1B556749B4A8AD00E73B329C95827AB91C0256347E85E3C5FD6726D0E1FE82C925D3DF4A9
);
GO
B. Sütun şifreleme anahtarı değeri bırakılıyor
Aşağıdaki örnek, bir değer bırakarak adlı MyCEK bir sütun şifreleme anahtarını değiştirir.
ALTER COLUMN ENCRYPTION KEY MyCEK
DROP VALUE
(
COLUMN_MASTER_KEY = MyCMK
);
GO
Ayrıca Bkz.
CREATE COLUMN ENCRYPTION KEY (Transact-SQL)
DROP COLUMN ENCRYPTION KEY (Transact-SQL)
CREATE COLUMN MASTER KEY (Transact-SQL)
Always Encrypted (Veritabanı Altyapısı)
sys.column_encryption_keys (Transact-SQL)
sys.column_encryption_key_values (Transact-SQL)
sys.columns (Transact-SQL)
Her Zaman Şifreli
Always Encrypted için Anahtar Yönetimine Genel Bakış
Güvenli kuşatmalarla Always Encrypted anahtarlarını yönetme