Sdílet prostřednictvím


Konfigurace šifrování sloupců pomocí funkce Always Encrypted s balíčkem DAC

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

Balíček aplikace datové vrstvy (DAC), označovaný také jako DACPAC, je přenosná jednotka nasazení databáze SQL Serveru, která definuje všechny objekty SQL Serveru, včetně tabulek a sloupců uvnitř tabulek. Při publikování DACPAC do databáze (při upgradu databáze pomocí DACPAC) se schéma cílové databáze aktualizuje tak, aby odpovídalo schématu v jazyce DACPAC. DACPAC můžete publikovat pomocí Průvodce upgradem datové vrstvy aplikace v SQL Server Management Studio, PowerShell nebo sqlpackage.

Tento článek se zabývá zvláštními aspekty upgradu databáze, když DACPAC nebo/a cílová databáze obsahuje sloupce chráněné funkcí Always Encrypted. Pokud se schéma šifrování pro sloupec v jazyce DACPAC liší od schématu šifrování existujícího sloupce v cílové databázi, publikováním souboru DACPAC dojde k šifrování, dešifrování nebo opětovnému šifrování dat uložených ve sloupci. Podrobnosti najdete v následující tabulce.

Podmínka Činnost
Sloupec je zašifrovaný v jazyce DACPAC a není zašifrovaný v databázi. Data ve sloupci budou zašifrována.
Sloupec není šifrovaný v jazyce DACPAC a je zašifrovaný v databázi. Data ve sloupci se dešifrují (šifrování se odebere pro sloupec).
Sloupec je zašifrovaný jak v jazyce DACPAC, tak v databázi, ale sloupec v jazyce DACPAC používá jiný typ šifrování nebo/a jiný šifrovací klíč sloupce než odpovídající sloupec v databázi. Data ve sloupci se dešifrují a pak znovu zašifrují tak, aby odpovídaly konfiguraci šifrování v jazyce DACPAC.

Nasazení balíčku DAC může také vést k vytvoření nebo odebrání objektů metadat pro hlavní klíče sloupců nebo šifrovací klíče sloupců pro funkci Always Encrypted.

Důležité informace o výkonu

Aby bylo možné provádět kryptografické operace, nástroj, který použijete k nasazení daCPAC, potřebuje přesunout data z databáze. Nástroj vytvoří novou tabulku (nebo tabulky) s požadovanou konfigurací šifrování v databázi, načte všechna data z původních tabulek, provede požadované kryptografické operace, nahraje data do nových tabulek a potom prohodí původní tabulky s novými tabulkami. Spouštění kryptografických operací může trvat dlouhou dobu. Během této doby není vaše databáze k dispozici pro zápis transakcí.

Poznámka:

Pokud používáte SQL Server 2019 (15.x) a vaše instance SQL Serveru je nakonfigurovaná se zabezpečeným enklávem, můžete spustit kryptografické operace na místě, aniž byste museli přesouvat data z databáze. Viz Konfigurace místního šifrování sloupců pomocí funkce Always Encrypted se zabezpečenými enklávy. Upozorňujeme, že místní šifrování není dostupné pro nasazení DACPAC.

Oprávnění pro publikování balíčku DAC, pokud je nastavena funkce Always Encrypted

Pokud chcete publikovat balíček DAC, pokud je v jazyce DACPAC nebo/a v cílové databázi nastavený always Encrypted, budete možná potřebovat některá nebo všechna následující oprávnění v závislosti na rozdílech mezi schématem v jazyce DACPAC a schématem cílové databáze.

ZMĚNIT JAKÝKOLI MISTROVSKÝ KLÍČ SLOUPCE, ZMĚNIT JAKÝKOLI ŠIFROVACÍ KLÍČ SLOUPCE, ZOBRAZIT DEFINICI JAKÉHOKOLI MISTROVSKÉHO KLÍČE SLOUPCE, ZOBRAZIT DEFINICI JAKÉHOKOLI ŠIFROVACÍHO KLÍČE SLOUPCE

Pokud operace upgradu aktivuje operaci šifrování dat, potřebujete také oprávnění úložiště klíčů pro přístup k hlavnímu klíči sloupce a jeho použití. Podrobné informace o oprávněních úložiště klíčů naleznete v části "Vytvoření a uložení hlavních klíčů sloupců pro Always Encrypted" a vyhledejte pasáž relevantní pro vaše úložiště klíčů.

Další kroky

Viz také