Бөлісу құралы:


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

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

Microsoft Fabric шифрует все данные в состоянии покоя с помощью ключей, управляемых Microsoft. База данных 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).
  • При запуске базы данных ядро СУБД 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 асимметричным ключом.