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


Управление правилами брандмауэра для Базы данных Azure для MySQL с помощью Azure CLI

Гибкий сервер Базы данных Azure для MySQL поддерживает два взаимоисключающих метода подключения к гибкому серверу. Имеется две возможности:

  • Открытый доступ (разрешенные IP-адреса)
  • Частный доступ (интеграция с виртуальной сетью)

В этой статье описано, как создать гибкий экземпляр сервера Базы данных Azure для MySQL с общедоступным доступом (разрешенными IP-адресами) с помощью Azure CLI. В этой статье представлен обзор команд Azure CLI, которые можно использовать для создания, обновления, удаления, перечисления и отображения правил брандмауэра после создания сервера. Используя общедоступный доступ (разрешенные IP-адреса), вы ограничиваете подключения к гибкому экземпляру сервера Базы данных Azure для MySQL только разрешенным IP-адресам. Необходимо разрешить IP-адреса клиента в правилах брандмауэра. Дополнительные сведения см. в разделе "Общедоступный доступ" (разрешенные IP-адреса). Вы можете определить правила брандмауэра во время создания сервера (рекомендуется) или добавить их позже.

Запуск Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Он содержит стандартные средства Azure, предварительно установленные и настроенные для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, выберите Попробовать в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/bash. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить его.

Если вы предпочитаете устанавливать и использовать интерфейс командной строки локально, для этого краткого руководства требуется Azure CLI версии 2.0 или более поздней. Найдите версию с помощью az --version. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".

Предпосылки

Выполните вход в учетную запись с помощью команды az login. Обратите внимание на свойство идентификатора , которое ссылается на идентификатор подписки для учетной записи Azure.

az login

Выберите определенную подписку в учетной записи с помощью команды az account set . Используйте значение идентификатора из выходных данных az login в качестве значения аргумента подписки в команде. Если вы используете несколько подписок, выберите соответствующую, в которой за ресурс будет взиматься плата. Чтобы отобразить все свои подписки, воспользуйтесь командой az account list.

az account set --subscription <subscription id>

Создание правила брандмауэра для гибкого сервера с помощью Azure CLI

az mysql flexible-server --public access Используйте команду, чтобы создать гибкий экземпляр сервера Базы данных Azure для MySQL с общедоступным доступом (разрешенными IP-адресами) и настроить правила брандмауэра при создании сервера. Используйте переключатель - public-access , чтобы предоставить разрешенные IP-адреса, которые могут подключаться к серверу. Укажите один IP-адрес или диапазон IP-адресов для включения в список разрешенных адресов. Диапазон IP-адресов должен быть разделен дефисом и не может содержать пробелы. В следующих примерах показаны различные варианты создания гибкого экземпляра сервера Базы данных Azure для MySQL с помощью Azure CLI.

Полный список настраиваемых параметров CLI см. в справочной документации по Azure CLI. Например, можно дополнительно указать группу ресурсов в следующих командах.

Примеры

В следующих примерах показаны различные способы настройки правил брандмауэра во время создания сервера.

В каждом примере показано, как указать IP-адреса с помощью --public-access параметра с различными форматами (один IP-адрес, диапазон IP-адресов, службы Azure или все IP-адреса).

  • Создайте гибкий экземпляр сервера Базы данных Azure для MySQL с общедоступным доступом и добавьте IP-адрес клиента для доступа к серверу.

    az mysql flexible-server create --public-access <my_client_ip>
    
  • Создайте гибкий экземпляр сервера Базы данных Azure для MySQL с открытым доступом и добавьте диапазон IP-адресов для доступа к этому серверу.

    az mysql flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • Создайте гибкий экземпляр сервера Базы данных Azure для MySQL с общедоступным доступом и разрешите приложениям из IP-адресов Azure подключаться к серверу.

    az mysql flexible-server create --public-access 0.0.0.0
    

    Это важно

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

  • Создайте гибкий экземпляр сервера Базы данных Azure для MySQL с общедоступным доступом и разрешите все IP-адреса.

    az mysql flexible-server create --public-access all
    

    Предупреждение

    Эта команда создает правило брандмауэра с начальным IP-адресом=0.0.0.0, конечным IP-адресом=255.255.255.255, а IP-адреса не блокируются. Любой хост в Интернете может получить доступ к этому серверу. Используйте это правило только временно и только на тестовых серверах, не содержащих конфиденциальные данные.

  • Создайте гибкий экземпляр сервера Базы данных Azure для MySQL с общедоступным доступом и без IP-адреса.

    az mysql flexible-server create --public-access none
    

    Замечание

    Не создавайте сервер без правил брандмауэра. Если вы не добавляете правила брандмауэра, ни один клиент не сможет подключиться к серверу.

