Azure OpenAI beveiligen met Behulp van Azure Web Application Firewall in Azure Front Door
Er zijn steeds meer ondernemingen die gebruikmaken van Azure OpenAI-API's en het aantal en de complexiteit van beveiligingsaanvallen tegen webtoepassingen is voortdurend in ontwikkeling. Een sterke beveiligingsstrategie is nodig om Azure OpenAI-API's te beschermen tegen verschillende aanvallen op webtoepassingen.
Azure Web Application Firewall (WAF) is een Azure-netwerkproduct dat webtoepassingen en API's beveiligt tegen verschillende OWASP top 10 webaanvallen, Common Vulnerabilities and Exposures (CVE's) en kwaadaardige botaanvallen.
In dit artikel wordt beschreven hoe u Azure Web Application Firewall (WAF) in Azure Front Door gebruikt om Azure OpenAI-eindpunten te beveiligen.
Vereisten
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Een Azure OpenAI-exemplaar maken met behulp van het gpt-35-turbo-model
Maak eerst een OpenAI-exemplaar.
Maak een Azure OpenAI-exemplaar en implementeer een gpt-35-turbomodel met behulp van een Azure OpenAI Service-resource maken en implementeren.
Identificeer het Azure OpenAI-eindpunt en de API-sleutel.
Open de Azure OpenAI Studio en open de chatoptie onder Playground. Gebruik de optie Code weergeven om het eindpunt en de API-sleutel weer te geven.
Valideer de Azure OpenAI-aanroep met behulp van uw favoriete API-testmethode, zoals Visual Studio of Slapeloosheid. Gebruik het Azure OpenAPI-eindpunt en de API-sleutelwaarden die u in de vorige stappen hebt gevonden. Gebruik deze regels code in de POST-hoofdtekst:
{ "model":"gpt-35-turbo", "messages": [ { "role": "user", "content": "What is Azure OpenAI?" } ] }
Als reactie op de POST ontvangt u een 200 OK:
De Azure OpenAI genereert ook een antwoord met behulp van het GPT-model.
Een Azure Front Door-exemplaar maken met Azure WAF
Gebruik nu Azure Portal om een Azure Front Door-exemplaar te maken met Azure WAF.
Maak een voor Azure Front Door Premium geoptimaliseerde laag met een gekoppeld WAF-beveiligingsbeleid in dezelfde resourcegroep. Gebruik de optie Aangepast maken .
Voeg eindpunten en routes toe.
Voeg de hostnaam van de oorsprong toe: de hostnaam van de oorsprong is
testazureopenai.openai.azure.com
.Voeg het WAF-beleid toe.
Een WAF-beleid configureren om te beschermen tegen beveiligingsproblemen met webtoepassingen en API's
Schakel het WAF-beleid in de preventiemodus in en zorg ervoor dat Microsoft_DefaultRuleSet_2.1 en Microsoft_BotManagerRuleSet_1.0 zijn ingeschakeld.
Toegang tot Azure OpenAI verifiëren via Azure Front Door-eindpunt
Controleer nu uw Azure Front Door-eindpunt.
Haal het Azure Front Door-eindpunt op uit Front Door Manager.
Gebruik uw favoriete API-testmethode, zoals Visual Studio of Slapeloosheid , om een POST-aanvraag naar het Azure Front Door-eindpunt te verzenden.
Azure OpenAI genereert ook een antwoord met behulp van het GPT-model.
WAF blokkeert een OWASP-aanval
Verzend een POST-aanvraag die een OWASP-aanval simuleert op het Azure OpenAI-eindpunt. WAF blokkeert de aanroep met een antwoordcode 403 Verboden.
IP-beperkingsregels configureren met WAF
Zie Een IP-beperkingsregel configureren met een WAF voor Azure Front Door om de toegang tot het Azure OpenAI-eindpunt te beperken tot de vereiste IP-adressen.
Algemene problemen
De volgende items zijn veelvoorkomende problemen die kunnen optreden bij het gebruik van Azure OpenAI met Azure Front Door en Azure WAF.
U krijgt een bericht 401: Toegang geweigerd wanneer u een POST-aanvraag verzendt naar uw Azure OpenAI-eindpunt.
Als u een POST-aanvraag onmiddellijk na het maken probeert te verzenden naar uw Azure OpenAI-eindpunt, ontvangt u mogelijk een bericht 401: Toegang geweigerd , zelfs als u de juiste API-sleutel in uw aanvraag hebt. Dit probleem wordt meestal na enige tijd opgelost zonder directe tussenkomst.
U krijgt een bericht 415: Niet-ondersteund mediatype wanneer u een POST-aanvraag verzendt naar uw Azure OpenAI-eindpunt.
Als u probeert een POST-aanvraag naar uw Azure OpenAI-eindpunt te verzenden met de header
text/plain
Content-Type, ontvangt u dit bericht. Zorg ervoor dat u uw Content-Type-header bijwerkt inapplication/json
de koptekstsectie in uw test.