Прозрачное шифрование данных для базы данных SQL, SQL Управляемый экземпляр и Azure Synapse Analytics
Область применения: База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics
Прозрачное шифрование данных (TDE) помогает защищать Базу данных SQL Azure, Управляемый экземпляр SQL Azure и Azure Synapse Analytics от автономных вредоносных действий за счет шифрования неактивных данных. Выполняется шифрование и расшифровка базы данных, связанных резервных копий и неактивных файлов журналов транзакций в реальном времени без необходимости изменения приложения. По умолчанию TDE включен для всех вновь развернутых баз данных SQL Azure и должен быть включен вручную для старых баз данных SQL Azure. Для Управляемого экземпляра SQL Azure TDE включается на уровне экземпляра и для вновь созданных баз данных. Для Azure Synapse Analytics необходимо вручную включить TDE.
Примечание.
Информация в статье применима к Базе данных SQL Azure, Управляемому экземпляру SQL Azure и Azure Synapse Analytics (выделенные пулы SQL, ранее — хранилище данных SQL). Сведения о прозрачном шифровании данных для выделенных пулов SQL в рабочих областях Azure Synapse см. в статье Шифрование в Azure Synapse Analytics.
Некоторые элементы, которые рассматриваются как содержимое клиента, такие как имена таблиц, имена объектов и имена индексов, могут передаваться в файлах журналов для поддержки и устранения неполадок корпорации Майкрософт.
Функция TDE выполняет шифрование и расшифровку ввода-вывода данных в реальном времени на уровне страницы. Каждая страница расшифровывается при считывании в память, а затем снова шифруется перед записью на диск. TDE шифрует пространство хранения всей базы данных, используя симметричный ключ, который называется ключом шифрования базы данных. При запуске базы данных зашифрованный ключ DEK расшифровывается, а затем используется для расшифровки и повторного шифрования файлов базы данных в процессе SQL Server. DEK защищается предохранителем TDE. Предохранитель TDE представляет собой управляемый службой сертификат (управляемое службой прозрачное шифрование данных) или асимметричный ключ, сохраненный в Azure Key Vault (создание собственных ключей).
Для базы данных SQL Azure и Azure Synapse предохранитель TDE настраивается на уровне сервера и наследуется всеми базами данных, связанными с этим сервером. Для Управляемый экземпляр SQL Azure защита TDE устанавливается на уровне экземпляра и наследуется всеми зашифрованными базами данных в этом экземпляре. В этом документе термин сервер обозначает как сервер, так и экземпляр, если не указано иное.
Внимание
По умолчанию все создаваемые базы данных SQL шифруются с помощью управляемого службой прозрачного шифрования данных. При шифровании источника базы данных целевые базы данных, созданные с помощью восстановления, георепликации и копирования базы данных, шифруются по умолчанию. Однако, если источник базы данных не зашифрован, целевые базы данных, созданные с помощью восстановления, георепликации и копирования базы данных по умолчанию не шифруются. Существующие базы данных SQL, созданные до мая 2017 г. и существующие базы данных Управляемый экземпляр SQL, созданные до февраля 2019 г., по умолчанию не шифруются. Базы данных SQL Управляемый экземпляр, созданные с помощью инструкции RESTORE, наследуют состояние шифрования от источника. Чтобы восстановить существующую базу данных, зашифрованную с помощью TDE, необходимо сначала импортировать требуемый сертификат TDE в Управляемый экземпляр SQL. Чтобы узнать состояние шифрования базы данных, выполните запрос выбора из sys.dm_database_encryption_keys динамического административного представления и проверьте состояние столбцаencryption_state_desc
.
Примечание.
TDE нельзя использовать для шифрования системных баз данных, таких как master
база данных, в База данных SQL и Управляемый экземпляр SQL. База master
данных содержит объекты, необходимые для выполнения операций TDE с пользовательскими базами данных. Рекомендуется не хранить конфиденциальные данные в системных базах данных. Исключением является tempdb
то, что всегда шифруется с помощью TDE для защиты данных, хранящихся там.
Управляемое службой прозрачное шифрование данных
В Azure параметр по умолчанию для TDE означает, что для защиты DEK используется встроенный сертификат сервера. Встроенный сертификат сервера уникален для каждого сервера, а используемый алгоритм шифрования — AES 256. Если база данных находится в отношении георепликации, ключ родительского сервера базы данных-источника используется как для базы данных-источника, так и для базы данных-получателя. Если две базы данных подключены к одному и тому же серверу, то они также совместно используют один встроенный сертификат. Корпорация Майкрософт автоматически сменяет эти сертификаты один раз в год в соответствии с внутренней политикой безопасности, а корневой ключ защищен внутренним хранилищем секретов Майкрософт. Клиенты могут проверять соответствие базы данных SQL и Управляемый экземпляр SQL с внутренними политиками безопасности в независимых сторонних отчетах аудита, представленных в центре управления безопасностью Майкрософт.
Корпорация Майкрософт гарантирует простое перемещение ключей и управление ими для георепликации и восстановления.
Управляемое клиентом прозрачное шифрование данных. Создание собственных ключей
Управляемое клиентом TDE, которое также называется поддержкой создания собственных ключей (BYOK) для TDE. В этом сценарии средство защиты TDE, шифрующее DEK, является асимметричным ключом, управляемым клиентом, который хранится в принадлежащем клиенту и управляемом хранилище Azure Key Vault (облачной системе управления внешними ключами Azure) и никогда не покидает хранилище ключей. Предохранитель TDE может быть создан хранилищем ключей или передан в хранилище ключей с предварительно установленного устройства HSM. Для расшифровки и шифрования DEK базы данных SQL Управляемому экземпляру SQL и Azure Synapse должны быть предоставлены разрешения в хранилище ключей, принадлежащее заказчику. В случае отзыва разрешений сервера на доступ к хранилищу ключей база данных будет недоступна и все данные будут зашифрованы.
Благодаря интеграции TDE с Azure Key Vault пользователи могут самостоятельно контролировать задачи управления ключами. В Azure Key Vault можно выполнять такие операции, как смена ключей, настройка разрешений для хранилища ключей, резервное копирование ключей, а также включать аудит и отчетность по всем предохранителям TDE. Key Vault поддерживает централизованное управление ключами, использует тщательно отслеживаемые аппаратные модули безопасности (HSM), а также позволяет разделять обязанности по управлению ключами и данными для обеспечения соответствия политикам безопасности. Дополнительные сведения о BYOK для базы данных SQL Azure и Azure Synapse см. в статье Прозрачное шифрование данных с помощью интеграции с Azure Key Vault.
Чтобы приступить к использованию TDE с интеграцией Azure Key Vault, см. инструкции по включению прозрачного шифрования данных с помощью собственного ключа из Key Vault.
Перемещение базы данных, защищенной прозрачным шифрованием данных
Для операций в пределах Azure базу данных не нужно расшифровывать. Параметры TDE базы данных-источника прозрачно наследуются целевым объектом. Это относится ко всем следующим операциям:
- Геовосстановление
- восстановление на определенный момент времени через интерфейс самообслуживания;
- восстановление удаленной базы данных;
- Активная георепликация
- создание копии базы данных.
- Восстановление файла резервной копии в Управляемом экземпляре Базы данных SQL Azure
Внимание
Создание вручную резервной копии базы данных, зашифрованной с помощью TDE, управляемой службой, не поддерживается в Управляемый экземпляр Azure SQL, так как сертификат, используемый для шифрования, недоступен. Чтобы переместить такую базу данных в другой управляемый экземпляр SQL, используйте функцию восстановления до точки во времени или переключиться на управляемый клиентом ключ.
При экспорте базы данных, защищенной прозрачным шифрованием данных, экспортируемое содержимое базы данных не шифруется. Экспортированное содержимое хранится в незашифрованных BACPAC-файлах. Не забудьте обеспечить достаточную защиту для BACPAC-файлов и включить TDE по завершении импорта базы данных.
Например, когда BACPAC-файл экспортируется из экземпляра SQL Server, импортированное содержимое новой базы данных не шифруется автоматически. Когда BACPAC-файл импортируется в экземпляр SQL Server, новая база данных также не шифруется автоматически.
Единственное исключение — при экспорте базы данных в базу данных SQL и из нее. TDE включен в новую базу данных, но сам BACPAC-файл по-прежнему не шифруется.
Управление прозрачным шифрованием данных
Управление TDE на портале Azure.
Чтобы настроить TDE через портал Azure, нужно подключиться в качестве владельца Azure, участника или диспетчера безопасности SQL.
Включение и отключение TDE на уровне базы данных. Для управляемого экземпляра базы данных SQL Azure используйте Transact-SQL (T-SQL), чтобы включить и отключить прозрачное шифрование данных для базы данных. Для базы данных SQL Azure и Azure Synapse можно управлять TDE для базы данных в портале Azure после входа с помощью учетной записи администратора или участника Azure. Найдите параметры TDE для своей пользовательской базы данных. По умолчанию используется ключ шифрования уровня сервера. Для сервера, который содержит базу данных, автоматически создается сертификат TDE.
Вы устанавливаете главный ключ TDE, известный как предохранитель TDE, на уровне сервера или экземпляра. Чтобы использовать TDE с поддержкой BYOK и защитить базы данных с помощью ключа из Azure Key Vault, откройте параметры TDE на сервере или управляемом экземпляре.
Вы также можете использовать управляемый клиентом ключ для TDE на уровне базы данных для База данных SQL Azure. Дополнительные сведения см. в разделе Прозрачное шифрование данных (TDE) с ключами, управляемыми клиентом, на уровне базы данных.