Создание правила брандмауэра после создания сервера и управление ими

Используйте команду az mysql flexible-server firewall-rule в Azure CLI для создания, удаления, перечисления, отображения и обновления правил брандмауэра.

Команды:

  • create: создание гибкого правила брандмауэра сервера Базы данных Azure для MySQL.
  • список правил брандмауэра гибкого сервера базы данных Azure для MySQL.
  • обновление. Обновление правила брандмауэра гибкого сервера базы данных Azure для MySQL.
  • show: показать детали правила брандмауэра гибкого сервера базы данных Azure для MySQL.
  • delete: Удалите правило брандмауэра гибкого сервера базы данных Azure для MySQL.

Полный список настраиваемых параметров CLI см. в справочной документации по Azure CLI. Например, в следующих командах можно дополнительно указать группу ресурсов.

Создание правила брандмауэра

az mysql flexible-server firewall-rule create Используйте команду для создания нового правила брандмауэра на сервере. Чтобы разрешить доступ к диапазону IP-адресов, укажите IP-адрес в качестве начальных и конечных IP-адресов, как в этом примере.

az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15

Чтобы разрешить доступ к одному IP-адресу, укажите один IP-адрес, как в этом примере.

az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 1.1.1.1

Чтобы разрешить приложениям из IP-адресов Azure подключаться к гибкому экземпляру сервера Базы данных Azure для MySQL, укажите IP-адрес в качестве начального IP-адреса 0.0.0.0 , как в этом примере.

az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 0.0.0.0

Это важно

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

При успешном выполнении каждая команда создает сведения о правиле брандмауэра, созданном в формате JSON (по умолчанию). Если произошел сбой, результат отображает текст сообщения об ошибке.

Список правил брандмауэра

az mysql flexible-server firewall-rule list Используйте команду для перечисления существующих правил брандмауэра сервера на сервере. Укажите имя сервера в ключе -name.

az mysql flexible-server firewall-rule list --name mydemoserver

В выходных данных перечислены правила в формате JSON (по умолчанию). Для вывода результатов в более читаемом формате таблицы можно использовать переключатель -output table.

az mysql flexible-server firewall-rule list --name mydemoserver --output table

Обновление правила брандмауэра

az mysql flexible-server firewall-rule update Используйте команду для обновления существующего правила брандмауэра на сервере. Укажите имя существующего правила брандмауэра в качестве входных данных, а также начальный IP-адрес и атрибуты конечного IP-адреса для обновления.

az mysql flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

Если команда выполнена успешно, выходные данные команды содержат сведения о правиле брандмауэра, обновленном в формате JSON (по умолчанию). Если команда завершается ошибкой, выходные данные отображают текст сообщения об ошибке.

Замечание

Если правило брандмауэра не существует, команда обновления создает правило.

Отображение сведений о правиле брандмауэра

az mysql flexible-server firewall-rule show Используйте команду, чтобы отобразить сведения о существующем правиле брандмауэра с сервера. Укажите имя существующего правила брандмауэра в качестве входных данных.

az mysql flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1

Если команда выполнена успешно, выходные данные команды содержат сведения о правиле брандмауэра, указанном в формате JSON (по умолчанию). Если команда завершается ошибкой, выходные данные отображают текст сообщения об ошибке.

Удаление правила брандмауэра

az mysql flexible-server firewall-rule delete Используйте команду для удаления существующего правила брандмауэра с сервера. Укажите имя текущего правила брандмауэра.

az mysql flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1

Если команда выполнена успешно, выходные данные отсутствуют. Если команда завершается ошибкой, отображается текст сообщения об ошибке.