Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Ihren MCP-Server (Model Context Protocol) sichern, der mit der Microsoft Entra-Authentifizierung auf Azure App Service gehostet wird. Durch aktivieren der Authentifizierung stellen Sie sicher, dass nur benutzer, die mit Microsoft Entra authentifiziert wurden, über den Copilot-Agentmodus in Visual Studio Code auf Ihren MCP-Server zugreifen können.
Weitere Authentifizierungsmethoden und allgemeine MCP-Serversicherheitskonzepte finden Sie unter Secure a Model Context Protocol server in Azure App Service.
Voraussetzungen
Eine App Service-App, die einen MCP-Server hosten soll. Wenn Sie eins erstellen müssen, lesen Sie eine der folgenden Anleitungen:
- Integrieren einer App Service-App als MCP-Server für GitHub Copilot Chat (.NET)
- Integrieren einer App Service-App als MCP-Server für GitHub Copilot Chat (Java)
- Integrieren einer App Service-App als MCP-Server für GitHub Copilot Chat (Python)
- Integrieren einer App Service-App als MCP-Server für GitHub Copilot Chat (Node.js)
Microsoft Entra-Authentifizierung aktivieren
Navigieren Sie im Azure-Portal zu Ihrer App Service-App.
Wählen Sie im linken Menü "Einstellungen>Authentifizierung" und dann "Identitätsanbieter hinzufügen" aus.
Wählen Sie auf der Seite " Identitätsanbieter hinzufügen " Microsoft als Identitätsanbieter aus.
Wählen Sie unter den App Service-Authentifizierungseinstellungen für den Ablauf des geheimen Clientschlüssels einen Ablaufzeitraum aus (z. B. 6 Monate).
Akzeptieren Sie alle anderen Standardwerte, und wählen Sie "Hinzufügen" aus, um den Identitätsanbieter zu erstellen.
Dadurch wird eine neue App-Registrierung in Microsoft Entra ID mit einem Clientgeheimnis erstellt und die App Service-App zur Nutzung bei der Authentifizierung konfiguriert.
Visual Studio Code in der App Service-Authentifizierung autorisieren
Nach dem Aktivieren der Authentifizierung müssen Sie Visual Studio Code autorisieren, um auf Ihren MCP-Server zuzugreifen.
Wählen Sie auf der Seite "Authentifizierung " Ihrer App Service-App unter "Identitätsanbieter" die Option "Bearbeiten" (das Stiftsymbol) neben dem von Ihnen erstellten Microsoft-Anbieter aus.
Wählen Sie auf der Seite Identitätsanbieter bearbeiten unter Zusätzliche Überprüfungen>Clientanwendungsanforderung, die Option Anforderungen von bestimmten Clientanwendungen zulassen aus.
Wählen Sie das Bleistift-Widget aus, um die zulässigen Anwendungen zu bearbeiten.
Fügen Sie im Feld "Zulässige Clientanwendungen " die Client-ID von Visual Studio Code hinzu:
aebc6443-996d-45c2-90f0-388ff96faa56.Wählen Sie "OK" und dann " Speichern" aus.
Autorisieren von Visual Studio Code in der App-Registrierung
Als Nächstes müssen Sie die App-Registrierung konfigurieren, um Ihre API für Visual Studio Code verfügbar zu machen.
Wechseln Sie zurück zur Seite " Authentifizierung " Ihrer App-Dienst-App.
Wählen Sie den Microsoft-Anbieter in der Spalte "Identitätsanbieter " aus, um die App-Registrierungsseite zu öffnen.
Wählen Sie auf der Seite "App-Registrierung" im linken Menü die Optionen Verwalten> und API bereitstellen aus.
Wählen Sie unter Autorisierte Clientanwendungen die Option Eine Clientanwendung hinzufügen aus.
Geben Sie im Feld "Client-ID " die Client-ID von Visual Studio Code ein:
aebc6443-996d-45c2-90f0-388ff96faa56.Aktivieren Sie das Kontrollkästchen neben dem user_impersonation Bereich, um diesen Bereich zu autorisieren.
Wählen Sie "Anwendung hinzufügen" aus.
Suchen und kopieren Sie unter "Bereiche", die von dieser API definiert sind, den vollständigen Bereichswert. Er sollte wie folgt aussehen:
api://<app-registration-app-id>/user_impersonation.Sie benötigen diesen Bereichswert im nächsten Abschnitt.
Aktivieren von geschützten Ressourcenmetadaten durch Festlegen des Autorisierungsbereichs
Um die MCP-Serverautorisierung zu aktivieren, müssen Sie die geschützten Ressourcenmetadaten (PRM) konfigurieren, indem Sie den Autorisierungsbereich in einer App-Einstellung festlegen. Auf diese Weise können MCP-Clients die Authentifizierungsanforderungen über den /.well-known/oauth-protected-resource Endpunkt ermitteln.
Wechseln Sie im Azure-Portal zurück zur App Service-App-Seite.
Wählen Sie im linken Menü Einstellungen>Umgebungsvariablen aus.
Wählen Sie "Hinzufügen" aus, um eine neue Anwendungseinstellung zu erstellen.
Geben Sie unter Name
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPESein.Fügen Sie für "Wert" den Bereich ein, den Sie aus der App-Registrierung kopiert haben:
api://<app-registration-app-id>/user_impersonation.Wählen Sie "Übernehmen" und dann erneut "Übernehmen" aus, um Ihre App zu bestätigen und neu zu starten.
Diese Einstellung konfiguriert den PRM so, dass er den erforderlichen Bereich für die MCP-Serverautorisierung enthält.
Herstellen einer Verbindung mit Visual Studio Code
Jetzt können Sie über Visual Studio Code eine Verbindung mit Ihrem gesicherten MCP-Server herstellen.
Öffnen Sie Visual Studio Code auf Ihrem lokalen Computer.
Öffnen oder Erstellen einer MCP-Konfigurationsdatei (
mcp.json). Erstellen Sie für eine arbeitsbereichsbezogene MCP-Konfiguration diese im .vscode-Verzeichnis Ihres Arbeitsbereichs.Fügen Sie Ihre MCP-Serverkonfiguration hinzu:
{ "servers": { "my-app-service-mcp": { "type": "http", "url": "https://<your-app-url>.azurewebsites.net/api/mcp" } } }Ersetzen Sie
<your-app-url>durch die tatsächliche URL Ihrer App Service-App. Sie finden die Standarddomäne Ihrer App auf der Seite "Übersicht" im Azure-Portal. In diesem Beispiel lautet/api/mcpder Pfad , aber der tatsächliche Pfad hängt von Ihrem MCP-Code ab.Öffnen Sie in Visual Studio Code die Befehlspalette (
Ctrl+Shift+PoderCmd+Shift+Punter macOS).Geben Sie MCP ein: Listenserver auf, und drücken Sie die EINGABETASTE.
Wählen Sie ihren MCP-Server aus der Liste aus, und wählen Sie "Startserver" aus.
Visual Studio Code fordert Sie automatisch auf, sich mit der Microsoft Entra-ID anzumelden. Folgen Sie den Authentifizierungsaufforderungen.
Die MCP-Erweiterung verarbeitet den OAuth-Fluss mithilfe des von Ihnen konfigurierten Bereichs, und Visual Studio Code ruft das erforderliche Zugriffstoken ab, um Ihren MCP-Server aufzurufen.
Tipp
Wenn eine unerwartete Authentifizierungsaufforderung angezeigt wird oder Fehler auftreten, lesen Sie die Problembehandlung.
Nach der Authentifizierung ist Ihr MCP-Server verbunden und kann im GitHub Copilot Chat-Agent-Modus oder anderen MCP-Clients verwendet werden.
Testen der Verbindung
So überprüfen Sie, ob Ihr MCP-Server ordnungsgemäß gesichert ist und darauf zugegriffen werden kann:
Öffnen Sie GitHub Copilot Chat in Visual Studio Code (
Ctrl+Alt+IoderCmd+Option+Iunter macOS).Versuchen Sie, ein Feature von Ihrem MCP-Server zu verwenden. Wenn Sie beispielsweise das Beispiel "Todos" verwenden:
Show me all my tasksGitHub Copilot sollte Ihren MCP-Server erfolgreich aufrufen, und Sie sollten die Ergebnisse im Chat sehen. Wenn Probleme auftreten, lesen Sie die Problembehandlung.
Problembehandlung
Wenn Sie den MCP-Server in Visual Studio Code starten, zeigt die Authentifizierungsaufforderung an, ob Ihre Konfiguration korrekt ist:
Richtige Konfiguration: Visual Studio Code fordert Sie auf, sich bei Microsoft zu authentifizieren. Dies bedeutet, dass die geschützten Ressourcenmetadaten (PRM) ordnungsgemäß konfiguriert sind und Visual Studio Code den Autorisierungsserver und den Bereich vom
/.well-known/oauth-protected-resourceEndpunkt erfolgreich ermittelt hat.Falsche Konfiguration: Visual Studio Code fordert Sie auf, sich mit einem
/authorizeEndpunkt in Ihrer App Service-App zu authentifizieren (z. Bhttps://<your-app-url>.azurewebsites.net/authorize. ). Dies bedeutet, dass die PRM nicht ordnungsgemäß konfiguriert ist. Visual Studio Code kann den Autorisierungsserver und den Autorisierungsbereich nicht finden, sodass er auf die Verwendung der URL Ihrer App als Autorisierungsendpunkt zurückfällt, der nicht vorhanden ist.
Wenn die falsche Authentifizierungsaufforderung angezeigt wird, überprüfen Sie Folgendes:
- Ihre App-Einstellung
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPESist ordnungsgemäß mit dem vollständigen Bereichswertapi://<app-registration-app-id>/user_impersonationkonfiguriert. - Die App Service-App wurde nach dem Hinzufügen der App-Einstellung vollständig neu gestartet. Es kann einige Minuten dauern, bis der Neustart abgeschlossen ist.
Wenn nach der Anmeldung Authentifizierungsfehler angezeigt werden, überprüfen Sie Folgendes:
- Die Visual Studio Code-Client-ID (
aebc6443-996d-45c2-90f0-388ff96faa56) wird sowohl der App Service-Authentifizierungskonfiguration (zulässige Clientanwendungen) als auch in der App-Registrierung (autorisierte Clientanwendungen in "Verfügbarmachen einer API") hinzugefügt. - Der Bereichswert in der App-Einstellung entspricht genau dem, was in Ihrer App-Registrierung definiert ist.
Verwandte Inhalte
- Sichern eines Modellkontextprotokollservers in Azure App Service
- Konfigurieren Sie Ihre App Service- oder Azure Functions-App für die Nutzung der Microsoft Entra-Anmeldung
- Konfigurieren des Microsoft Entra-Anbieters mit einer verwalteten Identität anstelle eines geheimen Schlüssels (Vorschau)
- Was ist Das Modellkontextprotokoll?