Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik: :SQL Server
Azure SQL Managed Instance
Analytics Platform System (PDW)
Létrehoz egy titkosítási kulcsot az adatbázisok transzparens titkosításához. A transparent data encryption (TDE) Transparent Data Encryption (TDE) című témakörben talál további információt.
Transact-SQL szintaxis konvenciók
Szemantika
-- Syntax for SQL Server
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
ENCRYPTION BY SERVER
{
CERTIFICATE Encryptor_Name |
ASYMMETRIC KEY Encryptor_Name
}
[ ; ]
-- Syntax for Parallel Data Warehouse
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
[ ; ]
Arguments
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
Megadja a titkosítási kulcs titkosítási algoritmusát.
Figyelmeztetés
2016 SQL Server kezdve a AES_128, AES_192 és AES_256 kivételével minden algoritmus elavult. A régebbi algoritmusok használatához (nem ajánlott) az adatbázist 120-es vagy annál alacsonyabb adatbázis-kompatibilitási szintre kell állítania.
TITKOSÍTÁS KISZOLGÁLÓTANÚSÍTVÁNY ENCRYPTOR_NAME
Megadja az adatbázis-titkosítási kulcs titkosításához használt titkosító nevét.
TITKOSÍTÁS KISZOLGÁLÓI ASZIMMETRIKUS KULCS ENCRYPTOR_NAME Az adatbázis titkosításához használt aszimmetrikus kulcs nevét adja meg. Az adatbázis titkosítási kulcsának aszimmetrikus kulccsal való titkosításához az aszimmetrikus kulcsnak egy bővíthető kulcskezelő szolgáltatón kell lennie.
Megjegyzések
Adatbázis-titkosítási kulcsra van szükség ahhoz, hogy egy adatbázis transzparens adattitkosítással (TDE) titkosítható legyen. Ha egy adatbázis transzparensen van titkosítva, a rendszer a teljes adatbázist fájlszinten titkosítja, speciális kódmódosítások nélkül. Az adatbázis-titkosítási kulcsot titkosító tanúsítványnak vagy aszimmetrikus kulcsnak a master rendszeradatbázisban kell lennie.
A TDE-hez használt tanúsítványok vagy aszimmetrikus kulcsok 3072 bites titkos kulcsméretre korlátozódnak.
Az adatbázis-titkosítási utasítások csak felhasználói adatbázisokban engedélyezettek.
Az adatbázis titkosítási kulcsa nem exportálható az adatbázisból. Csak a rendszer, a kiszolgálón hibakeresési engedélyekkel rendelkező felhasználók, valamint azoknak a felhasználóknak érhető el, akik hozzáférnek az adatbázis titkosítási kulcsát titkosító és visszafejtő tanúsítványokhoz.
Az adatbázis-titkosítási kulcsot nem kell újragenerálni az adatbázis tulajdonosának (dbo) módosításakor.
A rendszer automatikusan létrehoz egy adatbázistitkosítási kulcsot egy SQL Database-adatbázishoz. Nem kell kulcsot létrehoznia az CREATE DATABASE ENCRYPTION KEY utasítással.
Jogosultságok
Control engedélyt igényel az adatbázishoz, és a VIEW DEFINITION engedélyt az adatbázis titkosításához használt tanúsítványon vagy aszimmetrikus kulcson.
Examples
A TDE használatával kapcsolatos további példákért lásd: Transparent Data Encryption (TDE), Enable TDE a SQL Server EKM használatával és Az Azure Key Vault (SQL Server) használatával.
A. Adatbázistitkosítási kulcs létrehozása
Az alábbi példa egy adatbázis-titkosítási kulcsot hoz létre az AES_256 algoritmus használatával, és a titkos kulcsot egy nevesített MyServerCerttanúsítvánnyal védi.
USE AdventureWorks2022;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
B. TDE által titkosított adatbázis visszaállítása másik példányra
Ha egy TDE által titkosított adatbázist egy másik SQL Server-példányra szeretne visszaállítani, először importálnia kell az adatbázis titkosítási kulcsát védő tanúsítványt. Készítsen biztonsági másolatot a tanúsítványról és a titkos kulcsáról a forráskiszolgálóról, majd hozza létre a tanúsítványt a célpéldányon az adatbázis visszaállítása előtt.
A forráskiszolgálón biztonsági másolatot készít a tanúsítványról:
-- On the SOURCE server
USE master;
GO
BACKUP CERTIFICATE MyServerCert
TO FILE = 'C:\Backup\MyServerCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Backup\MyServerCert.pvk',
ENCRYPTION BY PASSWORD = '<strong_password>'
);
GO
A célkiszolgálón hozza létre a tanúsítványt a biztonsági mentési fájlokból, majd állítsa vissza az adatbázist:
-- On the TARGET server
USE master;
GO
CREATE CERTIFICATE MyServerCert
FROM FILE = 'C:\Backup\MyServerCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Backup\MyServerCert.pvk',
DECRYPTION BY PASSWORD = '<strong_password>'
);
GO
-- Now you can restore the TDE-encrypted database
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'C:\Backup\AdventureWorks2022.bak'
WITH MOVE 'AdventureWorks2022_Data' TO 'D:\Data\AdventureWorks2022.mdf',
MOVE 'AdventureWorks2022_Log' TO 'D:\Data\AdventureWorks2022.ldf';
GO
Fontos
A tanúsítványnak ugyanazzal a névvel kell rendelkeznie, és ugyanabból a biztonsági mentési fájlból kell létrehoznia. Ha a tanúsítvány nem egyezik, a visszaállítás titkosítási kulcshiba miatt meghiúsul.
Kapcsolódó tartalom
- Transparent Data Encryption (TDE)
- SQL Server titkosítás
- SQL Server és adatbázis-titkosítási kulcsok (Database Engine)
- Titkosítási hierarchia
- ALTER DATABASE SET Options (Transact-SQL)
- ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
- DROP DATABASE ENCRYPTION KEY (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- BACKUP TANÚSÍTVÁNY (Transact-SQL)
- A TANÚSÍTVÁNY (Transact-SQL)