Поделиться через


Управление ключами Always Encrypted с помощью SQL Server Management Studio

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

В этой статье описаны действия по подготовке главных ключей столбцов и ключей шифрования столбцов для работы функции Always Encrypted с помощью SQL Server Management Studio (SSMS). Установите последнюю общедоступную версию SSMS при подготовке ключей шифрования.

Обзор управления ключами Always Encrypted, включая общие рекомендации и важные вопросы безопасности, см. в разделе Общие сведения об управлении ключами Always Encrypted.

Настройка главных ключей столбцов в диалоговом окне "Новый главный ключ столбца"

В диалоговом окне Новый главный ключ столбца можно создать главный ключ столбца или выбрать существующий ключ в хранилище ключей, а также создать метаданные главного ключа столбца для сгенерированного или выбранного ключа в базе данных.

  1. С помощью Обозревателя объектов выполните навигацию к узлу Безопасность —> Always Encrypted Keys в вашей базе данных.

  2. Щелкните правой кнопкой мыши на узле Главные Ключи Столбцов и выберите Новый Главный Ключ Столбца....

  3. В диалоговом окне Новый главный ключ столбца введите имя объекта метаданных главного ключа столбца.

  4. Выберите хранилище ключей.

    • Хранилище сертификатов — текущий пользователь — указывает расположение хранилища сертификатов текущего пользователя в хранилище сертификатов Windows, которое является личным хранилищем.

    • Хранилище сертификатов — локальный компьютер — указывает расположение хранилища сертификатов локального компьютера в хранилище сертификатов Windows.

    • Azure Key Vault — вам нужно войти в Azure (нажмите кнопку "Войти"). После входа вы сможете выбрать одну из подписок Azure и хранилище ключей или управляемый HSM (требуется SSMS 18.9 или более поздней версии).

      Примечание.

      Чтобы использовать главные ключи столбцов, хранящиеся в управляемом модуле HSM в Azure Key Vault, требуется SSMS 18.9 или более поздних версий.

    • Поставщик хранилища ключей (KSP) — указывает хранилище ключей, которое доступно через поставщик хранилища ключей (KSP), реализующий API криптографии следующего поколения (CNG). Как правило, этот тип хранилища является аппаратным модулем безопасности (HSM). После того как вы выберете этот параметр, вам нужно будет выбрать KSP. По умолчанию выбранпоставщик хранилища ключей Microsoft Software Key Store Provider . Чтобы использовать главный ключ столбца, хранящийся в HSM, выберите KSP для устройства (он должен быть установлен и настроен на компьютере до открытия диалогового окна).

    • Поставщик служб шифрования (CSP) — хранилище ключей, доступное через поставщик служб шифрования (CSP), который реализует Cryptography API (CAPI). Как правило, это хранилище является аппаратным модулем безопасности (HSM). После выбора этого параметра необходимо выбрать поставщик CSP. Чтобы использовать главный ключ столбца, хранящийся в HSM, выберите CSP для устройства (он должен быть установлен и настроен на компьютере до открытия диалогового окна).

    Примечание.

    Так как CAPI — это устаревший API, параметр "Поставщик служб шифрования" отключен по умолчанию. Вы можете включить это, создав значение CAPI Provider Enabled типа DWORD в разделе [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] реестра Windows и установив его значение на 1. Вы должны использовать CNG вместо CAPI, если только ваше хранилище ключей не поддерживает CNG.

    Дополнительные сведения о хранилищах ключей см. в разделе Создание и хранение главных ключей столбцов для Always Encrypted.

  5. Если вы используете SQL Server 2019 (15.x) и экземпляр SQL Server настроен с безопасным анклавом, установите флажок "Разрешить вычисления в анклаве", чтобы активировать главную ключевую фразу в анклаве. Дополнительные сведения см. в статье Always Encrypted с безопасными анклавами.

    Примечание.

    Флажок Разрешить вычисления анклава не отображается, если в экземпляре SQL Server не выполнена правильная настройка безопасных анклавов.

  6. Выберите существующий ключ в хранилище ключей либо нажмите кнопку Создать ключ или Создать сертификат , чтобы создать ключ в хранилище ключей.

  7. Нажмите кнопку "ОК ", а новый ключ появится в списке.

После завершения работы с диалоговым окном среда SQL Server Management Studio создаст метаданные для главного ключа столбца в базе данных. Диалоговое окно создает и выдает инструкцию CREATE COLUMN MASTER KEY (Transact-SQL).

Если вы настраиваете главный ключ столбца с поддержкой анклава, среда SSMS также подписывает метаданные, используя главный ключ столбца.

Разрешения на подготовку главного ключа столбца

Для создания главного ключа столбца в диалоговом окне необходимо разрешение ALTER ANY COLUMN MASTER KEY в базе данных. Вам также требуются разрешения для хранилища ключей на доступ к главному ключу столбца и на его использование. Подробные сведения о разрешениях хранилища ключей, необходимых для операций управления ключами, см. в разделе "Создание и хранение главных ключей столбцов" для Always Encrypted и ознакомьтесь с разделом, который соответствует вашему хранилищу ключей.

Подготовка ключей шифрования столбцов в диалоговом окне "Новый ключ шифрования столбца"

В диалоговом окне Ключ шифрования нового столбца можно создать ключ шифрования столбца, зашифровать его с помощью главного ключа столбца, а также создать метаданные ключа шифрования столбца в базе данных.

  1. С помощью обозревателя объектовперейдите к папке Безопасность > Ключи постоянного шифрования в базе данных.
  2. Щелкните правой кнопкой мыши папку "Ключи шифрования столбцов" и выберите новый ключ шифрования столбцов....
  3. В диалоговом окне Новый ключ шифрования столбца введите имя объекта метаданных ключа шифрования столбца.
  4. Выберите объект метаданных, который представляет ваш главный ключ столбца в базе данных.
  5. Щелкните OK.

Как только вы завершите диалог, 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 — это средство для шифрования, расшифровки и повторного шифрования выбранных столбцов базы данных. Хотя он может использовать и уже настроенные ключи, он также позволяет создать новый главный ключ столбца и новое шифрование столбца.

Следующие шаги

См. также