Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: Vývojář | Základní | Základní v2 | Standardní | Standardní v2 | Premium | Premium v2
Použitím podpory MCP serverů v API Management můžete zpřístupnit a spravovat přístup k MCP serverům a jejich nástrojům. Tento článek popisuje, jak zabezpečit přístup k serverům MCP spravovaným ve službě API Management, včetně serverů MCP vystavených ze spravovaných rozhraní REST API a stávajících serverů MCP hostovaných mimo službu API Management.
Můžete zabezpečit příchozí přístup k serveru MCP (z klienta MCP do služby API Management) i odchozí přístup (ze služby API Management na server MCP).
Zabezpečený příchozí přístup
Ověřování na základě klíčů
Pokud je MCP server chráněn předplatitelským klíčem API Management vloženým v hlavičce Ocp-Apim-Subscription-Key , MCP klienti mohou klíč prezentovat v příchozích požadavcích a API Management klíč ověřuje. Například ve Visual Studio Code můžete přidat headers sekci do konfigurace MCP serveru, která zahrne předplatitelský klíč do hlaviček požadavků:
{
"name": "My MCP Server",
"type": "remote",
"url": "https://my-api-management-instance.azure-api.net/my-mcp-server",
"transport": "streamable-http",
"headers": {
"Ocp-Apim-Subscription-Key": "<subscription-key>"
}
}
Poznámka:
Bezpečně spravujte klíče předplatného pomocí nastavení pracovního prostoru Visual Studio Code nebo zabezpečených vstupů.
Ověřování na základě tokenů (OAuth 2.1 s ID Microsoft Entra)
MCP klienti mohou prezentovat OAuth tokeny nebo JWT vydané Microsoft Entra ID pomocí hlavičky Authorization a ověřené API Managementem.
K ověření tokenů ID Microsoft Entra použijte například zásadu validate-azure-ad-token :
<validate-azure-ad-token tenant-id="your-entra-tenant-id" header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<client-application-ids>
<application-id>your-client-application-id</application-id>
</client-application-ids>
</validate-azure-ad-token>
Předávání tokenů do back-endu
Hlavičky požadavků jsou automaticky přeposílány (s určitými výjimkami) do volání MCP nástrojů. Tato funkce zjednodušuje integraci s downstream API, která spoléhají na hlavičky pro směrování, kontext nebo autentizaci.
Pokud potřebujete explicitně přesměrovat hlavičku Authorization k ověření příchozích požadavků, použijte jeden z následujících přístupů:
Explicitně definujte
Authorizationjako povinnou hlavičku v nastavení rozhraní API a předejte hlavičku v zásaděOutbound.Příklad fragmentu zásad:
<!-- Forward Authorization header to backend --> <set-header name="Authorization" exists-action="override"> <value>@(context.Request.Headers.GetValueOrDefault("Authorization"))</value> </set-header>K bezpečnému předávání tokenu použijte správce přihlašovacích údajů a zásady služby API Management (
get-authorization-context,set-header). Pro více informací viz Zabezpečený odchozí přístup.
Další možnosti a ukázky příchozí autorizace najdete v tématech:
Autorizace serveru MCP s využitím ukázky PRM (Protected Resource Metadata)
Testovací prostředí: MCP s autorizací chráněných metadat prostředků (PRM)
Zabezpečení vzdálených serverů MCP pomocí služby Azure API Management (experimentální)
Zabezpečený odchozí přístup
Použijte správce přihlašovacích údajů API Management k bezpečnému vkládání tokenů OAuth 2.0 do požadavků backendového API, které odesílají nástroje serveru MCP.
Kroky pro konfiguraci odchozího přístupu založeného na OAuth 2.0
Krok 1: Zaregistrujte aplikaci ve zprostředkovateli identity.
Krok 2: Vytvořte zprostředkovatele přihlašovacích údajů ve službě API Management propojené s zprostředkovatelem identity.
Krok 3: Nakonfigurujte připojení v rámci správce přihlašovacích údajů.
Krok 4: Použijte zásady služby API Management k dynamickému načítání a připojování přihlašovacích údajů.
Například následující zásada načte přístupový token ze správce přihlašovacích údajů a nastaví ho v Authorization hlavičce odchozího požadavku:
<!-- Add to inbound policy. -->
<get-authorization-context
provider-id="your-credential-provider-id"
authorization-id="auth-01"
context-variable-name="auth-context"
identity-type="managed"
ignore-error="false" />
<!-- Attach the token to the backend call -->
<set-header name="Authorization" exists-action="override">
<value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
</set-header>
Podrobný průvodce voláním ukázkového back-endu pomocí přihlašovacích údajů vygenerovaných ve správci přihlašovacích údajů najdete v tématu Konfigurace správce přihlašovacích údajů – GitHub.