Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du skyddar din MCP-server (Model Context Protocol) som finns i Azure App Service med hjälp av Microsoft Entra-autentisering. Genom att aktivera autentisering ser du till att endast användare som autentiseras med Microsoft Entra kan komma åt mcp-servern via Copilot-agentläget i Visual Studio Code.
Andra autentiseringsmetoder och allmänna säkerhetsbegrepp för MCP-servrar finns i Skydda en modellkontextprotokollserver i Azure App Service.
Förutsättningar
En App Service-app som är värd för en MCP-server. Om du behöver skapa en kan du läsa någon av följande handledningar:
- Integrera en App Service-app som en MCP-server för GitHub Copilot Chat (.NET)
- Integrera en App Service-app som en MCP-server för GitHub Copilot Chat (Java)
- Integrera en App Service-app som en MCP-server för GitHub Copilot Chat (Python)
- Integrera en App Service-app som en MCP-server för GitHub Copilot Chat (Node.js)
Aktivera Microsoft Entra-autentisering
I Azure-portalen navigerar du till din App Service-app.
I den vänstra menyn väljer du Inställningar>Autentisering och sedan Lägg till identitetsprovider.
På sidan Lägg till en identitetsprovider väljer du Microsoft som identitetsprovider.
I autentiseringsinställningar för App Service, väljer du för utgångsdatum för klienthemlighet en tidsperiod (till exempel 6 månader).
Acceptera alla andra standardvärden och välj Lägg till för att skapa identitetsprovidern.
Detta skapar en ny appregistrering i Microsoft Entra-ID med en klienthemlighet och konfigurerar din App Service-app att använda den för autentisering.
Auktorisera Visual Studio Code i App Service-autentisering
När du har aktiverat autentisering måste du auktorisera Visual Studio Code för att få åtkomst till MCP-servern.
På sidan Autentisering i din App Service-app går du till Identitetsprovider och väljer Redigera (pennikonen) bredvid den Microsoft-provider som du skapade.
På sidan Redigera identitetsprovider går du till Ytterligare kontroller>Krav för klientprogram och väljer Tillåt begäranden från specifika klientprogram.
Välj pennwidgeten för att redigera de tillåtna programmen.
I fältet Tillåtna klientprogram lägger du till Visual Studio Code-klient-ID:t:
aebc6443-996d-45c2-90f0-388ff96faa56.Välj OK och välj sedan Spara.
Auktorisera Visual Studio Code i appregistreringen
Därefter måste du konfigurera appregistreringen så att api:et exponeras för Visual Studio Code.
Gå tillbaka till sidan Autentisering i din App Service-app.
Välj Microsoft-providern i kolumnen Identitetsprovider för att öppna appregistreringssidan.
På appregistreringssidan väljer du Hantera Exponera>ett API på den vänstra menyn.
Under Auktoriserade klientprogram väljer du Lägg till ett klientprogram.
I fältet Klient-ID anger du Visual Studio Code-klient-ID:t:
aebc6443-996d-45c2-90f0-388ff96faa56.Markera kryssrutan bredvid omfånget user_impersonation för att auktorisera det här omfånget.
Välj Lägg till program.
Under rubriken Omfång som definieras av det här API:et, leta upp och kopiera det fullständiga omfångsvärdet. Det bör se ut som
api://<app-registration-app-id>/user_impersonation.Du behöver det här omfångsvärdet i nästa avsnitt.
Aktivera skyddade resursmetadata genom att ange auktoriseringsomfånget
För att aktivera MCP-serverauktorisering måste du konfigurera skyddade resursmetadata (PRM) genom att ange auktoriseringsomfånget i en appinställning. På så sätt kan MCP-klienter identifiera autentiseringskraven via /.well-known/oauth-protected-resource slutpunkten.
Gå tillbaka till appsidan för App Service i Azure-portalen.
I den vänstra menyn väljer du Inställningar>Miljövariabler.
Välj Lägg till för att skapa en ny programinställning.
För Namn ange
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES.För Värde klistrar du in det omfång som du kopierade från appregistreringen:
api://<app-registration-app-id>/user_impersonation.Välj Använd och välj sedan Använd igen för att bekräfta och starta om appen.
Den här inställningen konfigurerar PRM för att inkludera det nödvändiga omfånget för MCP-serverauktorisering.
Ansluta från Visual Studio Code
Nu kan du ansluta till din skyddade MCP-server från Visual Studio Code.
Öppna Visual Studio Code på din lokala dator.
Öppna eller skapa en MCP-konfigurationsfil (
mcp.json). För en MCP-konfiguration som är begränsad till arbetsytan skapar du den i .vscode-katalogen på din arbetsyta.Lägg till mcp-serverkonfigurationen:
{ "servers": { "my-app-service-mcp": { "type": "http", "url": "https://<your-app-url>.azurewebsites.net/api/mcp" } } }Ersätt
<your-app-url>med din faktiska App Service-app-URL. Du hittar appens standarddomän på sidan Översikt i Azure-portalen. I det här exemplet är sökvägen/api/mcp, men den faktiska sökvägen beror på din MCP-kod.Öppna kommandopaletten (
Ctrl+Shift+PellerCmd+Shift+Ppå macOS) i Visual Studio Code.Skriv MCP: Lista servrar och tryck på Retur.
Välj din MCP-server i listan och välj Starta server.
Visual Studio Code uppmanar dig automatiskt att logga in med Microsoft Entra-ID. Följ anvisningarna för autentisering.
MCP-tillägget hanterar OAuth-flödet med det omfång som du har konfigurerat, och Visual Studio Code hämtar den åtkomsttoken som krävs för att anropa MCP-servern.
Tips/Råd
Om du ser en oväntad autentiseringsprompt eller får fel läser du Felsökning.
När mcp-servern har autentiserats är den ansluten och redo att användas i GitHub Copilot Chat-agentläge eller andra MCP-klienter.
Testa anslutningen
Så här kontrollerar du att MCP-servern är korrekt skyddad och tillgänglig:
Öppna GitHub Copilot Chat i Visual Studio Code (
Ctrl+Alt+IellerCmd+Option+Ipå macOS).Prova att använda en funktion från MCP-servern. Om du till exempel använder Todos-exemplet:
Show me all my tasksGitHub Copilot bör ansluta till MCP-servern, och resultatet ska visas i chatten. Om du stöter på problem kan du läsa Felsökning.
Felsökning
När du startar MCP-servern i Visual Studio Code anger autentiseringsprompten som du ser om konfigurationen är korrekt:
Rätt konfiguration: Visual Studio Code uppmanar dig att autentisera med Microsoft. Det innebär att skyddade resursmetadata (PRM) har konfigurerats korrekt, och Visual Studio Code har framgångsrikt upptäckt auktoriseringsservern och omfånget från
/.well-known/oauth-protected-resource-slutpunkten.Felaktig konfiguration: Visual Studio Code uppmanar dig att autentisera med en
/authorizeslutpunkt i din App Service-app (till exempelhttps://<your-app-url>.azurewebsites.net/authorize). Det innebär att prm inte har konfigurerats korrekt. Visual Studio Code kan inte hitta auktoriseringsservern och auktoriseringsomfånget, så det återgår till att använda appens URL som auktoriseringsslutpunkt, som inte finns.
Om du ser den felaktiga autentiseringsprompten kontrollerar du att:
- Appinställningen
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPESär korrekt konfigurerad med det fullständiga omfångsvärdetapi://<app-registration-app-id>/user_impersonation. - App Service-appen har startats om helt efter att appinställningen har lagts till. Det kan ta några minuter att slutföra omstarten.
Om du ser autentiseringsfel efter inloggningen kontrollerar du att:
- Visual Studio Code-klient-ID (
aebc6443-996d-45c2-90f0-388ff96faa56) läggs till i både App Service-autentiseringskonfigurationen (tillåtna klientprogram) och i appregistreringen (auktoriserade klientprogram i Exponera ett API). - Omfångsvärdet i appinställningen matchar exakt det som definieras i appregistreringen.
Relaterat innehåll
- Skydda en modellkontextprotokollserver i Azure App Service
- Konfigurera din App Service- eller Azure Functions-app så att den använder Microsoft Entra-inloggning
- Konfigurera Microsoft Entra-providern med en hanterad identitet i stället för en hemlighet (förhandsversion)
- Vad är Model Context Protocol?