Anmerkung
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.
Mit der App-Dienstauthentifizierung können Sie den Zugriff auf Ihren MCP-Server (Model Context Protocol) steuern, indem MCP-Clients für die Authentifizierung bei einem Identitätsanbieter erforderlich sind. Sie können Ihre App den MCP-Serverautorisierungsspezifikationen entsprechen, indem Sie die Anweisungen in diesem Artikel befolgen.
Von Bedeutung
DIE MCP-Serverautorisierung definiert den Zugriff auf den Server und bietet keine präzise Kontrolle über einzelne MCP-Tools oder andere Konstrukte.
Konfigurieren eines Identitätsanbieters
Konfigurieren der App-Dienstauthentifizierung mit einem Identitätsanbieter. Die Registrierung des Identitätsanbieters sollte für den MCP-Server eindeutig sein. Verwenden Sie keine vorhandene Registrierung aus einer anderen Anwendungskomponente.
Beachten Sie beim Erstellen der Registrierung, welche Bereiche in Ihrer Registrierung oder in der Dokumentation des Identitätsanbieters definiert sind.
Konfigurieren geschützter Ressourcenmetadaten (Vorschau)
Für die MCP-Serverautorisierung müssen die geschützten Ressourcenmetadaten (PRM) auf dem Serverhost gehostet werden. Die Unterstützung für PRM mit App Service Authentication befindet sich derzeit in der Vorschau.
Um PRM für Ihren MCP-Server zu konfigurieren, legen Sie die WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES Anwendungseinstellung auf eine durch Trennzeichen getrennte Liste von Bereichen für Ihre Anwendung fest. Die benötigten Bereiche sind entweder als Teil Der App-Registrierung definiert oder von Ihrem Identitätsanbieter dokumentiert. Wenn Sie beispielsweise den Microsoft Entra ID-Anbieter verwendet und App Service die Erstellung der Registrierung übertragen haben, wurde der Standardbereich api://<client-id>/user_impersonation erstellt. Sie würden WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES auf diesen Wert festlegen.
Überlegungen zum MCP-Client
Um Benutzer anzumelden, muss der MCP-Client beim Identitätsanbieter registriert werden. Einige Anbieter unterstützen die Dynamische Clientregistrierung (Dynamic Client Registration, DCR), aber viele nicht, einschließlich Microsoft Entra ID. Wenn DCR nicht verfügbar ist, muss der Client mit einer Client-ID vorkonfiguriert werden. In der Dokumentation Ihres Clients oder des Client-SDK erfahren Sie, wie Sie eine Client-ID bereitstellen.
Entra ID-Zustimmungserstellung
Wenn Sie Die Microsoft Entra-ID verwenden, können Sie bekannte Clientanwendungen angeben und als vorautorisiert für den Zugriff kennzeichnen. Die Vorautorisierung wird nach Möglichkeit empfohlen. Ohne Vorautorisierung müssen Benutzer oder ein Administrator der MCP-Serverregistrierung und allen erforderlichen Berechtigungen zustimmen.
Bei Szenarien mit Benutzereinwilligung umfasst die Erstellung der Einwilligung, dass der MCP-Client die Zustimmungsaufforderung mithilfe einer interaktiven Anmeldung anzeigt. Einige MCP-Clients zeigen möglicherweise keine interaktive Anmeldung an. Wenn Sie beispielsweise ein MCP-Tool erstellen, das von GitHub Copilot in Visual Studio Code verwendet werden soll, versucht der Client, den Kontext des angemeldeten Benutzers zu verwenden und zeigt keine Zustimmungsaufforderung an. In diesen Fällen ist die Vorabautorisierung der Clientanwendung erforderlich, um Zustimmungsprobleme zu vermeiden.
Für Entwicklungs-/Testzwecke können Sie die Zustimmung des Benutzers für sich selbst erstellen, indem Sie sich direkt in einem Browser bei der Anwendung anmelden. Navigieren zu <your-app-url>/.auth/login/aad initiiert den Anmeldefluss und fordert Sie bei Bedarf zur Zustimmung auf. Anschließend können Sie versuchen, sich von einem anderen Client anzumelden.
Überlegungen zum MCP-Server
Die App-Dienstauthentifizierung überprüft Token, die von MCP-Clients bereitgestellt werden, und wendet alle konfigurierten Autorisierungsrichtlinien an, bevor sie auf die MCP-Initialisierungsanforderung reagieren. Möglicherweise müssen Sie Ihre Autorisierungsregeln für das MCP-Szenario aktualisieren. Wenn Sie beispielsweise den Microsoft Entra-ID-Anbieter verwendet und app Service die Registrierung für Sie erstellen lassen, lässt eine Standardrichtlinie nur Token zu, die von der App selbst abgerufen wurden. Daher fügen Sie Ihren MCP-Client in der Authentifizierungskonfiguration der Liste der zulässigen Anwendungen hinzu. Weitere Informationen finden Sie unter Verwenden einer integrierten Autorisierungsrichtlinie.
MCP-Serverframeworks abstrahieren häufig den Transport, aber in einigen Fällen stellen sie möglicherweise den zugrunde liegenden HTTP-Kontext offen. Wenn der HTTP-Kontext verfügbar ist, können Sie auf Benutzeransprüche und andere Authentifizierungsinformationen zugreifen , die von der App Service-Authentifizierung bereitgestellt werden.
Vorsicht
Das für die MCP-Serverautorisierung verwendete Token soll den Zugriff auf Ihren MCP-Server und nicht auf eine downstream-Ressource darstellen. Pass-Through-Szenarien, in denen der Server sein Token weiterleitet, erstellen Sicherheitsrisiken, vermeiden Sie daher diese Muster. Wenn Sie auf eine nachgelagerte Ressource zugreifen müssen, rufen Sie ein neues Token über den On-Behalf-Of-Fluss oder einen anderen Mechanismus für die explizite Delegation ab.
Verwandte Inhalte
- Modellkontextprotokollautorisierungsspezifikation
- Azure Functions Model Context Protocol-Bindungen
- Integrieren einer App Service-App als MCP-Server (.NET)
- Integrieren einer App Service-App als MCP-Server (Java)
- Integrieren einer App Service-App als MCP-Server (Node.js)
- Integrieren einer App Service-App als MCP-Server (Python)