Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure serwer MCP łączy agentów sztucznej inteligencji z usługami Azure, wykonuje narzędzia w Twoim imieniu, a brokerzy uzyskują dostęp do zasobów Azure za pośrednictwem tokenów, które autoryzują każde wywołanie. Ponieważ serwer MCP Azure znajduje się między agentami a zasobami w chmurze, należy chronić sam serwer MCP Azure, tokeny, które autoryzuje dostęp, oraz dane wejściowe i wyjściowe narzędzia, które przepływają przez agentów.
Ten artykuł zawiera wskazówki dotyczące najlepszego zabezpieczania wdrożenia serwera MCP Azure.
Uwierzytelnianie i autoryzacja
Serwer Azure MCP używa Microsoft Entra ID za pośrednictwem biblioteki Azure Identity do uwierzytelniania wywołujących. Specyfikacja autoryzacji MCP wymaga protokołu OAuth 2.1, dlatego należy traktować serwer Azure MCP jako serwer zasobów OAuth 2.1. Klienci muszą używać klucza PKCE (klucza sprawdzającego kod Exchange) podczas wykonywania przepływów kodu autoryzacji. Zastosuj następujące rozwiązania:
Zweryfikuj każdy token autoryzacji. Przed zezwoleniem na uruchomienie narzędzia sprawdź wystawcę, odbiorcę i datę wygaśnięcia w każdym przychodzącym tokenie autoryzacyjnym. Nie ufaj tokenom, które nie mają wymaganych oświadczeń lub zostały wystawione dla innego zasobu.
Wiązanie tokenów autoryzacji z zamierzonymi odbiorcami. Używaj tokenów ograniczonych do odbiorcy, aby token wydany dla jednej usługi nie mógł zostać ponownie użyty przeciwko innej usłudze.
Wymuś ścisłe dopasowanie adresu URI przekierowania oraz zgodę dla każdego klienta. W przypadku przepływów z kodem autoryzacji zezwalaj wyłącznie na uprzednio zarejestrowane, dokładnie określone identyfikatory URI przekierowania i wymagaj zgody dla każdego klienta, aby przechwycony kod autoryzacji nie mógł zostać wykorzystany przez innego klienta.
Stosuj RBAC zgodnie z zasadą najmniejszych uprawnień. Przyznaj każdemu podmiotowi wywołującemu tylko role Azure RBAC niezbędne do wykonania jego zadania. Serwer MCP Azure odzwierciedla uprawnienia subskrypcji Azure — osoby wywołujące, które mają szeroki dostęp do subskrypcji, mogą wywoływać szeroki zestaw narzędzi. Ogranicz zakres przypisań ról do niezbędnego minimum. Włączaj tylko te narzędzia, których potrzebuje każdy wywołujący, ponieważ każde narzędzie, do którego można uzyskać dostęp, zwiększa powierzchnię ataku.
Preferuj tożsamości obciążeń. W scenariuszach opartych na agentach używaj tożsamości zarządzanych lub tożsamości obciążeń roboczych zamiast długotrwałych kluczy tajnych lub współużytkowanych poświadczeń. Gdy poświadczenia statyczne są nieuniknione — na przykład klucze interfejsu API dla usług innych firm, które nie obsługują tożsamości obciążeń — przechowuj je w Azure Key Vault i odwołuj się do nich w konfiguracji wdrożenia. Nigdy nie przechowuj danych uwierzytelniających w kodzie źródłowym ani w plikach konfiguracyjnych w postaci zwykłego tekstu i regularnie je zmieniaj.
Unikaj wzorca zdezorientowanego zastępcy. Ogranicz zakres własnej tożsamości platformy Azure serwera MCP i jego uprawnień do minimum niezbędnego do działania. Nie pozwól, aby serwer działał jako pośrednik, który użycza swoich szerokich uprawnień wywołującemu o niższych uprawnieniach: oddziel tożsamość wykonywania serwera od autoryzacji wywołującego i wymuszaj sprawdzanie uprawnień dla każdego wywołującego, zamiast polegać wyłącznie na własnych poświadczeniach serwera.
Zdalna ochrona serwera MCP Azure
Podczas wdrażania serwera Azure MCP jako zdalnego serwera hostowanego samodzielnie rozważ umieszczenie go za usługą Azure API Management (APIM) jako bramą wymuszającą zasady:
Umieść serwer Azure MCP za bramą egzekwowania zasad. Usługa APIM może zweryfikować Entra ID tokeny, zanim żądania dotrą do Azure serwera MCP, co eliminuje potrzebę sprawdzenia tokenów przez kod aplikacji.
Stosowanie zasad bramy na potrzeby ograniczania szybkości i inspekcji. Użyj zasad usługi APIM, aby ograniczyć częstotliwość wysyłania żądań przez osoby wywołujące, ograniczać dozwolone ścieżki narzędzi i rejestrować każde żądanie do celów inspekcji.
Scentralizuj kontrolę dostępu w jednym centralnym punkcie kontroli. Brama zapewnia jeden centralny punkt kontroli dostępu oraz monitorowania i wglądu dla wielu podrzędnych narzędzi MCP.
Chroń punkt końcowy, z którym łączą się klienci serwera Azure MCP. Zastąpiony lub sfałszowany adres URL może odbierać żądania wykonywania narzędzi i uwidaczniać poświadczenia lub dane zasobów Azure. Aby zmniejszyć to ryzyko:
Połącz się tylko z zaufanymi punktami końcowymi serwera MCP Azure. Używaj tylko tych punktów końcowych, które zostały przez Ciebie aprowizowane lub które Twój zespół udostępnia za pośrednictwem APIM. Nie należy wyprowadzać adresu URL serwera Azure MCP na podstawie danych wejściowych podanych przez użytkownika ani nieuwierzytelnionych odpowiedzi mechanizmu odnajdywania.
Sprawdź certyfikat TLS serwera MCP Azure. Upewnij się, że adres punktu końcowego odpowiada oczekiwanemu hostowi. W przypadku korzystania z usługi APIM należy kierować klientów za pośrednictwem bramy, aby punkt końcowy kopii zapasowej nie mógł być przekierowywany w trybie dyskretnym.
Nie można zamknąć w przypadku błędów certyfikatu. Traktuj niezweryfikowany lub nierozpoznany certyfikat serwera MCP Azure jako błąd połączenia, a nie ostrzeżenie o obejściu.
Aby uzyskać informacje o opcjach samoobsługowego hostingu, zobacz Wdrażanie własnego serwera Azure MCP.
Lokalne wzmacnianie zabezpieczeń wdrożenia
Lokalny serwer Azure MCP działa w środowisku dewelopera na potrzeby programowania. Ponieważ może ona działać z tożsamością Azure, przed połączeniem agenta z zasobami Azure sprawdź, do czego może uzyskiwać dostęp zalogowane konto:
Przejrzyj uprawnienia Azure. Sprawdź role RBAC Azure przypisane do konta dewelopera i usuń uprawnienia szerokiej subskrypcji lub grupy zarządzania, które nie są potrzebne do zadania.
Ogranicz dostęp lokalny. Uruchom lokalny serwer Azure MCP z zaufanej stacji roboczej lub kontenera i nie udostępniaj lokalnego punktu końcowego niezaufanym sieciom ani innym użytkownikom na maszynie.
Utrzymuj lokalny serwer w aktualnym stanie. Użyj bieżących pakietów serwera Azure MCP i zależności z poprawkami, zwłaszcza przed testowaniem na nieprodukcyjnych zasobach platformy Azure.
Lokalne wykonywanie w piaskownicy. Uruchom lokalny serwer Azure MCP w kontenerze lub piaskownicy z ograniczonym dostępem do systemu plików i sieci, a łańcuch narzędzi utrzymuj na bieżąco zaktualizowany, aby ograniczyć skutki wstrzykiwania poleceń i ataków typu path traversal, gdy narzędzia uruchamiają podprocesy.
Nie używaj lokalnego serwera Azure MCP do obsługi danych produkcyjnych ani poświadczeń produkcyjnych.
Zatruwanie narzędzi i wstrzykiwanie promptów
Opisy narzędzi MCP i odpowiedzi narzędzi stanowią dane wejściowe dla kontekstu agenta. Jeśli metadane narzędzia lub dane wyjściowe narzędzia są złośliwe, może to mieć wpływ na agenta, który ma dostęp do narzędzi Azure MCP Server i Azure uprawnień za nimi.
Aby zmniejszyć to ryzyko dla wdrożeń Azure MCP Server:
Preferuj oficjalny Microsoft utrzymywany Azure MCP Server. Użyj oficjalnego serwera Azure MCP Server do usług Azure zamiast niezweryfikowanego serwera, który udostępnia podobne narzędzia Azure. Traktuj zmiany schematu narzędzi jako zmiany zależności, które wymagają przeglądu.
Ufaj, ale weryfikuj kontekst narzędzia. Traktuj opisy narzędzi i odpowiedzi jako niezaufane dane wejściowe agenta. Przejrzyj definicje narzędzi przed użyciem w środowisku produkcyjnym oraz zweryfikuj lub oczyść dane, które odpowiedzi narzędzi przekazują z powrotem do kontekstu agenta.
Definicje narzędzia kontroli zmian. Przejrzyj i przypnij sprawdzone schematy oraz opisy narzędzi, a także wymagaj ponownego zatwierdzenia, zanim zaktualizowane metadane narzędzia zaczną obowiązywać, aby serwer nie mógł po cichu zmienić swojego działania po zatwierdzeniu (rodzaj ataku na łańcuch dostaw określany jako „rug pull”).
Użyj Azure mechanizmów kontroli zabezpieczeń, gdzie pasują one do twojej architektury. Oceń mechanizmy w mechanizmach zabezpieczeń firmy Microsoft, aby analizować kontekst agenta, wykrywać przepływy danych wrażliwych i monitorować obciążenia AI na platformie Azure. Przed rozpoczęciem polegania na niej w środowisku produkcyjnym sprawdź każdą ścieżkę integracji.
Zaufanie do zewnętrznego serwera MCP
Wiele środowisk deweloperskich uruchamia jednocześnie wiele serwerów MCP. Do pracy z platformą Azure wybieraj oficjalny serwer Azure MCP utrzymywany przez firmę Microsoft zamiast alternatyw tworzonych przez społeczność dla usług Azure.
Jeśli dodasz zewnętrzny serwer MCP obok serwera Azure MCP Server:
Sprawdź wydawcę i ścieżkę aktualizacji. Używaj serwerów od zaufanych wydawców z publicznie dostępnym kontaktem do spraw bezpieczeństwa. Przejrzyj dzienniki zmian i aktualizacje pakietów, zanim zezwolisz zewnętrznemu serwerowi na dostęp do środowiska agenta, które może również uzyskiwać dostęp do narzędzi serwera Azure MCP.
Zachowaj oddzielne konteksty poświadczeń. Nie pozwól, aby niezweryfikowany serwer współużytkował poświadczenia, system plików lub dostęp sieciowy używany przez serwer Azure MCP. Uruchamianie niezaufanych serwerów z najniższymi uprawnieniami w izolowanym środowisku.
Przejrzyj narzędzia w całym kontekście agenta. Złośliwy serwer może wykorzystywać opisy swoich narzędzi, aby wpływać na zachowanie agenta wobec innych zaufanych serwerów w tym samym kontekście, w tym Azure MCP Server. Przeprowadź inspekcję opisów narzędzi dla każdego skonfigurowanego serwera, a nie tylko narzędzi Azure.
Nadzór i monitorowanie
Śledź, które wystąpienia serwera Azure MCP działają w Twoim środowisku, i monitoruj ich aktywność:
Spis zatwierdzonych serwerów. Utrzymuj sprawdzony punkt odniesienia dla zarejestrowanych punktów końcowych serwera Azure MCP, na przykład w Azure API Center, aby wykrywać niezarejestrowane „nieoficjalne” serwery, które pozostają poza nadzorem.
Monitorowanie aktywności i zachowywanie dowodów. Skoreluj działanie serwera Azure MCP w Microsoft Sentinel i zachowaj dzienniki inspekcji Microsoft Purview, aby umożliwić badanie podejrzanych wywołań narzędzi.
Mechanizmy zabezpieczeń firmy Microsoft
Skorzystaj z poniższych Microsoft usług zabezpieczeń, aby dodać szczegółowe zabezpieczenia dla obciążeń Azure serwera MCP. Zastosowanie każdej kontrolki do określonego wdrożenia zależy od architektury. Oceń każdą kontrolkę w kontekście własnego środowiska:
Sprawdź kontekst agenta za pomocą funkcji Prompt Shields. Użyj funkcji Osłony promptów w Bezpieczeństwo zawartości platformy Azure AI, aby analizować treści trafiające do kontekstu agenta — w tym opisy narzędzi i wyniki działania narzędzi — oraz wykrywać potencjalne próby wstrzyknięcia promptu. Rozważ integrację funkcji Prompt Shields w potoku agenta, gdy używasz dynamicznie załadowanych metadanych narzędzia. Aby uzyskać więcej informacji, zobacz temat Prompt Shields.
Wykrywanie poufnych przepływów danych za pomocą funkcji DLP usługi Purview. Jeśli obciążenie robocze jest bezpośrednio zintegrowane z Microsoft Purview, użyj zasad ochrony przed utratą danych w Microsoft Purview, aby ułatwić wykrywanie i oznaczanie poufnych danych w przepływach danych powiązanych z agentami. Pokrycie dowolnych parametrów wywołań narzędzi nie jest automatyczne — zależy od architektury wdrożenia i łączników usługi Purview używanych przez obciążenie robocze. Sprawdź, czy określona ścieżka integracji obsługuje wymagane kontrolki przed użyciem DLP dla obciążeń agenta. Aby uzyskać więcej informacji, zobacz dokumentację usługi Microsoft Purview.
Monitorowanie obciążeń sztucznej inteligencji przy użyciu Defender dla Chmury. Użyj funkcji ochrony przed zagrożeniami AI w Microsoft Defender dla Chmury do wykrywania zagrożeń w czasie wykonywania w obciążeniach AI, w tym alertów dotyczących podejrzanej aktywności w wywołaniach interfejsu API usługi Azure OpenAI i usługi Azure AI Model Inference. Zakres nie obejmuje automatycznie dowolnych danych wyjściowych narzędzia MCP — obejmuje warstwę usługi Azure AI w architekturze. Aby uzyskać więcej informacji, zobacz Ochrona przed zagrożeniami w sztucznej inteligencji.
Note
Wymienione wcześniej mechanizmy kontroli to ogólne Azure usługi zabezpieczeń. Przed włączeniem tej ścieżki w środowisku produkcyjnym sprawdź, czy ścieżka integracji każdej kontrolki jest obsługiwana dla określonej architektury wdrażania serwera MCP Azure.