Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: 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 Import and Export Wizard мог шифровать данные, включите Always Encrypted для подключения к базе данных назначения и убедитесь, что у вас есть доступ к ключам, защищающим данные в столбцах базы данных назначения. Дополнительные сведения см. в разделах Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных и Разрешения для шифрования или расшифровки данных во время миграции.
Расшифровка зашифрованных данных при миграции
Если вы переносите данные, хранящиеся в зашифрованных столбцах базы данных SQL Server, вы можете настроить мастер импорта и экспорта SQL Server для расшифровки данных и копирования расшифрованных данных в открытом виде в адрес назначения. Получателем может быть любое хранилище данных, поддерживаемое мастером импорта и экспорта SQL Server, например, файл, база данных SQL Server или база данных в другой системе баз данных.
Чтобы убедиться, что мастер импорта и экспорта SQL Server может расшифровать данные, включите Always Encrypted для подключения к исходной базе данных и убедитесь, что у вас есть доступ к ключам, защищающим данные в столбцах исходной базы данных. Дополнительные сведения см. в разделах Включение и отключение функции Always Encrypted, применяемой для подключения к базе данных и Разрешения для шифрования или расшифровки данных во время миграции.
Повторное шифрование данных при миграции
Если вы копируете данные из зашифрованных столбцов исходной базы данных SQL Server в зашифрованные столбцы в той же или другой базе данных 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 Import and Export Wizard для шифрования или расшифровки данных, настройте исходное соединение с базой данных 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
- резервное копирование и восстановление баз данных с помощью Always Encrypted
- Массовая загрузка зашифрованных данных в столбцы с помощью Always Encrypted
- Выполнение запросов к столбцам с помощью Always Encrypted с использованием SQL Server Management Studio
- Разработка приложений с помощью Always Encrypted