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


ALTER COLUMN ENCRYPTION KEY (Transact-SQL)

A következőkre vonatkozik: SQL Server 2016 (13.x) és újabb verziók Azure SQL DatabaseFelügyelt Azure SQL-példány

Módosítja az adatbázis oszloptitkosítási kulcsát, hozzáad vagy elvet egy titkosított értéket. Az oszloptitkosítási kulcs legfeljebb két értékkel rendelkezhet, ami lehetővé teszi a megfelelő oszlop főkulcsának elforgatását. Oszloptitkosítási kulcsot használunk az oszlopok Always Encrypted vagy Always Encrypted biztonságos enklávékkal történő titkosításához. Az oszloptitkosítási kulcs értékének hozzáadása előtt meg kell adnia azt az oszlop főkulcsát, amelyet az SQL Server Management Studio vagy a CREATE MASTER KEY utasítással az érték titkosításához használtak.

Transact-SQL szintaxis konvenciók

Szemantika

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
A módosított oszloptitkosítási kulcs.

column_master_key_name
Megadja az oszloptitkosítási kulcs (CEK) titkosításához használt fő oszlopkulcs (CMK) nevét.

algorithm_name
Az érték titkosításához használt titkosítási algoritmus neve. A rendszerszolgáltatók algoritmusának RSA_OAEP kell lennie. Ez az argumentum nem érvényes oszloptitkosítási kulcs értékének elvetésekor.

varbinary_literal
A megadott fő titkosítási kulccsal titkosított CEK BLOB. Ez az argumentum nem érvényes oszloptitkosítási kulcs értékének elvetésekor.

Figyelmeztetés

Ebben az utasításban soha ne adjon át egyszerű szöveges CEK-értékeket. Ennek a funkciónak az előnyei lesznek.

Megjegyzések

Az oszloptitkosítási kulcs általában csak egy titkosított értékkel jön létre. Ha egy oszlop főkulcsát el kell forgatni (az aktuális oszlop főkulcsát le kell cserélni az új oszlop főkulcsával), hozzáadhatja az oszloptitkosítási kulcs új értékét, amely az új oszlop főkulcsával van titkosítva. Ez a munkafolyamat lehetővé teszi, hogy az ügyfélalkalmazások hozzáférhessenek az oszloptitkosítási kulccsal titkosított adatokhoz, míg az új oszlop főkulcsa elérhetővé válik az ügyfélalkalmazások számára. Egy Always Encrypted-kompatibilis illesztőprogram egy olyan ügyfélalkalmazásban, amely nem rendelkezik hozzáféréssel az új főkulcshoz, a régi oszlop főkulcsával titkosított oszloptitkosítási kulcs értékét használhatja a bizalmas adatok eléréséhez. Az Always Encrypted által támogatott titkosítási algoritmusoknak 256 bites egyszerű szöveges értékre van szükségük.

Ajánlott olyan eszközöket használni, mint az SQL Server Management Studio (SSMS) vagy a PowerShell az oszlop főkulcsainak elforgatásához. Lásd: Always Encrypted kulcsok elforgatása az SQL Server Management Studióval és Az Always Encrypted kulcsok elforgatása a PowerShell használatával.

Titkosított értéket kell létrehozni egy kulcstároló-szolgáltatóval, amely az oszlop főkulcsát tartalmazó kulcstárolót foglalja magában.

Az oszlop főkulcsai a következő okokból vannak elforgatva:

  • Előfordulhat, hogy a megfelelőségi előírások megkövetelik a kulcsok rendszeres elforgatását.
  • Az oszlop főkulcsa sérült, és biztonsági okokból el kell forgatni.
  • Az oszloptitkosítási kulcsok megosztásának engedélyezése vagy letiltása biztonságos enklávéval a kiszolgálóoldalon. Ha például az aktuális oszlop főkulcsa nem támogatja az enklávészámítást (nincs definiálva a ENCLAVE_COMPUTATIONS tulajdonsággal), és engedélyezni szeretné az enklávészámítást az oszloptitkosítási kulccsal védett oszlopokon, amelyet az oszlop főkulcsa titkosít, az oszlop főkulcsát az új kulcsra kell cserélnie az ENCLAVE_COMPUTATIONS tulajdonságra. Az Always Encrypted kulcskezelésének áttekintése és az Always Encrypted kulcsainak biztonságos enklávékkal történő kezelése.

