Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
Azure SQL Managed Instance
Změní šifrovací klíč sloupce v databázi a přidá nebo zašifruje zašifrovanou hodnotu. Šifrovací klíč sloupce může mít až dvě hodnoty, což umožňuje rotaci odpovídajícího hlavního klíče sloupce. Šifrovací klíč sloupce se používá při šifrování sloupců pomocí funkce Always Encrypted nebo Always Encrypted se zabezpečenými enklávy. Před přidáním hodnoty šifrovacího klíče sloupce musíte definovat hlavní klíč sloupce, který byl použit k šifrování hodnoty pomocí aplikace SQL Server Management Studio nebo příkazu CREATE MASTER KEY .
Syntaxe
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
Šifrovací klíč sloupce, který měníte.
column_master_key_name
Určuje název hlavního klíče sloupce (CMK), který se používá k šifrování šifrovacího klíče sloupce (CEK).
algorithm_name
Název šifrovacího algoritmu použitého k šifrování hodnoty. Algoritmus pro poskytovatele systému musí být RSA_OAEP. Tento argument není platný při vyřazení hodnoty šifrovacího klíče sloupce.
varbinary_literal
Objekt blob CEK zašifrovaný zadaným hlavním šifrovacím klíčem. Tento argument není platný při vyřazení hodnoty šifrovacího klíče sloupce.
Výstraha
V tomto příkazu nikdy nepředávejte hodnoty CEK ve formátu prostého textu. To bude zahrnovat výhodu této funkce.
Poznámky
Šifrovací klíč sloupce se obvykle vytvoří pouze s jednou zašifrovanou hodnotou. Když je potřeba otočit hlavní klíč sloupce (aktuální hlavní klíč sloupce musí být nahrazen novým hlavním klíčem sloupce), můžete přidat novou hodnotu šifrovacího klíče sloupce zašifrovaný novým hlavním klíčem sloupce. Tento pracovní postup umožňuje zajistit, aby klientské aplikace mohly přistupovat k datům šifrovaným pomocí šifrovacího klíče sloupce, zatímco nový hlavní klíč sloupce je zpřístupněn klientským aplikacím. Ovladač s povolenou funkcí Always Encrypted v klientské aplikaci, který nemá přístup k novému hlavnímu klíči, bude moct pro přístup k citlivým datům použít hodnotu šifrovacího klíče sloupce zašifrovanou starým hlavním klíčem sloupce. Šifrovací algoritmy, funkce Always Encrypted podporuje, vyžadují, aby hodnota prostého textu měla 256 bitů.
K obměně hlavních klíčů sloupců doporučujeme použít nástroje, jako je SQL Server Management Studio (SSMS) nebo PowerShell. Viz Otočit klíče Always Encrypted pomocí aplikace SQL Server Management Studio a otočit klíče Always Encrypted pomocí PowerShellu.
Zašifrovaná hodnota by se měla generovat pomocí zprostředkovatele úložiště klíčů, který zapouzdřuje úložiště klíčů obsahující hlavní klíč sloupce.
Hlavní klíče sloupců se obměňují z následujících důvodů:
- Předpisy o dodržování předpisů můžou vyžadovat pravidelné obměna klíčů.
- Hlavní klíč sloupce je ohrožený a z bezpečnostních důvodů je potřeba ho otočit.
- Pokud chcete povolit nebo zakázat sdílení šifrovacích klíčů sloupců se zabezpečeným enklávem na straně serveru. Pokud například váš aktuální hlavní klíč sloupce nepodporuje výpočty enklávy (nebyly definovány pomocí vlastnosti ENCLAVE_COMPUTATIONS) a chcete povolit výpočty enklávy ve sloupcích chráněných šifrovacím klíčem sloupce, který hlavní klíč sloupce šifruje, musíte hlavní klíč sloupce nahradit novým klíčem novým klíčem ENCLAVE_COMPUTATIONS vlastnost. Přehled správy klíčů pro Always Encrypted a Správa klíčů pro Always Encrypted se zabezpečenými enklávy
K zobrazení informací o šifrovacích klíčích sloupců použijte sys.columns (Transact-SQL), sys.column_encryption_keys (Transact-SQL) a sys.column_encryption_key_values (Transact-SQL).
Povolení
Vyžaduje oprávnění ALTER ANY COLUMN ENCRYPTION KEY pro databázi.
Examples
A. Přidání hodnoty šifrovacího klíče sloupce
Následující příklad změní šifrovací klíč sloupce s názvem MyCEK.
ALTER COLUMN ENCRYPTION KEY MyCEK
ADD VALUE
(
COLUMN_MASTER_KEY = MyCMK2,
ALGORITHM = 'RSA_OAEP',
ENCRYPTED_VALUE = 0x016E000001630075007200720065006E00740075007300650072002F006D0079002F0064006500650063006200660034006100340031003000380034006200350033003200360066003200630062006200350030003600380065003900620061003000320030003600610037003800310066001DDA6134C3B73A90D349C8905782DD819B428162CF5B051639BA46EC69A7C8C8F81591A92C395711493B25DCBCCC57836E5B9F17A0713E840721D098F3F8E023ABCDFE2F6D8CC4339FC8F88630ED9EBADA5CA8EEAFA84164C1095B12AE161EABC1DF778C07F07D413AF1ED900F578FC00894BEE705EAC60F4A5090BBE09885D2EFE1C915F7B4C581D9CE3FDAB78ACF4829F85752E9FC985DEB8773889EE4A1945BD554724803A6F5DC0A2CD5EFE001ABED8D61E8449E4FAA9E4DD392DA8D292ECC6EB149E843E395CDE0F98D04940A28C4B05F747149B34A0BAEC04FFF3E304C84AF1FF81225E615B5F94E334378A0A888EF88F4E79F66CB377E3C21964AACB5049C08435FE84EEEF39D20A665C17E04898914A85B3DE23D56575EBC682D154F4F15C37723E04974DB370180A9A579BC84F6BC9B5E7C223E5CBEE721E57EE07EFDCC0A3257BBEBF9ADFFB00DBF7EF682EC1C4C47451438F90B4CF8DA709940F72CFDC91C6EB4E37B4ED7E2385B1FF71B28A1D2669FBEB18EA89F9D391D2FDDEA0ED362E6A591AC64EF4AE31CA8766C259ECB77D01A7F5C36B8418F91C1BEADDD4491C80F0016B66421B4B788C55127135DA2FA625FB7FD195FB40D90A6C67328602ECAF3EC4F5894BFD84A99EB4753BE0D22E0D4DE6A0ADFEDC80EB1B556749B4A8AD00E73B329C95827AB91C0256347E85E3C5FD6726D0E1FE82C925D3DF4A9
);
GO
B. Vyřazení hodnoty šifrovacího klíče sloupce
Následující příklad změní šifrovací klíč sloupce volaný MyCEK vyřazením hodnoty.
ALTER COLUMN ENCRYPTION KEY MyCEK
DROP VALUE
(
COLUMN_MASTER_KEY = MyCMK
);
GO
Viz také
CREATE COLUMN ENCRYPTION KEY (Transact-SQL)
ŠIFROVACÍ KLÍČ SLOUPCE DROP (Transact-SQL)
CREATE COLUMN MASTER KEY (Transact-SQL)
Always Encrypted (databázový stroj)
sys.column_encryption_keys (Transact-SQL)
sys.column_encryption_key_values (Transact-SQL)
sys.columns (Transact-SQL)
Always Encrypted
Přehled správy klíčů pro Always Encrypted
Správa klíčů pro Always Encrypted v zabezpečených enklávách