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


Шифрование данных в базе данных SQL в Microsoft Fabric

Применимо к:База данных SQL в Microsoft Fabric

Это важно

Эта функция доступна в предварительной версии.

Microsoft Fabric шифрует все неактивных данных с помощью ключей, управляемых Корпорацией Майкрософт. Все данные базы данных SQL хранятся в удаленных учетных записях хранения Azure. Для соблюдения требований шифрования неактивных данных с помощью ключей, управляемых Корпорацией Майкрософт, каждая учетная запись хранения Azure, используемая базой данных SQL, настроена с включенным шифрованием на стороне службы .

С помощью ключей, управляемых клиентом для рабочих областей Fabric, вы можете использовать ключи Azure Key Vault для добавления другого уровня защиты к данным в рабочих областях Microsoft Fabric, включая все данные в базе данных SQL в Microsoft Fabric. Управляемый клиентом ключ обеспечивает большую гибкость, позволяя управлять его ротацией, контролировать доступ и аудит использования. Управляемые клиентом ключи также помогают организациям соответствовать потребностям управления данными и соответствовать стандартам защиты данных и шифрования.

  • Когда управляемый клиентом ключ настроен для рабочей области в Microsoft Fabric, прозрачное шифрование данных автоматически включается для всех баз данных SQL (и tempdb) в этой рабочей области с помощью указанного ключа, управляемого клиентом. Этот процесс полностью прост и не требует ручного вмешательства.
    • Хотя процесс шифрования начинается автоматически для всех существующих баз данных SQL, он не является мгновенным; Длительность зависит от размера каждой базы данных SQL, при этом для больших баз данных SQL требуется больше времени для завершения шифрования.
    • После настройки ключа, управляемого клиентом, все базы данных SQL, созданные в рабочей области, также будут зашифрованы с помощью ключа, управляемого клиентом.
  • Если ключ, управляемый клиентом, удален, процесс расшифровки активируется для всех баз данных SQL в рабочей области. Как и шифрование, расшифровка также зависит от размера базы данных SQL и может занять время. После расшифровки базы данных SQL снова начинают использовать ключи шифрования, управляемые Microsoft.

Как работает прозрачное шифрование данных в базе данных SQL в Microsoft Fabric

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

  • Этот процесс происходит на уровне страницы, то есть каждая страница расшифровывается при чтении в память и повторно шифруется перед записью обратно на диск.
  • Прозрачное шифрование данных защищает всю базу данных с помощью симметричного ключа, известного как ключ шифрования базы данных (DEK).
  • При запуске базы данных зашифрованный deK расшифровывается и используется ядром СУБД SQL Server для управления операциями шифрования и расшифровки.
  • Сам DEK защищается прозрачным методом защиты шифрования данных, который является асимметричным ключом, управляемым клиентом, в частности ключом, управляемым клиентом на уровне рабочей области.

Схема шифрования базы данных SQL в Microsoft Fabric.

Резервное копирование и восстановление

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

При изменении ключа старые резервные копии базы данных SQL не обновляются, чтобы использовать последний ключ. Чтобы восстановить резервную копию, зашифрованную с помощью ключа, управляемого клиентом, убедитесь, что материал ключа доступен в Azure Key Vault. Поэтому мы рекомендуем клиентам хранить все старые версии ключей, управляемых клиентом, в Azure Key Vault, поэтому резервные копии базы данных SQL можно восстановить.

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

Резервная копия... Параметр рабочей области, управляемой клиентом Состояние шифрования после восстановления
Не зашифровано Disabled База данных SQL не зашифрована
Не зашифровано Включен База данных SQL шифруется с помощью ключа, управляемого клиентом
Зашифровано с помощью ключа, управляемого клиентом Disabled База данных SQL не зашифрована
Зашифровано с помощью ключа, управляемого клиентом Включен База данных SQL шифруется с помощью ключа, управляемого клиентом
Зашифровано с помощью ключа, управляемого клиентом Включен, но другой ключ, управляемый клиентом База данных SQL шифруется с помощью нового ключа, управляемого клиентом

Проверка успешного ключа, управляемого клиентом

После включения шифрования ключей, управляемых клиентом, в рабочей области будет зашифрована существующая база данных. Новая база данных в рабочей области также будет зашифрована при включении ключа, управляемого клиентом. Чтобы проверить, успешно ли зашифрована база данных, выполните следующий запрос T-SQL:

SELECT DB_NAME(database_id) as DatabaseName, * 
FROM sys.dm_database_encryption_keys 
WHERE database_id <> 2;
  • База данных шифруется, если encryption_state_desc поле отображается ENCRYPTED как ASYMMETRIC_KEY .encryptor_type
  • Если состояние равно ENCRYPTION_IN_PROGRESS, percent_complete столбец будет указывать ход изменения состояния шифрования. Это приведет 0 к тому, что в процессе изменения состояния нет.
  • Если база данных не зашифрована, база данных не будет отображаться в результатах sys.dm_database_encryption_keysзапроса.

Устранение неполадок недоступного ключа, управляемого клиентом

Когда управляемый клиентом ключ настроен для рабочей области в Microsoft Fabric, непрерывный доступ к ключу необходим для того, чтобы база данных SQL оставалась в сети. Если база данных SQL теряет доступ к ключу в Azure Key Vault, то в течение 10 минут база данных SQL начинает запрещать все подключения и изменять состояние недоступности. Пользователи получат соответствующее сообщение об ошибке, например "База данных <database ID>.database.fabric.microsoft.com недоступна из-за критической ошибки Azure Key Vault".

  • Если доступ к ключу восстанавливается в течение 30 минут, база данных SQL будет автоматически исправляться в течение следующего часа.
  • Если доступ к ключу восстанавливается через более 30 минут, автоматическое восстановление базы данных SQL невозможно. При возврате базы данных SQL требуются дополнительные шаги и может занять значительное время в зависимости от размера базы данных SQL.

Чтобы повторно проверить ключ, управляемый клиентом, выполните следующие действия.

  1. В рабочей области щелкните правой кнопкой мыши базу данных SQL или используйте контекстное меню .... Выберите Параметры.
  2. Выберите шифрование (предварительная версия).
  3. Чтобы попытаться повторно проверить ключ, управляемый клиентом, нажмите кнопку Повторная проверка ключа, управляемого клиентом. Если повторная проверка выполнена успешно, восстановление доступа к базе данных SQL может занять некоторое время.

Замечание

При повторном изменении ключа для одной базы данных SQL ключ автоматически обновляется для всех баз данных SQL в рабочей области.

Ограничения

Текущие ограничения при использовании управляемого клиентом ключа для базы данных SQL в Microsoft Fabric:

  • 4096-разрядные ключи не поддерживаются для базы данных SQL в Microsoft Fabric. Поддерживаемые длины ключей — 2048 битов и 3072 бита.
  • Управляемый клиентом ключ должен быть RSA или RSA-HSM асимметричным ключом.
  • В настоящее время шифрование ключей, управляемых клиентом, доступно в следующих регионах:
    • США: восточная часть США 2, северная часть США, южная часть США
    • Азия: Восточная Австралия, Юго-Восточная Азия, Северная Азия ОАЭ
    • Европа: Северная Европа, Западная Европа