A sys.columns (Transact-SQL), sys.column_encryption_keys (Transact-SQL) és sys.column_encryption_key_values (Transact-SQL) használatával megtekintheti az oszloptitkosítási kulcsokkal kapcsolatos információkat.

Permissions

Az adatbázis BÁRMELY OSZLOPTITKOSÍTÁSI KULCS engedélyének módosítása szükséges.

Példák

A. Oszloptitkosítási kulcs értékének hozzáadása

Az alábbi példa egy oszloptitkosítási MyCEKkulcsot módosít.

ALTER COLUMN ENCRYPTION KEY MyCEK  
ADD VALUE  
(  
    COLUMN_MASTER_KEY = MyCMK2,   
    ALGORITHM = 'RSA_OAEP',   
    ENCRYPTED_VALUE = 0x016E000001630075007200720065006E00740075007300650072002F006D0079002F0064006500650063006200660034006100340031003000380034006200350033003200360066003200630062006200350030003600380065003900620061003000320030003600610037003800310066001DDA6134C3B73A90D349C8905782DD819B428162CF5B051639BA46EC69A7C8C8F81591A92C395711493B25DCBCCC57836E5B9F17A0713E840721D098F3F8E023ABCDFE2F6D8CC4339FC8F88630ED9EBADA5CA8EEAFA84164C1095B12AE161EABC1DF778C07F07D413AF1ED900F578FC00894BEE705EAC60F4A5090BBE09885D2EFE1C915F7B4C581D9CE3FDAB78ACF4829F85752E9FC985DEB8773889EE4A1945BD554724803A6F5DC0A2CD5EFE001ABED8D61E8449E4FAA9E4DD392DA8D292ECC6EB149E843E395CDE0F98D04940A28C4B05F747149B34A0BAEC04FFF3E304C84AF1FF81225E615B5F94E334378A0A888EF88F4E79F66CB377E3C21964AACB5049C08435FE84EEEF39D20A665C17E04898914A85B3DE23D56575EBC682D154F4F15C37723E04974DB370180A9A579BC84F6BC9B5E7C223E5CBEE721E57EE07EFDCC0A3257BBEBF9ADFFB00DBF7EF682EC1C4C47451438F90B4CF8DA709940F72CFDC91C6EB4E37B4ED7E2385B1FF71B28A1D2669FBEB18EA89F9D391D2FDDEA0ED362E6A591AC64EF4AE31CA8766C259ECB77D01A7F5C36B8418F91C1BEADDD4491C80F0016B66421B4B788C55127135DA2FA625FB7FD195FB40D90A6C67328602ECAF3EC4F5894BFD84A99EB4753BE0D22E0D4DE6A0ADFEDC80EB1B556749B4A8AD00E73B329C95827AB91C0256347E85E3C5FD6726D0E1FE82C925D3DF4A9  
);  
GO  
  

B. Oszloptitkosítási kulcs értékének elvetése

Az alábbi példa egy érték elvetésével megváltoztat egy oszloptitkosítási MyCEK kulcsot.

ALTER COLUMN ENCRYPTION KEY MyCEK  
DROP VALUE  
(  
    COLUMN_MASTER_KEY = MyCMK  
);  
GO  

Lásd még:

OSZLOPTITKOSÍTÁSI KULCS LÉTREHOZÁSA (Transact-SQL)
DROP COLUMN ENCRYPTION KEY (Transact-SQL)
CREATE COLUMN MASTER KEY (Transact-SQL)
Always Encrypted (adatbázismotor)
sys.column_encryption_keys (Transact-SQL)
sys.column_encryption_key_values (Transact-SQL)
sys.columns (Transact-SQL)
Mindig titkosítva
Az Always Encrypted kulcskezelésének áttekintése
Always Encrypted kulcsainak kezelése biztonságos enklávékkal