Migrace dat do sloupců nebo z sloupců pomocí funkce Always Encrypted pomocí Průvodce importem a exportem SQL Serveru
platí pro:SQL Server
Azure SQL Database
azure SQL Managed Instance
Průvodce importem a exportem systému SQL Server je nástroj, který umožňuje kopírovat data ze zdroje do cíle. Tento dokument popisuje, jak použít Průvodce importem a exportem SQL Serveru, pokud je zdrojem nebo cílem databáze SQL Serveru obsahující sloupce chráněné pomocí Always Encrypted.
Scénáře migrace
Pomocí Průvodce importem a exportem SQL Serveru můžete implementovat následující scénáře migrace dat do nebo z šifrovaných sloupců.
Šifrování dat prostého textu při migraci
Pokud zdroj dat obsahuje data prostého textu a vaším cílem je databáze SQL Serveru obsahující šifrované sloupce, můžete pomocí Průvodce importem a exportem SQL Serveru načíst data prostého textu ze zdroje, zašifrovat je a zkopírovat šifrovaná data (šifrový text) do šifrovaných sloupců v cílové databázi. Pro tento scénář migrace může být zdrojem dat libovolné úložiště dat, které průvodce importem a exportem SQL Serveru podporuje. Například soubor, databáze SQL Serveru nebo databáze v jiném databázovém systému.
Pokud chcete zajistit, aby Průvodce importem a exportem SQL Serveru mohl šifrovat data, musíte povolit funkci Always Encrypted pro připojení k cílové databázi a potřebujete mít přístup ke klíčům, které chrání data ve sloupcích cílové databáze. Další informace najdete v tématu Povolení a zakázání funkce Always Encrypted pro připojení k databázi a oprávnění pro šifrování nebo dešifrování dat během migrace.
Dešifrování šifrovaných dat při migraci
Pokud migrujete data uložená v šifrovaných databázových sloupcích v databázi SQL Serveru, můžete nakonfigurovat Průvodce importem a exportem SQL Serveru tak, aby dešifroval data a zkopíroval dešifrovaná data (prostý text) do cíle, což může být libovolné úložiště dat, které podporuje Průvodce importem a exportem SQL Serveru, například soubor, databáze SQL Serveru nebo databáze v jiném databázovém systému.
Pokud chcete zajistit, aby Průvodce importem a exportem SQL Serveru mohl dešifrovat data, musíte pro připojení ke zdrojové databázi povolit funkci Always Encrypted a potřebujete mít přístup ke klíčům, které chrání data ve sloupcích zdrojové databáze. Další informace najdete v tématu Povolení a zakázání funkce Always Encrypted pro připojení k databázi a oprávnění pro šifrování nebo dešifrování dat během migrace.
Opětovné šifrování dat při migraci
Pokud kopírujete data ze šifrovaných sloupců ve zdrojové databázi SQL Serveru do šifrovaných sloupců ve stejné nebo jiné databázi SQL Serveru, můžete nakonfigurovat Průvodce importem a exportem SQL Serveru tak, aby dešifroval data po načtení ze zdroje a znovu je zašifroval před vložením do šifrovaných sloupců v cílové databázi. Tuto metodu použijte, pokud se schéma cílových sloupců (například datové typy sloupců, typy šifrování a šifrovací klíče sloupců) liší od schématu zdrojových sloupců.
Pokud chcete zajistit, aby Průvodce importem a exportem SQL Serveru mohl šifrovat a dešifrovat data, musíte povolit funkci Always Encrypted pro připojení ke zdrojové databázi i cílové připojení k databázi a potřebujete mít přístup ke klíčům, které chrání data ve zdrojových i cílových sloupcích databáze. Další informace najdete v tématu Povolení a zakázání funkce Always Encrypted pro připojení k databázi a oprávnění pro šifrování nebo dešifrování dat během migrace.
Zachování šifrovaných dat během migrace
Pokud kopírujete data ze šifrovaných sloupců ve zdrojové databázi SQL Serveru do šifrovaných sloupců ve stejné nebo jiné databázi SQL Serveru a cílové sloupce používají přesně schématu (včetně stejných datových typů, typů šifrování a šifrovacích klíčů sloupců) jako zdrojové sloupce, můžete nakonfigurovat Průvodce importem a exportem SQL Serveru tak, aby načítal šifrovací text ze zdrojových sloupců a vložil šifrovaná data (šifrový text). zašifrovaný sloupec v cílové databázi SQL Serveru.
V tomto scénáři můžete použít libovolného zprostředkovatele dat, který podporuje SQL Server pro připojení ke zdroji nebo cílové databázi SQL Serveru. Pokud pro připojení k cílové databázi používáte zprostředkovatele, který podporuje funkci Always Encrypted, musíte zajistit, aby pro připojení k databázi byla zakázaná funkce Always Encrypted. Další informace najdete v tématu Povolení a zakázání funkce Always Encrypted pro připojení k databázi.
Musíte také zajistit, aby hlavní objekt databáze (uživatel), který průvodce importem a exportem systému SQL Server používá pro připojení k cílové databázi, byl nakonfigurován s možností ALLOW_ENCRYPTED_VALUE_MODIFICATIONS
nastavenou na ON
. Tato možnost potlačí kontroly kryptografických metadat na serveru v operacích hromadného kopírování, což průvodci umožňuje hromadně vložit šifrovaná data do cílové databáze bez dešifrování dat. Další informace naleznete v tématu Hromadné načítání šifrovaných dat do sloupců chráněných funkcí Always Encrypted.
Povolení a zakázání funkce Always Encrypted pro připojení k databázi
Pokud váš scénář migrace vyžaduje, aby průvodce importem a exportem SQL Serveru mohl šifrovat nebo dešifrovat data, musíte nakonfigurovat připojení ke zdrojové databázi SQL Serveru nebo cílové připojení databáze SQL Serveru pomocí zprostředkovatele dat, který podporuje funkci Always Encrypted. Musíte také povolit funkci Always Encrypted pro zdrojové nebo cílové připojení k databázi.
Pokud k šifrování nebo dešifrování dat v připojení nepotřebujete průvodce, můžete pro připojení použít libovolného zprostředkovatele dat.
Následující zprostředkovatelé dat v Průvodci importem a exportem SQL Serveru podporují funkci Always Encrypted.
- Zprostředkovatel dat rozhraní .NET Framework pro SQL Server
- Ujistěte se, že počítač, na kterém průvodce běží, používá rozhraní .NET Framework 4.6.1 nebo novější.
- Pokud chcete pro připojení povolit funkci Always Encrypted, nastavte
Column Encryption Setting
naEnabled
ve vlastnostech připojení. Pokud chcete funkci Always Encrypted zakázat, nastavteColumn Encryption Setting
naDisabled
. Další informace najdete v tématu Připojení k SQL Serveru pomocí zprostředkovatele dat rozhraní .NET Framework pro SQL Server a Povolení funkce Always Encrypted pro dotazy aplikací.
- Zprostředkovatel dat rozhraní .NET Framework pro rozhraní ODBC
- Nainstalujte ovladač Microsoft ODBC 13.1 nebo novější.
- Pokud chcete pro připojení povolit funkci Always Encrypted, nastavte
Column Encryption
naEnabled
ve vlastnostech připojení. Pokud chcete funkci Always Encrypted zakázat, nastavteColumn Encryption
naDisabled
. Další informace naleznete v tématu Připojení k SQL Serveru pomocí ovladače ODBC pro SQL Server a Povolení funkce Always Encrypted v aplikaci ODBC.
- Pokud chcete pro připojení povolit funkci Always Encrypted, nastavte
- Nainstalujte ovladač Microsoft ODBC 13.1 nebo novější.
Oprávnění k šifrování nebo dešifrování dat během migrace
K šifrování nebo dešifrování dat uložených ve zdrojové nebo cílové databázi SQL Serveru potřebujete oprávnění ZOBRAZIT DEFINICI HLAVNÍHO KLÍČE SLOUPCE a ZOBRAZIT DEFINICI ŠIFROVACÍHO KLÍČE SLOUPCE ve zdrojové databázi. K přístupu a používání hlavního klíče sloupce potřebujete také oprávnění k úložišti klíčů. Podrobné informace o oprávněních k úložišti klíčů vyžadovaných pro operace správy klíčů najdete v tématu Vytvoření a uložení hlavních klíčů sloupců pro Always Encrypted a vyhledejte část, která je relevantní pro vaše úložiště klíčů.
Další kroky
- Dotazování na sloupce s využitím Always Encrypted v aplikaci SQL Server Management Studio
- Vývoj aplikací pomocí funkce Always Encrypted