Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Мастер импорта и экспорта SQL Server позволяет копировать данные из исходного расположения в целевое. В этом документе описывается использование мастера импорта и экспорта SQL Server, если исходным и (или) целевым расположением является база данных SQL Server, содержащая столбцы, защищенные с помощью Always Encrypted.
Сценарии миграции
С помощью мастера импорта и экспорта SQL Server можно реализовать следующие сценарии для переноса данных в зашифрованные столбцы или из них.
Шифрование данных в виде открытого текста при миграции
Если источник данных содержит данные в виде открытого текста, а назначением является база данных SQL Server с зашифрованными столбцами, воспользуйтесь мастером импорта и экспорта SQL Server, чтобы получить данные в виде открытого текста из источника, зашифровать их и скопировать зашифрованные данные (зашифрованный текст) в зашифрованные столбцы в целевой базе данных. В этом сценарии миграции источником данных может быть любое хранилище данных, которое поддерживает мастер импорта и экспорта SQL Server. Например, это может быть файл, база данных SQL Server или база данных в другой системе баз данных.
Чтобы мастер импорта и экспорта SQL Server мог шифровать данные, необходимо включить функцию Always Encrypted для подключения к целевой базе данных и получить доступ к ключам, защищающим данные в столбцах этой базы данных. Дополнительные сведения см. в разделах Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных и Разрешения для шифрования или расшифровки данных во время миграции.
Расшифровка зашифрованных данных при миграции
При переносе данных, хранящихся в зашифрованных столбцах базы данных SQL Server, настройте мастер импорта и экспорта SQL Server для расшифровки данных и копирования расшифрованных (в виде открытого текста) данных в место назначения. Этим местом может быть любое хранилище данных, поддерживаемое мастером импорта и экспорта SQL Server (например, файл, база данных SQL Server или база данных в другой системе баз данных).
Чтобы мастер импорта и экспорта SQL Server мог расшифровывать данные, необходимо включить функцию Always Encrypted для подключения к базе данных-источнику и получить доступ к ключам, защищающим данные в столбцах этой базы данных. Дополнительные сведения см. в разделах Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных и Разрешения для шифрования или расшифровки данных во время миграции.
Повторное шифрование данных при миграции
При копировании данных из зашифрованных столбцов в базе данных-источнике в зашифрованные столбцы в той же или другой базе данных SQL Server настройте мастер импорта и экспорта SQL Server для расшифровки данных после их получения из источника и их повторного шифрования перед вставкой в зашифрованные столбцы в целевой базе данных. Этот метод следует использовать, если схема целевых столбцов (например, типы данных столбцов, типы шифрования и ключи шифрования столбцов) отличается от схемы исходных столбцов.
Чтобы мастер импорта и экспорта SQL Server мог шифровать и расшифровывать данные, необходимо включить функцию Always Encrypted для подключений к базе данных-источнику и целевой базе данных и получить доступ к ключам, защищающим данные в столбцах этих баз данных. Дополнительные сведения см. в разделах Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных и Разрешения для шифрования или расшифровки данных во время миграции.
Поддержка зашифрованных данных во время миграции
Если вы копируете данные из зашифрованных столбцов в базе-данных источнике SQL Server в зашифрованные столбцы в той же или другой базе данных SQL Server, и для целевых столбцов используется точно такая же схема (включая те же типы данных, типы шифрования и ключи шифрования столбцов), что и для исходных столбцов, настройте мастер импорта и экспорта SQL Server для получения зашифрованного текста из исходных столбцов и вставки зашифрованных данных (зашифрованного текста) в зашифрованный столбец в целевой базе данных SQL Server.
В этом сценарии можно использовать любого поставщика данных, поддерживающего SQL Server, для подключения к базе данных SQL Server источника или назначения. Если для подключения к целевой базе данных используется поставщик, который поддерживает Always Encrypted, необходимо отключить функцию Always Encrypted. Дополнительные сведения см. в разделе Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных.
Кроме того, необходимо убедиться, что для сущности базы данных (пользователя), используемой мастером импорта и экспорта SQL Server для подключения к целевой базе данных, установлен параметр ALLOW_ENCRYPTED_VALUE_MODIFICATIONS со значением ON. Этот параметр отключает проверки шифрованных метаданных на сервере в операциях массового копирования, что позволяет мастеру массово вставлять зашифрованные данные в целевую базу данных и при этом не расшифровывать их. Дополнительные сведения см. в статье Массовая загрузка зашифрованных данных в столбцы, защищенные с помощью Always Encrypted.
Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных
Если в сценарии миграции требуется, чтобы мастер импорта и экспорта SQL Server мог шифровать и (или) расшифровывать данные, необходимо настроить подключение к базе данных-источнику SQL Server и (или) подключение к целевой базе данных SQL Server с помощью поставщика данных, поддерживающего Always Encrypted. Функцию Always Encrypted также необходимо включить для подключения к базе данных-источнику и (или) целевой базе данных.
Можно использовать любого поставщика данных для подключения, если мастер не должен шифровать или расшифровывать данные на этом подключении.
Следующие поставщики данных в мастере импорта и экспорта SQL Server поддерживают Always Encrypted.
- Поставщик данных .NET Framework для SQL Server
- Убедитесь, что на компьютере, где работает мастер, установлена платформа .NET Framework 4.6.1 или более поздних версий.
- Чтобы включить функцию Always Encrypted, применяемую для подключения, в окне свойств подключения задайте параметру
Column Encryption SettingзначениеEnabled. Чтобы отключить Always Encrypted, установите дляColumn Encryption SettingзначениеDisabled. Дополнительные сведения см. в статье Подключение к SQL Server с помощью поставщика данных .NET Framework для SQL Server и Включение Always Encrypted для запросов приложений.
- Поставщик данных .NET Framework для ODBC
- Установите драйвер Microsoft ODBC Driver 13.1 или более поздних версий.
- Чтобы включить функцию Always Encrypted, применяемую для подключения, в окне свойств подключения задайте параметру
Column EncryptionзначениеEnabled. Чтобы отключить Always Encrypted, установите дляColumn EncryptionзначениеDisabled. Дополнительные сведения см. в статьях Подключение к SQL Server с помощью драйвера ODBC для SQL Server и Включение Always Encrypted в приложении ODBC.
- Чтобы включить функцию Always Encrypted, применяемую для подключения, в окне свойств подключения задайте параметру
- Установите драйвер Microsoft ODBC Driver 13.1 или более поздних версий.
Разрешения для шифрования и расшифровки данных во время миграции
Чтобы зашифровать или расшифровать данные, хранящиеся в базе данных-источнике или целевой базе данных SQL Server, требуются разрешения VIEW ANY COLUMN MASTER KEY DEFINITION и VIEW ANY COLUMN ENCRYPTION KEY DEFINITION в целевой базе данных. Вам также требуются разрешения для хранилища ключей, чтобы получить доступ к главному ключу столбца и использовать его. Для получения подробной информации о разрешениях хранилища ключей, необходимых для выполнения операций управления ключами, перейдите к статье Создание и хранение главных ключей столбцов для Always Encrypted и найдите раздел, относящийся к вашему хранилищу.
Следующие шаги
- Выполнение запросов к столбцам с помощью Always Encrypted с использованием SQL Server Management Studio
- Разработка приложений с помощью Always Encrypted