Общие сведения о шифровании в MySQL

Завершено

Передаваемые данные

База данных Azure для MySQL поддерживает зашифрованные подключения с помощью TLS 1.2. Этот протокол включен по умолчанию и управляется параметром сервера tls_version . Этот параметр позволяет применить минимальную версию TLS, разрешенную сервером. Можно выбрать несколько версий, например, TLS 1.2 и 1.3. При изменении этого параметра необходимо перезапустить сервер, чтобы применить изменение.

Снимок экрана: страница tls_version параметра сервера.

Если клиентское приложение не поддерживает зашифрованные подключения, необходимо отключить зашифрованные подключения в База данных Azure для MySQL. В портал Azure перейдите к серверу MySQL и в разделе "Параметры" выберите параметры сервера. В поле поиска введите require_secure_transport. Этот параметр определяет, должны ли клиентские подключения использовать безопасное подключение, то есть SSL по TCP/IP, или подключения, использующие файл сокета в Unix или общую память в Windows. Если клиентское приложение не поддерживает зашифрованные подключения, задайте для require_secure_transport значение OFF.

Примечание.

Если для параметра require_secure_transport значение OFF, но клиент подключается с зашифрованным подключением, он по-прежнему будет принят.

Чтобы использовать зашифрованные подключения с клиентскими приложениями, загрузите открытый SSL-сертификат на портале Azure. Перейдите к серверу MySQL и в меню слева выберите "Сеть". В верхнем меню выберите Скачать SSL-сертификат. Чтобы разрешить приложениям безопасно подключаться к базе данных по протоколу SSL, сохраните файл сертификата в локальной среде или клиентской среде, в которой размещено приложение.

Неактивные данные

Шифрование неактивных данных поддерживается в подсистеме хранилища InnoDB. Шифрование устанавливается на уровне табличного пространства, и InnoDB поддерживает шифрование для следующих пространств таблиц: file-per-table, general и system. Для MySQL версии 8.0 убедитесь, что параметр сервера default_table_encryption имеет значение ON (по умолчанию он отключен ). Для зашифрованной таблицы можно также зашифровать журнал повтора. Эта функция отключена по умолчанию.

Чтобы зашифровать таблицу в файле для каждого табличного пространства:

CREATE TABLE myEncryptedTable (myID INT) ENCRYPTION = 'Y';

При изменении таблицы необходимо указать предложение шифрования:

ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';

База данных Azure для MySQL поддерживает шифрование неактивных данных по умолчанию с помощью управляемых ключей Майкрософт. Данные и резервные копии всегда зашифрованы на диске. Этот параметр невозможно отключить.