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


Прозрачное шифрование данных с помощью базы данных SQL Azure

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

При использовании TDE хранилище всей базы данных шифруется с помощью симметричного ключа, который называется ключом шифрования базы данных. В базе данных SQL ключ шифрования базы данных защищен встроенным сертификатом сервера. Встроенный сертификат сервера является уникальным для каждого сервера базы данных SQL. Если база данных находится в связи GeoDR, она защищена разными ключами на каждом сервере. Если 2 базы данных подключены к одному серверу, они используют один и тот же встроенный сертификат. Корпорация Майкрософт автоматически меняет эти сертификаты по крайней мере каждые 90 дней. Общее описание TDE см. в разделе "Прозрачное шифрование данных" (TDE).

База данных SQL Azure не поддерживает интеграцию Azure Key Vault с TDE. SQL Server, работающий на виртуальной машине Azure, может использовать асимметричный ключ из Key Vault. Дополнительные сведения см. в примере A: прозрачное шифрование данных с помощью асимметричного ключа из Key Vault.

Область применения: База данных SQL версии 12 (предварительная версия в некоторых регионах).

Это важно

В настоящее время это функция предварительной версии. Я принимаю и согласен с тем, что реализация прозрачного шифрования данных базы данных SQL в моих базах данных распространяется на предварительные условия лицензионного соглашения (например, соглашение Enterprise, соглашение Microsoft Azure или соглашение о подписке Microsoft Online), а также любые применимые дополнительные условия использования для предварительной версии Microsoft Azure.

Предварительная версия состояния TDE применяется даже в подмножестве географических регионов, где объявлена общая доступность семейства версий V12 базы данных SQL. TDE для базы данных SQL не предназначен для использования в рабочих базах данных, пока корпорация Майкрософт не сообщит о том, что TDE повышена с предварительной версии до общедоступной версии. Дополнительные сведения о базе данных SQL версии 12 см. в статье "Новые возможности базы данных SQL Azure".

Разрешения

Чтобы зарегистрироваться для предварительной версии и настроить TDE на портале Azure с помощью REST API или с помощью PowerShell, необходимо подключиться как владелец Azure, участник или диспетчер безопасности SQL.

Чтобы настроить TDE с помощью Transact-SQL, требуется следующее:

  • Необходимо уже зарегистрироваться для предварительной версии TDE.

  • Чтобы создать ключ шифрования базы данных, необходимо быть администратором базы данных SQL или быть членом роли dbmanager в базе данных master и иметь разрешение CONTROL для базы данных.

  • Для выполнения инструкции ALTER DATABASE с параметром SET требуется только членство в роли dbmanager .

Зарегистрируйтесь в предварительной версии TDE и включите TDE в базе данных

  1. Посетите портал https://portal.azure.com Azure и войдите в систему с учетной записью администратора Azure или участника.

  2. На левом баннере щелкните " ОБЗОР" и выберите базы данных SQL.

  3. При выборе баз данных SQL в левой области, щелкните базу данных пользователя.

  4. В колонке базы данных нажмите кнопку "Все параметры".

  5. В области Настройки щелкните раздел Прозрачное шифрование данных (предварительный просмотр), чтобы открыть область Прозрачное шифрование данных PREVIEW. Если вы еще не зарегистрировались для предварительной версии TDE, параметры шифрования данных будут отключены до завершения регистрации.

  6. Щелкните "ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР УСЛОВИЙ".

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

  8. В колонке "Предварительный просмотр шифрования данных " переместите кнопку "Шифрование данных " в "Вкл.", а затем нажмите кнопку "Сохранить " (в верхней части страницы), чтобы применить этот параметр. Состояние шифрования будет отражать процесс прозрачного шифрования данных.

    SQLDB_TDE_TermsNewUI SQLDB_TDE_TermsNewUI

    Вы также можете отслеживать ход шифрования, подключаясь к базе данных SQL, используя средство запроса, например SQL Server Management Studio в качестве пользователя базы данных с разрешением VIEW DATABASE STATE . Запросите столбец encryption_state из представления sys.dm_database_encryption_keys.

Включение TDE в базе данных SQL с помощью Transact-SQL

