Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр SQL Azure
В этой статье описаны действия по подготовке главных ключей столбцов и ключей шифрования столбцов для работы функции Always Encrypted с помощью SQL Server Management Studio (SSMS). Установите последнюю общедоступную версию SSMS при подготовке ключей шифрования.
Общие сведения об управлении ключами Always Encrypted, включая рекомендации и важные соображения безопасности, см. в разделе "Обзор управления ключами для Always Encrypted".
Настройка главных ключей столбцов в диалоговом окне "Новый главный ключ столбца"
Диалоговое окно "Новый главный ключ столбца " позволяет создать главный ключ столбца или выбрать существующий ключ в хранилище ключей и создать метаданные главного ключа столбца для созданного или выбранного ключа в базе данных.
С помощью обозревателя объектов перейдите к узлу "Безопасность —> ключи Always Encrypted " в базе данных.
Щелкните правой кнопкой мыши узел главных ключей столбцов и выберите новый главный ключ столбца....
В диалоговом окне "Новый главный ключ столбца" введите имя объекта метаданных главного ключа столбца.
Выберите хранилище ключей.
Хранилище сертификатов — текущий пользователь — указывает расположение хранилища сертификатов текущего пользователя в хранилище сертификатов Windows, которое является личным хранилищем.
Хранилище сертификатов — локальный компьютер — указывает расположение хранилища сертификатов локального компьютера в Хранилище сертификатов Windows.
Azure Key Vault — вам нужно войти в Azure (нажмите кнопку "Войти"). После входа вы сможете выбрать одну из подписок Azure и хранилище ключей или управляемый HSM (требуется SSMS 18.9 или более поздней версии).
Примечание.
Для использования главных ключей столбцов, хранящихся в управляемом HSM в Azure Key Vault, требуется SSMS 18.9 или более поздняя версия.
Поставщик хранилища ключей (KSP) — указывает хранилище ключей, доступное через поставщик хранилища ключей (KSP), который реализует API следующего поколения шифрования (CNG). Как правило, этот тип хранилища является аппаратным модулем безопасности (HSM). После того как вы выберете этот параметр, вам нужно будет выбрать KSP. Поставщик хранилища ключей программного обеспечения Майкрософт выбран по умолчанию. Чтобы использовать главный ключ столбца, хранящийся в HSM, выберите KSP для устройства (он должен быть установлен и настроен на компьютере до открытия диалогового окна).
Поставщик служб шифрования (CSP) — хранилище ключей, доступное через поставщика служб шифрования (CSP), реализующего API шифрования (CAPI). Как правило, это хранилище является аппаратным модулем безопасности (HSM). После выбора этого параметра необходимо выбрать поставщик CSP. Чтобы использовать главный ключ столбца, хранящийся в HSM, выберите CSP для устройства (он должен быть установлен и настроен на компьютере до открытия диалогового окна).
Примечание.
Так как CAPI — это устаревший API, параметр "Поставщик служб шифрования" отключен по умолчанию. Вы можете включить функцию, создав значение DWORD "CAPI Provider Enabled" в разделе [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] в реестре Windows и установив для него значение 1. Вы должны использовать CNG вместо CAPI, если только ваше хранилище ключей не поддерживает CNG.
Дополнительные сведения о приведенных выше хранилищах ключей см. в разделе "Создание и хранение главных ключей столбцов" для Always Encrypted.
Если вы используете SQL Server 2019 (15.x) и экземпляр SQL Server настроен с безопасным анклавом, установите флажок "Разрешить вычисления в анклаве", чтобы активировать главную ключевую фразу в анклаве. Для получения дополнительной информации см. раздел Always Encrypted с поддержкой безопасных анклавов.
Примечание.
Флажок "Разрешить вычисления анклава" не отображается, если экземпляр SQL Server неправильно настроен с безопасным анклавом.
Выберите существующий ключ в хранилище ключей или нажмите кнопку "Создать ключ" или " Создать сертификат ", чтобы создать ключ в хранилище ключей.
Примечание.
Мы не проверяем допустимость ключей или сертификатов, используемых для создания главного ключа столбца.
Нажмите кнопку "ОК ", а новый ключ появится в списке.
После завершения работы с диалоговым окном среда SQL Server Management Studio создаст метаданные для главного ключа столбца в базе данных. Диалоговое окно создает и выдает инструкцию CREATE COLUMN MASTER KEY (Transact-SQL) .
Если вы настраиваете главный ключ столбца с поддержкой анклава, среда SSMS также подписывает метаданные, используя главный ключ столбца.
Разрешения на подготовку главного ключа столбца
Чтобы создать главный ключ столбца, необходимо разрешение ALTER ANY COLUMN MASTER KEY в базе данных. Вам также требуются разрешения для хранилища ключей на доступ к главному ключу столбца и на его использование. Подробные сведения о разрешениях хранилища ключей, необходимых для операций управления ключами, см. в разделе "Создание и хранение главных ключей столбцов" для Always Encrypted и изучите раздел, который соответствует вашему хранилищу ключей.
Подготовка ключей шифрования столбцов в диалоговом окне "Новый ключ шифрования столбца"
Диалоговое окно "Новый ключ шифрования столбцов " позволяет создать ключ шифрования столбцов, зашифровать его с помощью главного ключа столбца и создать метаданные ключа шифрования столбца в базе данных.
- С помощью обозревателя объектов перейдите в папку "Безопасность/Всегда зашифрованные ключи " в базе данных.
- Щелкните правой кнопкой мыши папку "Ключи шифрования столбцов " и выберите новый ключ шифрования столбцов....
- В диалоговом окне "Новый ключ шифрования столбцов " введите имя объекта метаданных ключа шифрования столбца.
- Выберите объект метаданных, который представляет ваш главный ключ столбца в базе данных.
- Нажмите кнопку "ОК".
Как только вы завершите диалог, SQL Server Management Studio (SSMS) создает новый ключ шифрования столбцов. Затем SSMS извлекает метаданные для главного ключа столбца, выбранного из базы данных. Затем SSMS использует метаданные главного ключа столбца, чтобы связаться с хранилищем ключей, содержащим ваш главный ключ столбца, и зашифровать ключ шифрования столбца. Наконец, SSMS создает данные метаданных для нового шифрования столбцов в базе данных путем создания и выдачи инструкции CREATE COLUMN ENCRYPTION KEY (Transact-SQL) .
Примечание.
Для использования главных ключей столбцов, хранящихся в управляемом HSM в Azure Key Vault, требуется SSMS 18.9 или более поздняя версия.
Разрешения на подготовку ключа шифрования столбца
Для создания метаданных ключа шифрования столбца и доступа к метаданным главного ключа столбца требуются разрешения базы данных ALTER ANY COLUMN ENCRYPTION KEY и VIEW ANY COLUMN MASTER KEY DEFINITION. Вам также требуются разрешения для хранилища ключей на доступ к главному ключу столбца и на его использование. Подробные сведения о разрешениях хранилища ключей, необходимых для операций управления ключами, см. в разделе Создание и хранение главных ключей столбцов для Always Encrypted и найдите раздел, соответствующий вашему хранилищу ключей.
Подготовка ключей Always Encrypted с помощью мастера Always Encrypted
Мастер Always Encrypted — это средство для шифрования, расшифровки и повторного шифрования выбранных столбцов базы данных. Хотя он может использовать и уже настроенные ключи, он также позволяет создать новый главный ключ столбца и новое шифрование столбца.
Следующие шаги
- Настройка шифрования столбцов с помощью мастера Always Encrypted
- Настройка шифрования столбцов с помощью Always Encrypted с пакетом DAC
- Смена ключей Always Encrypted с помощью SQL Server Management Studio
- Разработка приложений с помощью Always Encrypted
- Перенос данных в столбцы или из столбцов с помощью мастера импорта и экспорта SQL Server Always Encrypted
См. также
- Always Encrypted
- Обзор управления ключами для Always Encrypted
- Создание и хранение главных ключей столбцов для Always Encrypted
- Настройка Always Encrypted с помощью SQL Server Management Studio
- Подготовка ключей Always Encrypted с помощью PowerShell
- CREATE COLUMN MASTER KEY (Transact-SQL)
- DROP COLUMN MASTER KEY (Transact-SQL)
- CREATE COLUMN ENCRYPTION KEY (Создание ключа шифрования столбца) (Transact-SQL)
- ALTER COLUMN ENCRYPTION KEY (Transact-SQL)
- УДАЛИТЬ КЛЮЧ ШИФРОВАНИЯ СТОЛБЦА (Transact-SQL)
- sys.column_master_keys (Transact-SQL)
- sys.column_encryption_keys (Transact-SQL)