Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwierzytelnianie usługi App Service umożliwia kontrolowanie dostępu do serwera protokołu MCP (Model Context Protocol), wymagając od klientów MCP uwierzytelniania za pomocą dostawcy tożsamości. Aplikację można dostosować do specyfikacji autoryzacji serwera MCP , postępując zgodnie z instrukcjami w tym artykule.
Ważne
Autoryzacja serwera MCP definiuje dostęp do serwera i nie zapewnia szczegółowej kontroli poszczególnych narzędzi MCP ani innych konstrukcji.
Skonfiguruj dostawcę tożsamości
Konfigurowanie uwierzytelniania usługi App Service przy użyciu dostawcy tożsamości. Rejestracja dostawcy tożsamości powinna być unikatowa dla serwera MCP. Nie używaj ponownie istniejącej rejestracji z innego składnika aplikacji.
Podczas tworzenia rejestracji zanotuj zakresy zdefiniowane w rejestracji lub w dokumentacji dostawcy tożsamości.
Konfigurowanie metadanych chronionych zasobów (wersja zapoznawcza)
Autoryzacja serwera MCP wymaga, aby host serwera posiadał metadane zasobów chronionych (PRM). Obsługa PRM z uwierzytelnianiem App Service jest obecnie dostępna w wersji zapoznawczej.
Aby skonfigurować PRM dla serwera MCP, ustaw WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES na listę zakresów oddzieloną przecinkami dla aplikacji. Wymagane zakresy są definiowane w ramach rejestracji aplikacji lub udokumentowane przez dostawcę tożsamości. Jeśli na przykład użyłeś dostawcy tożsamości Microsoft Entra ID i pozwoliłeś usłudze App Service utworzyć rejestrację, został utworzony domyślny zakres api://<client-id>/user_impersonation. Należy ustawić WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES na tę wartość.
Zagadnienia dotyczące klienta MCP
Aby zalogować użytkowników, klient MCP musi być zarejestrowany u dostawcy tożsamości. Niektórzy dostawcy obsługują dynamiczną rejestrację klienta (DCR), ale wielu z nich nie, w tym Microsoft Entra ID. Jeśli DCR nie jest dostępne, klient musi być wstępnie skonfigurowany z identyfikatorem klienta. Zapoznaj się z dokumentacją klienta lub zestawu SDK klienta, aby dowiedzieć się, jak podać identyfikator klienta.
Tworzenie zgody Entra ID
Jeśli używasz identyfikatora Entra firmy Microsoft, możesz określić znane aplikacje klienckie i oznaczyć je jako wstępnie uwierzytelnione w celu uzyskania dostępu. W miarę możliwości zaleca się wstępne uwierzytelnianie. Bez wstępnego uwierzytelniania użytkownicy lub administrator muszą wyrazić zgodę na rejestrację serwera MCP i wszelkie wymagane uprawnienia.
W przypadku scenariuszy zgody użytkownika tworzenie zgody polega na tym, że klient MCP używa logowania interaktywnego do wyświetlenia monitu o wyrażenie zgody. Niektórzy klienci MCP mogą nie wyświetlać interakcyjnego logowania. Jeśli na przykład tworzysz narzędzie MCP do użycia przez narzędzie GitHub Copilot w programie Visual Studio Code, klient próbuje użyć kontekstu zalogowanego użytkownika i nie wyświetli monitu o wyrażenie zgody. W takich przypadkach wstępne uwierzytelnianie aplikacji klienckiej jest wymagane, aby uniknąć problemów ze zgodą.
Na potrzeby tworzenia i testowania możesz samodzielnie utworzyć zgodę użytkownika, logując się do aplikacji bezpośrednio w przeglądarce. Przejście do <your-app-url>/.auth/login/aad inicjuje przepływ logowania i, w razie potrzeby, prosi o zgodę. Następnie możesz spróbować zalogować się z innego klienta.
Zagadnienia dotyczące serwera MCP
Uwierzytelnianie usługi App Service weryfikuje tokeny udostępniane przez klientów MCP i stosuje wszelkie skonfigurowane zasady autoryzacji przed odpowiedzią na żądanie inicjowania MCP. Może być konieczne zaktualizowanie reguł autoryzacji dla scenariusza MCP. Jeśli na przykład użyto dostawcy identyfikatora Entra firmy Microsoft i pozwolisz usłudze App Service utworzyć rejestrację, domyślne zasady zezwalają tylko na tokeny uzyskane przez samą aplikację. W związku z tym klient MCP należy dodać do listy dozwolonych aplikacji w konfiguracji uwierzytelniania. Aby uzyskać więcej informacji, zobacz Używanie wbudowanych zasad autoryzacji.
Struktury serwerów MCP często oddzielają transport, ale w niektórych przypadkach mogą uwidocznić bazowy kontekst HTTP. Gdy kontekst HTTP jest dostępny, możesz uzyskać dostęp do oświadczeń użytkowników i innych informacji uwierzytelniania udostępnianych przez uwierzytelnianie usługi App Service.
Ostrzeżenie
Token używany do autoryzacji serwera MCP jest przeznaczony do reprezentowania dostępu do serwera MCP, a nie do zasobu podrzędnego. Scenariusze przekazywania, w których serwer przekazuje token, tworzą luki w zabezpieczeniach, więc unikaj tych wzorców. Jeżeli potrzebujesz uzyskać dostęp do zasobu podrzędnego, uzyskaj nowy token przez mechanizm delegowania działającego w imieniu użytkownika lub inną metodę jawnego delegowania.
Treści powiązane
- Specyfikacja autoryzacji protokołu kontekstu modelu
- Powiązania protokołu Modelu Kontekstowego Azure Functions
- Integrowanie aplikacji usługi App Service jako serwera MCP (.NET)
- Integrowanie aplikacji usługi App Service jako serwera MCP (Java)
- Integrowanie aplikacji usługi App Service jako serwera MCP (Node.js)
- Integrowanie aplikacji usługi App Service jako serwera MCP (Python)