Настройка сетевых функций и функций безопасности
Ключевые функции сети и безопасности в База данных Azure для MySQL. Гибкий сервер включает управление доступом, подключение, поддержку идентификатора Microsoft Entra, централизованную платформу для управления удостоверениями, ролями и разрешениями. Гибкие серверы MySQL также шифруют все данные, передаваемые по умолчанию, и позволяют шифровать неактивных данных с помощью ключей, управляемых клиентом Или Azure.
Сеть
Настройка доступа к сети
При создании гибкого сервера MySQL можно выбрать частный доступ через azure виртуальная сеть или общедоступный доступ для разрешенных IP-адресов с необязательной частной конечной точкой. После завершения раздела "Основные сведения" нажмите кнопку "Далее: сеть", а затем выберите общедоступный доступ и частную конечную точку или частный доступ:
Если выбрать общедоступную конечную точку и частную конечную точку, можно выбрать, следует ли предоставлять базу данных в Интернете. Если разрешить общедоступный доступ не выбран, база данных доступна только частными конечными точками и не использует общедоступный IP-адрес. Чтобы сохранить общедоступный доступ к Интернету, выберите "Разрешить общедоступный доступ ", а затем в разделе правил брандмауэра добавьте IP-адреса или диапазоны в список разрешений. Чтобы добавить все службы Azure в сеть Azure в список разрешений, выберите "Разрешить общедоступный доступ" из любой службы Azure в Azure на этом сервере.
Помимо общедоступного доступа можно настроить частную конечную точку или вместо нее. Так как Wingtip Toys планирует использовать VPN между локальной сетью и Azure, мы пропустим частную конечную точку. Дополнительные сведения о настройке приватного канала см. в справочной документации.
Чтобы разрешить подключения только из виртуальная сеть, выберите частный доступ, а затем выберите соответствующую подписку, виртуальную сеть и подсеть. Если вы не выберете виртуальную сеть и подсеть, будет создана новая сеть и подсеть.
Наконец, необходимо настроить интеграцию Частная зона DNS для подключения с полным доменным именем вместо IP-адреса, который может измениться. Выберите существующую зону DNS или позвольте Azure создать новую для вас.
Настройка шифрования при передаче
По умолчанию гибкие серверы MySQL принимают только зашифрованные подключения с помощью TLS (transport Layer Security) версии 1.2. Если вы разрабатываете новые приложения, поддерживающие TLS 1.3, рекомендуется поддерживать или даже применять более новую версию. Для этого выполните следующие действия:
- В портал Azure выберите гибкий сервер MySQL, к которому требуется подключиться с TLS 1.3.
- В разделе параметров сервера введите tls_version в строке поиска в верхней или всех фильтрах.
- В раскрывающемся списке VALUE выберите TLSv1.2 и/или TLSv1.3 и нажмите кнопку "Сохранить".
Кроме того, можно разрешить незашифрованные подключения, задав значение require_secure_transport
параметра отключенным, хотя это не рекомендуется, если это не требуется.
Microsoft Defender для облака
Microsoft Defender для облака — это экономичный способ обнаружения и оповещения при аномальном или подозрительном действии базы данных. Чтобы включить его, выполните следующие действия.
В портал Azure выберите гибкий сервер MySQL, который вы хотите защитить с помощью Defender.
В разделе Microsoft Defender для облака выберите "Включить".
Дополнительные сведения о Defender, включая настройку оповещений, см. в справочной документации.
Включение и подключение с помощью проверки подлинности идентификатора Microsoft Entra
Прежде чем начать, вам потребуется правильно настроенное управляемое пользователем удостоверение (UMI). Удостоверение должно иметь роль читателя каталогов или эти отдельные разрешения: User.Read.All, GroupMember.Read.All и Application.Read.ALL. Дополнительные сведения о добавлении этих разрешений см. в этом руководстве.
Чтобы включить проверку подлинности идентификатора Microsoft Entra для гибкого сервера База данных Azure для MySQL, выполните следующие действия.
В портал Azure выберите гибкий сервер MySQL, к которому требуется подключиться с помощью идентификатора Microsoft Entra.
В разделе "Безопасность" выберите "Проверка подлинности".
В разделе " Назначение доступа" выберите только проверку подлинности Microsoft Entra (отключает собственный вход пользователя и пароля MySQL) или MySQL и Проверку подлинности Microsoft Entra (разрешает собственные имена входа MySQL и Microsoft Entra).
В разделе " Выбор удостоверения" выберите UMI, упомянутый ранее в этом уроке.
Выберите пользователя или группу Microsoft Entra, чтобы быть администратором Microsoft Entra. Если выбрать группу, все члены группы являются администраторами. У вас может быть только один пользователь или группа администратора, а другой — замена предыдущего администратора.
С включенным идентификатором Записи Майкрософт теперь можно подключиться к гибкому серверу MySQL с помощью проверки подлинности Идентификатора Microsoft Entra, выполнив следующие действия.
Проверка подлинности оболочки с помощью Azure. Если вы используете Azure Cloud Shell, удостоверение уже настроено в сеансе, поэтому вход не требуется. Если вы используете терминал без проверки подлинности, выполните следующие команды:
az login az account set --subscription <subscription_id>
В оболочке с проверкой подлинности выполните следующую команду, чтобы получить маркер доступа:
az account get-access-token --resource-type oss-rdbms
Чтобы войти, скопируйте маркер доступа и используйте его в качестве пароля. Чтобы передать маркер доступа клиенту mysql непосредственно в Linux, выполните следующую команду:
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`
При использовании PowerShell воспользуйтесь следующей командой:
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)
При использовании других клиентов, таких как MySQL Workbench, просто вставьте маркер доступа в поле пароля.
Шифрование неактивных данных с помощью ключей, управляемых клиентом
Вы можете настроить шифрование неактивных данных с помощью портал Azure или с помощью Azure CLI. Однако перед включением шифрования с помощью ключей, управляемых клиентом, необходимо убедиться, что выполнены следующие предварительные требования:
Управляемое пользователем удостоверение (UMI). Для доступа к хранилищу ключей требуется UMI для базы данных.
Разрешения. Настройте доступ на основе ролей (IAM) или политику доступа к хранилищу и предоставьте следующие разрешения для UMI: Get, List, Wrap key и Unwrap key.
Включите [обратимое удаление](/azure/key-vault/general/soft-delete-overview" /l "обратимое удаление-поведение"). Случайно потеря доступа к ключу шифрования может привести к постоянной потере данных. Включите обратимое удаление в качестве слоя защиты. При использовании портал Azure для создания нового хранилища ключей обратимое удаление включается по умолчанию.
Если вы знаете имя хранилища, но не идентификатор, его можно найти, выполнив следующую команду:
az keyvault show --name $KEY_VAULT_NAME
Чтобы включить обратимое удаление в существующем хранилище, выполните следующую команду:
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
Включите защиту очистки. Обратимый удаленный ключ по-прежнему может быть неправильно удален до конца срока хранения из-за ошибки пользователя или кода. Использование защиты от очистки задает период хранения для удаленных объектов до их окончательного удаления.
Теперь можно использовать портал Azure или Azure CLI для настройки ключа, управляемого клиентом, для шифрования неактивных данных.
Если вы используете портал Azure:
Перейдите к гибкому экземпляру сервера, а затем в разделе "Безопасность" выберите "Шифрование данных".
В разделе "Шифрование данных" нажмите кнопку "+ Выбрать". В диалоговом окне выбора управляемого удостоверения, назначаемого пользователем, выберите назначенное пользователем управляемое удостоверение, определенное в предварительных требованиях, выберите удостоверение и нажмите кнопку "Добавить".
Затем выберите идентификатор ключа и введите идентификатор или в диалоговом окне "Выбор ключа " выберите ключ, указав идентификатор или выбрав хранилище ключей и ключ.
Выберите Сохранить.
Если вы используете Azure CLI, выполните следующую команду:
az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY