Skills
Chapter 4 of 37
Configure Azure API Management as an AI Gateway for AI models, MCP tools, and agents.
1 minute · 227 words · 11 sections
Configure Azure API Management (APIM) as an AI Gateway for governing AI models, MCP tools, and agents.
To deploy APIM, use the azure-prepare skill. See APIM deployment guide (opens in a new tab).
| Category | Triggers |
|---|---|
| Model Governance | “semantic caching”, “token limits”, “load balance AI”, “track token usage” |
| Tool Governance | “rate limit MCP”, “protect my tools”, “configure my tool”, “convert API to MCP” |
| Agent Governance | “content safety”, “jailbreak detection”, “filter harmful content” |
| Configuration | “add Azure OpenAI backend”, “configure my model”, “add AI Foundry model” |
| Testing | “test AI gateway”, “call OpenAI through gateway” |
| Policy | Purpose | Details |
|---|---|---|
azure-openai-token-limit | Cost control | Model Policies (opens in a new tab) |
azure-openai-semantic-cache-lookup/store | 60-80% cost savings | Model Policies (opens in a new tab) |
azure-openai-emit-token-metric | Observability | Model Policies (opens in a new tab) |
llm-content-safety | Safety & compliance | Agent Policies (opens in a new tab) |
rate-limit-by-key | MCP/tool protection | Tool Policies (opens in a new tab) |
# Get gateway URL
az apim show --name <apim-name> --resource-group <rg> --query "gatewayUrl" -o tsv
# List backends (AI models)
az apim backend list --service-name <apim-name> --resource-group <rg> \
--query "[].{id:name, url:url}" -o table
# Get subscription key
az apim subscription keys list \
--service-name <apim-name> --resource-group <rg> --subscription-id <sub-id>GATEWAY_URL=$(az apim show --name <apim-name> --resource-group <rg> --query "gatewayUrl" -o tsv)
curl -X POST "${GATEWAY_URL}/openai/deployments/<deployment>/chat/completions?api-version=2024-02-01" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <key>" \
-d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'See references/patterns.md (opens in a new tab) for full steps.
# Discover AI resources
az cognitiveservices account list --query "[?kind=='OpenAI']" -o table
# Create backend
az apim backend create --service-name <apim> --resource-group <rg> \
--backend-id openai-backend --protocol http --url "https://<aoai>.openai.azure.com/openai"
# Grant access (managed identity)
az role assignment create --assignee <apim-principal-id> \
--role "Cognitive Services User" --scope <aoai-resource-id>Recommended policy order in <inbound>:
See references/policies.md (opens in a new tab) for complete example.
| Issue | Solution |
|---|---|
| Token limit 429 | Increase tokens-per-minute or add load balancing |
| No cache hits | Lower score-threshold to 0.7 |
| Content false positives | Increase category thresholds (5-6) |
| Backend auth 401 | Grant APIM “Cognitive Services User” role |
See references/troubleshooting.md (opens in a new tab) for details.
Install this repository
npx skills add microsoft/azure-skills/plugin marketplace add microsoft/azure-skillsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Configure Azure API Management as an AI Gateway for AI models, MCP tools, and agents. WHEN: semantic caching, token limit, content safety, load balancing, AI model governance, MCP rate limiting, jailbreak detection, add Azure OpenAI backend, add AI Foundry model, test AI gateway, LLM policies, configure AI backend, token metrics, AI cost control, convert API to MCP, import OpenAPI to gateway.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
skills/azure-aigateway/SKILL.mdmain, last pushed 7 August 2026.SKILL.md, not by matching a directory convention. 6 distinct layouts observed: skills/*/SKILL.md, skills/azure-app-onboard/*/SKILL.md, skills/azure-kubernetes/*/SKILL.md, skills/microsoft-foundry/*/SKILL.md, skills/microsoft-foundry/models/deploy-model/*/SKILL.md, skills/microsoft-foundry/models/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Microsoft, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./microsoft/azure-skills.md, and each chapter at its own .md URL.8 files · 35 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of chapter 4.
Documentation the agent loads on demand, rather than up front.