Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Deweloper | Podstawowa | Podstawowa wersja 2 | Standardowa | Standardowa wersja 2 | Premium | Premium wersja 2
Dzięki obsłudze serwera MCP w usłudze API Management można uwidocznić i zarządzać dostępem do serwerów MCP i ich narzędzi. W tym artykule opisano sposób zabezpieczania dostępu do serwerów MCP zarządzanych w usłudze API Management, w tym zarówno serwerów MCP udostępnianych z zarządzanych interfejsów API REST, jak i istniejących serwerów MCP hostowanych poza usługą API Management.
Możesz zabezpieczyć dostęp przychodzący do serwera MCP (z klienta MCP do usługi API Management) i dostęp wychodzący (z usługi API Management do serwera MCP).
Bezpieczny dostęp przychodzący
Uwierzytelnianie oparte na kluczach
Jeśli serwer MCP jest chroniony za pomocą klucza subskrypcji usługi API Management przekazanego w nagłówku Ocp-Apim-Subscription-Key , klienci MCP mogą przedstawić klucz w żądaniach przychodzących, a serwer MCP może zweryfikować klucz. Na przykład w programie Visual Studio Code możesz dodać sekcję headers do konfiguracji serwera MCP, aby wymagać klucza subskrypcji w nagłówkach żądania:
{
"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>"
}
}
Uwaga / Notatka
Bezpieczne zarządzanie kluczami subskrypcji przy użyciu ustawień obszaru roboczego programu Visual Studio Code lub bezpiecznych danych wejściowych.
Uwierzytelnianie oparte na tokenach (OAuth 2.1 z identyfikatorem Entra firmy Microsoft)
Klienci MCP mogą prezentować tokeny OAuth lub JWTs wystawione przez identyfikator entra firmy Microsoft przy użyciu nagłówka i weryfikowane przez usługę Authorization API Management.
Na przykład użyj zasad validate-azure-ad-token, aby zweryfikować tokeny identyfikatora Entra firmy Microsoft:
<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>
Przekazywanie tokenów do zaplecza
Nagłówki żądań są automatycznie przekazywane (z pewnymi wykluczeniami) do wywołań narzędzi MCP, upraszczając integrację z podrzędnymi interfejsami API, które opierają się na nagłówkach na potrzeby routingu, kontekstu lub uwierzytelniania.
Jeśli potrzebujesz jawnego przekazywania nagłówka Authorization w celu zweryfikowania żądań przychodzących, możesz użyć jednej z następujących metod:
Jawnie zdefiniuj
Authorizationjako wymagany nagłówek w ustawieniach interfejsu API i przekaż nagłówek wOutboundzasadach.Przykładowy fragment kodu zasad:
<!-- Forward Authorization header to backend --> <set-header name="Authorization" exists-action="override"> <value>@(context.Request.Headers.GetValueOrDefault("Authorization"))</value> </set-header>Użyj menedżera poświadczeń i zasad usługi API Management (
get-authorization-context,set-header), aby bezpiecznie przekazać token. Aby uzyskać szczegółowe informacje, zobacz Zabezpieczanie dostępu wychodzącego .
Aby uzyskać więcej opcji autoryzacji dla ruchu przychodzącego i przykładów, zobacz:
Przykład autoryzacji serwera MCP z chronionymi metadanymi zasobów (PRM)
Zabezpieczanie zdalnych serwerów MCP przy użyciu usługi Azure API Management (eksperymentalne)
Zabezpieczanie dostępu wychodzącego
Użyj menedżera poświadczeń usługi API Management, aby bezpiecznie wstrzyknąć tokeny OAuth 2.0 dla żądań interfejsu API zaplecza wysyłanych przez narzędzia serwera MCP.
Kroki konfigurowania dostępu wychodzącego opartego na protokole OAuth 2
Krok 1: Zarejestruj aplikację u dostawcy tożsamości.
Krok 2. Utwórz dostawcę poświadczeń w usłudze API Management połączonego z dostawcą tożsamości.
Krok 3: Konfigurowanie połączeń w menedżerze poświadczeń.
Krok 4: Stosowanie zasad usługi API Management w celu dynamicznego pobierania i dołączania poświadczeń.
Na przykład następujące zasady pobiera token dostępu z menedżera poświadczeń i ustawia je w Authorization nagłówku żądania wychodzącego:
<!-- 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>
Aby zapoznać się z przewodnikiem krok po kroku, aby wywołać przykładowe zaplecze przy użyciu poświadczeń wygenerowanych w menedżerze poświadczeń, zobacz Konfigurowanie menedżera poświadczeń — GitHub.