Защита Azure OpenAI с помощью azure Брандмауэр веб-приложений в Azure Front Door
Растет число предприятий, использующих API Azure OpenAI, а количество и сложность атак на веб-приложения постоянно возрастают. Для защиты API OpenAI Azure от различных атак на веб-приложения необходима строжайкая стратегия безопасности.
Azure Брандмауэр веб-приложений (WAF) — это сетевой продукт Azure, который защищает веб-приложения и API от различных 10 веб-атак OWASP, распространенных уязвимостей и уязвимостей (CVEs) и вредоносных атак ботов.
В этой статье описывается, как использовать azure Брандмауэр веб-приложений (WAF) в Azure Front Door для защиты конечных точек Azure OpenAI.
Предварительные требования
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Создание экземпляра Azure OpenAI с помощью модели gpt-35-turbo
Сначала создайте экземпляр OpenAI.
Создайте экземпляр Azure OpenAI и разверните модель gpt-35-turbo с помощью команды Создание и развертывание ресурса службы Azure OpenAI.
Определите конечную точку Azure OpenAI и ключ API.
Откройте студию Azure OpenAI и откройте параметр Чат в разделе Тестовая площадка. Используйте параметр Просмотреть код для отображения конечной точки и ключа API.
Проверка вызова Azure OpenAI с помощью Postman. Используйте конечную точку Azure OpenAPI и значения ключа API, найденные на предыдущих шагах. Используйте следующие строки кода в тексте POST:
{ "model":"gpt-35-turbo", "messages": [ { "role": "user", "content": "What is Azure OpenAI?" } ] }
В ответ на запрос POST вы получите сообщение 200 OK:
Azure OpenAI также создает ответ с помощью модели GPT.
Создание экземпляра Azure Front Door с помощью Azure WAF
Теперь используйте портал Azure для создания экземпляра Azure Front Door с помощью Azure WAF.
Создайте оптимизированный для Azure Front Door уровень "Премиум" с связанной политикой безопасности WAF в той же группе ресурсов. Используйте параметр Пользовательское создание .
Добавьте конечные точки и маршруты.
Добавьте имя узла источника. Имя узла источника —
testazureopenai.openai.azure.com
.Добавьте политику WAF.
Настройка политики WAF для защиты от уязвимостей веб-приложений и API
Включите политику WAF в режиме предотвращения и убедитесь, что включены Microsoft_DefaultRuleSet_2.1 и Microsoft_BotManagerRuleSet_1.0 .
Проверка доступа к Azure OpenAI через конечную точку Azure Front Door
Теперь проверьте конечную точку Azure Front Door.
Получите конечную точку Azure Front Door из диспетчера Front Door.
Используйте Postman для отправки запроса POST в конечную точку Azure Front Door.
Azure OpenAI также создает ответ с помощью модели GPT.
Проверка блокировки WAF атаки OWASP
Отправка запроса POST, имитирующего атаку OWASP на конечную точку Azure OpenAI. WAF блокирует вызов с помощью кода ответа 403 Forbidden .
Настройка правил ограничения IP-адресов с помощью WAF
Сведения о том, как ограничить доступ к конечной точке Azure OpenAI необходимыми IP-адресами, см. в статье Настройка правила ограничения IP-адресов с помощью WAF для Azure Front Door.
Распространенные проблемы
Ниже приведены распространенные проблемы, которые могут возникнуть при использовании Azure OpenAI с Azure Front Door и Azure WAF.
Сообщение 401: Отказано в доступе при отправке запроса POST в конечную точку Azure OpenAI.
При попытке отправить запрос POST в конечную точку Azure OpenAI сразу после ее создания вы можете получить сообщение 401: Отказано в доступе , даже если в запросе указан правильный ключ API. Эта проблема обычно решается через некоторое время без какого-либо прямого вмешательства.
При отправке запроса POST в конечную точку Azure OpenAI отображается сообщение 415: неподдерживаемый тип носителя .
При попытке отправить запрос POST в конечную точку Azure OpenAI с помощью заголовка
text/plain
Content-Type вы получите это сообщение. Обязательно обновите заголовок Content-Type доapplication/json
в разделе заголовка Postman.