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) transzparens adattitkosítás (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
ALGORITMUSSAL = { 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.
SZERVER CERTIFICATE Encryptor_Name TITKOSÍTÁS
Megadja az adatbázis-titkosítási kulcs titkosításához használt titkosító nevét.
SZERVER ASYMMETRIC KEY TITKOSÍTÁS Encryptor_Name Megadja az aszimmetrikus kulcs nevét, amelyet az adatbázis titkosítási kulcsának titkosításához használnak. 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
Megköveteli az adatbázis CONTROL engedélyét, és VIEW a DEFINITION engedélyt a tanúsítvány vagy aszimmetrikus kulcs titkosításához használva.
Examples
A TDE használatával kapcsolatos további példákért lásd: transzparens adattitkosítás (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
- Transzparens adattitkosítás (TDE)
- SQL Server titkosítás
- SQL Server és adatbázis-titkosítási kulcsok (Database Engine)
- Titkosítási hierarchia
- ALTER DATABASE SET Beállítások (Transact-SQL)
- ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
- DROP DATABASE ENCRYPTION KEY (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- BACKUP CERTIFICATE (Transact-SQL)
- CREATE CERTIFICATE (Transact-SQL)