Предположим, что вы уже зарегистрировались для предварительного просмотра.

  1. Подключитесь к базе данных с помощью имени входа, являющегося администратором или членом роли dbmanager в базе данных master.

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

    -- Create the database encryption key that will be used for TDE.
    CREATE DATABASE ENCRYPTION KEY 
    WITH ALGORITHM = AES_256 
    ENCRYPTION BY SERVER CERTIFICATE ##MS_TdeCertificate##;
    
    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION ON;
    GO
    
  3. Чтобы отслеживать ход шифрования в базе данных SQL, пользователи базы данных с разрешением VIEW DATABASE STATE могут выполнять запрос к столбцу представления sys.dm_database_encryption_keys.

Включение TDE в базе данных SQL с помощью PowerShell

С помощью Azure PowerShell можно выполнить следующую команду, чтобы включить или отключить TDE. Перед выполнением команды необходимо подключить учетную запись к окне PS. Предположим, что вы уже зарегистрировались для предварительного просмотра. Дополнительные сведения о PowerShell см. в статье "Установка и настройка Azure PowerShell".

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

    Switch-AzureMode -Name AzureResourceManager
    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Enabled"
    
    Get-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    Get-AzureSqlDatabaseTransparentDataEncryptionActivity -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    
  2. Чтобы отключить TDE, выполните приведенные действия.

    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Disabled"
    Switch-AzureMode -Name AzureServiceManagement
    

Расшифровка защищенной базы данных TDE в базе данных SQL

Отключение TDE с помощью портала Azure

  1. Посетите портал https://portal.azure.com Azure и войдите в систему с учетной записью администратора Azure или участника.

  2. На левом баннере щелкните " ОБЗОР" и выберите базы данных SQL.

  3. С помощью баз данных SQL , выбранных в левой области, щелкните базу данных пользователя.

  4. В колонке базы данных нажмите кнопку "Все параметры".

  5. В колонке "Параметры " щелкните часть прозрачного шифрования данных (предварительная версия), чтобы открыть колонку "Прозрачный просмотр шифрования данных ".

  6. В колонке "Прозрачный просмотр шифрования данных" переместите кнопку "Шифрование данных " в "Отключено", а затем нажмите кнопку "Сохранить " (в верхней части страницы), чтобы применить этот параметр. Состояние шифрования приблизит ход расшифровки прозрачных данных.

    Вы также можете отслеживать ход расшифровки, подключаясь к базе данных SQL, используя средство запроса, например Management Studio, как пользователь базы данных с разрешением VIEW DATABASE STATE . encryption_state Запросите столбец представления sys.dm_database_encryption_keys.

Отключение TDE с помощью Transact-SQL

  1. Подключитесь к базе данных с помощью имени входа, являющегося администратором или членом роли dbmanager в базе данных master.

  2. Выполните следующие инструкции, чтобы расшифровать базу данных.

    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF;
    GO
    
  3. Чтобы отслеживать ход шифрования в базе данных SQL, пользователи базы данных с разрешением VIEW DATABASE STATE могут выполнять запрос к столбцу представления sys.dm_database_encryption_keys.

Работа с защищенными базами данных TDE в базе данных SQL

Не нужно расшифровывать базы данных для операций в Azure. Настройки TDE на базе данных-источнике или главной базе данных прозрачно наследуются целевой базой данных. К ним относятся операции с участием:

  • геовосстановлением;

  • восстановление Self-Service точки во времени

  • Восстановление удаленной базы данных

  • Активная георепликация

  • Создание копии базы данных

Перемещение защищенной базы данных TDE при использовании .Bacpac Files

При экспорте защищенной базы данных TDE с помощью функции экспорта базы данных на портале базы данных SQL Azure или мастере импорта и экспорта SQL Server содержимое базы данных не шифруется. Содержимое хранится в BACPAC-файлах, которые не шифруются. Не забудьте защитить BACPAC-файлы соответствующим образом и включить TDE после завершения импорта новой базы данных.

Включение TDE с помощью EKM

См. также

Прозрачное шифрование данных (TDE)CREATE CREDENTIAL (Transact-SQL)CREATE ASYMMETRIC KEY (Transact-SQL)CREATE DATABASE ENCRYPTION KEY (Transact-SQL)ALTER DATABASE (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)