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.
W tym artykule pokazano, jak zabezpieczyć serwer protokołu MCP (Model Context Protocol) hostowany w usłudze Azure App Service przy użyciu uwierzytelniania firmy Microsoft Entra. Włączając uwierzytelnianie, upewnij się, że tylko użytkownicy uwierzytelnieni w usłudze Microsoft Entra mogą uzyskiwać dostęp do serwera MCP za pośrednictwem trybu agenta Copilot w programie Visual Studio Code.
Aby zapoznać się z innymi metodami uwierzytelniania i ogólnymi pojęciami dotyczącymi zabezpieczeń serwera MCP, zobacz Secure a Model Context Protocol server in Azure App Service (Zabezpieczanie serwera protokołu kontekstu modelu w usłudze Azure App Service).
Wymagania wstępne
Aplikacja usługi App Service, która hostuje serwer MCP. Jeśli musisz go utworzyć, zobacz jeden z następujących samouczków:
- Zintegrować aplikację App Service jako serwer MCP dla GitHub Copilot Chat (.NET)
- Integrowanie aplikacji usługi App Service jako serwera MCP na potrzeby czatu Copilot w usłudze GitHub (Java)
- Integrowanie aplikacji usługi App Service jako serwera MCP na potrzeby czatu Copilot w usłudze GitHub (Python)
- Integrowanie aplikacji usługi App Service jako serwera MCP dla czatu Copilot w usłudze GitHub (Node.js)
Włącz uwierzytelnianie Microsoft Entra
W witrynie Azure Portal przejdź do aplikacji usługi App Service.
W menu po lewej stronie wybierz Ustawienia>Uwierzytelnianie, a następnie wybierz pozycję Dodaj dostawcę tożsamości.
Na stronie Dodawanie dostawcy tożsamości wybierz pozycję Microsoft jako dostawca tożsamości.
W sekcji Ustawienia uwierzytelniania usługi App Service, dla Wygaśnięcia tajnych danych klienta wybierz okres wygaśnięcia (na przykład 6 miesięcy).
Zaakceptuj wszystkie inne wartości domyślne i wybierz pozycję Dodaj , aby utworzyć dostawcę tożsamości.
Spowoduje to utworzenie nowej rejestracji aplikacji w Microsoft Entra ID z tajnym hasłem klienta i skonfigurowanie aplikacji usługi App Service do używania go w uwierzytelnianiu.
Autoryzowanie programu Visual Studio Code w uwierzytelnianiu w usłudze App Service
Po włączeniu uwierzytelniania należy autoryzować program Visual Studio Code w celu uzyskania dostępu do serwera MCP.
Na stronie Uwierzytelnianie aplikacji usługi App Service w obszarze Dostawca tożsamości wybierz pozycję Edytuj (ikonę ołówka) obok utworzonego dostawcy firmy Microsoft.
Na stronie Edytowanie dostawcy tożsamości w obszarze Dodatkowe sprawdzanie>wymagań aplikacji klienckiej wybierz pozycję Zezwalaj na żądania z określonych aplikacji klienckich.
Wybierz widżet ołówka, aby edytować dozwolone aplikacje.
W polu Dozwolone aplikacje klienckie dodaj identyfikator klienta programu Visual Studio Code:
aebc6443-996d-45c2-90f0-388ff96faa56.Wybierz przycisk OK, a następnie wybierz pozycję Zapisz.
Autoryzowanie programu Visual Studio Code w rejestracji aplikacji
Następnie należy skonfigurować rejestrację aplikacji, aby umożliwić udostępnianie API w programie Visual Studio Code.
Wróć do strony Uwierzytelnianie aplikacji usługi App Service.
Wybierz dostawcę firmy Microsoft w kolumnie Dostawca tożsamości , aby otworzyć stronę rejestracji aplikacji.
Na stronie rejestracji aplikacji wybierz pozycję Zarządzaj>uwidaczniaj interfejs API z menu po lewej stronie.
W obszarze Autoryzowane aplikacje klienckie wybierz pozycję Dodaj aplikację kliencką.
W polu Identyfikator klienta wprowadź identyfikator klienta programu Visual Studio Code:
aebc6443-996d-45c2-90f0-388ff96faa56.Zaznacz pole wyboru obok zakresu user_impersonation , aby autoryzować ten zakres.
Wybierz Dodaj aplikację.
W obszarze Zakresy zdefiniowane przez ten interfejs API znajdź i skopiuj wartość pełnego zakresu. Powinien wyglądać następująco:
api://<app-registration-app-id>/user_impersonation.Ta wartość zakresu jest potrzebna w następnej sekcji.
Włączanie metadanych chronionych zasobów przez ustawienie zakresu autoryzacji
Aby włączyć autoryzację serwera MCP, należy skonfigurować chronione metadane zasobów (PRM), ustawiając zakres autoryzacji w ustawieniu aplikacji. Dzięki temu klienci MCP mogą odnajdywać wymagania dotyczące uwierzytelniania za pośrednictwem punktu końcowego /.well-known/oauth-protected-resource .
W witrynie Azure Portal wróć do strony aplikacji usługi App Service.
W menu po lewej stronie wybierz pozycję Ustawienia>Zmienne środowiskowe.
Wybierz pozycję Dodaj , aby utworzyć nowe ustawienie aplikacji.
W polu Nazwa wprowadź
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES.W polu Wartość wklej zakres skopiowany z rejestracji aplikacji:
api://<app-registration-app-id>/user_impersonation.Wybierz pozycję Zastosuj, a następnie ponownie wybierz pozycję Zastosuj , aby potwierdzić i ponownie uruchomić aplikację.
To ustawienie konfiguruje PRM, aby uwzględniał wymagany zakres dla autoryzacji serwera MCP.
Nawiązywanie połączenia z programu Visual Studio Code
Teraz możesz nawiązać połączenie z zabezpieczonym serwerem MCP z poziomu programu Visual Studio Code.
Otwórz program Visual Studio Code na komputerze lokalnym.
Otwórz lub utwórz plik konfiguracji MCP (
mcp.json). W przypadku konfiguracji MCP w zakresie obszaru roboczego utwórz ją w katalogu .vscode obszaru roboczego.Dodaj konfigurację serwera MCP:
{ "servers": { "my-app-service-mcp": { "type": "http", "url": "https://<your-app-url>.azurewebsites.net/api/mcp" } } }Zastąp
<your-app-url>właściwym adresem URL swojej aplikacji App Service. Domyślną domenę aplikacji można znaleźć na stronie Przegląd w witrynie Azure Portal. W tym przykładzie ścieżka to/api/mcp, ale rzeczywista ścieżka zależy od kodu MCP.W programie Visual Studio Code otwórz paletę poleceń (
Ctrl+Shift+PlubCmd+Shift+Pw systemie macOS).Wpisz MCP: Lista serwerów i naciśnij Enter.
Wybierz serwer MCP z listy i wybierz pozycję Uruchom serwer.
Program Visual Studio Code automatycznie wyświetla monit o zalogowanie się przy użyciu identyfikatora Entra firmy Microsoft. Postępuj zgodnie z monitami uwierzytelniania.
Rozszerzenie MCP obsługuje przepływ protokołu OAuth przy użyciu skonfigurowanego zakresu, a program Visual Studio Code uzyskuje niezbędny token dostępu do wywołania serwera MCP.
Wskazówka
Jeśli zostanie wyświetlony nieoczekiwany monit o uwierzytelnienie lub napotkasz błędy, zobacz Rozwiązywanie problemów.
Po uwierzytelnieniu serwer MCP jest połączony i gotowy do użycia w trybie agenta czatu Copilot w usłudze GitHub lub innych klientach MCP.
Testowanie połączenia
Aby sprawdzić, czy serwer MCP jest prawidłowo zabezpieczony i dostępny:
Otwórz aplikację GitHub Copilot Chat w programie Visual Studio Code (
Ctrl+Alt+IlubCmd+Option+Iw systemie macOS).Spróbuj użyć funkcji z serwera MCP. Jeśli na przykład używasz przykład Todos:
Show me all my tasksNarzędzie GitHub Copilot powinno pomyślnie wywołać serwer MCP i powinny zostać wyświetlone wyniki rozmowy. Jeśli wystąpią jakiekolwiek problemy, zobacz Rozwiązywanie problemów.
Rozwiązywanie problemów
Po uruchomieniu serwera MCP w programie Visual Studio Code zostanie wyświetlony monit o uwierzytelnienie wskazujący, czy konfiguracja jest poprawna:
Poprawna konfiguracja: program Visual Studio Code wyświetla monit o uwierzytelnienie w firmie Microsoft. Oznacza to, że chronione metadane zasobów (PRM) są prawidłowo skonfigurowane, a program Visual Studio Code pomyślnie wykrył serwer autoryzacji i zakres z punktu końcowego
/.well-known/oauth-protected-resource.Nieprawidłowa konfiguracja: program Visual Studio Code wyświetla monit o uwierzytelnienie za pomocą punktu końcowego
/authorizew aplikacji usługi App Service (na przykładhttps://<your-app-url>.azurewebsites.net/authorize). Oznacza to, że PRM nie jest prawidłowo skonfigurowany. Program Visual Studio Code nie może odnaleźć serwera autoryzacji i zakresu autoryzacji, dlatego wraca do używania adresu URL aplikacji jako punktu końcowego autoryzacji, który nie istnieje.
Jeśli zostanie wyświetlony niepoprawny monit o uwierzytelnienie, sprawdź, czy:
- Ustawienie
WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPESaplikacji jest poprawnie skonfigurowane z pełną wartościąapi://<app-registration-app-id>/user_impersonationzakresu . - Aplikacja usługi App Service została w pełni uruchomiona ponownie po dodaniu ustawienia aplikacji. Ponowne uruchomienie może potrwać kilka minut.
Jeśli po zalogowaniu się zobaczysz błędy uwierzytelniania, sprawdź, czy:
- Identyfikator klienta programu Visual Studio Code (
aebc6443-996d-45c2-90f0-388ff96faa56) jest dodawany do konfiguracji uwierzytelniania usługi App Service (dozwolonych aplikacji klienckich) oraz rejestracji aplikacji (autoryzowanych aplikacji klienckich w Publikowanie interfejsu API). - Wartość zakresu w ustawieniu aplikacji odpowiada dokładnie tym, co zostało zdefiniowane w rejestracji aplikacji.
Treści powiązane
- Zabezpieczanie serwera protokołu kontekstu modelu w usłudze Azure App Service
- Konfigurowanie aplikacji App Service lub Azure Functions do korzystania z logowania w usłudze Microsoft Entra
- Konfigurowanie dostawcy Microsoft Entra przy użyciu tożsamości zarządzanej zamiast sekretu (wersja zapoznawcza)
- Co to jest protokół kontekstu modelu?