• kontrola dostępu mcp
  • mcp rbac
  • personal access token

Wzmocnij swój biznes: Podłącz narzędzia AI do istniejącej usługi z kontrolą dostępu

Dowiedz się, jak wzmocnić swój biznes poprzez bezpieczne podłączanie narzędzi AI do istniejących usług, używając Personal Access Tokens i Model Context Protocol (MCP), z dołączonym pełnym kodem źródłowym i praktycznymi przykładami.

Yijun
Yijun
Developer

Przestań tracić tygodnie na uwierzytelnianie użytkowników
Uruchamiaj bezpieczne aplikacje szybciej z Logto. Zintegruj uwierzytelnianie użytkowników w kilka minut i skup się na swoim głównym produkcie.
Rozpocznij
Product screenshot

Witamy w przewodniku dotyczącym podłączania narzędzi AI do istniejących usług z kontrolą dostępu!

Zbadamy, jak przygotować istniejące usługi na narzędzia AI, zwłaszcza poprzez integrację z LLM (korzystając z Model Context Protocol)) i różnymi agentami AI, przy jednoczesnym rozwiązywaniu wyzwań związanych z kontrolą dostępu.

Dzięki temu przewodnikowi zyskasz:

  • Bezproblemową integrację AI: Naucz się podłączać narzędzia AI do swoich usług, udostępniając swoje dane i funkcjonalności w środowiskach AI
  • Zwiększone bezpieczeństwo API: Popraw swoje interfejsy API, aby chronić dane i prywatność użytkowników poprzez skuteczną kontrolę dostępu
  • Personalizowane doświadczenia AI dla twojego użytkownika: Twórz unikalne doświadczenia wspomagane przez AI dla każdego użytkownika za pomocą Personal Access Tokens

Oferujemy pełne zasoby tutorialowe, KOMPLETNY DEMO PROJEKT KOD ŹRÓDŁOWY (W TYM FRONTEND, BACKEND I MCP SERVER), a nawet praktyczne przewodniki, które pomogą ci zbudować usługi gotowe na AI od podstaw.

Oto, jak ten przewodnik może ulepszyć twoją działalność:

  • Przewaga konkurencyjna: Zwiększ techniczne zdolności swojej usługi i doświadczenia użytkownika, aby wyróżnić się na konkurencyjnym rynku
  • Zwiększenie wartości dla użytkownika: Umożliwienie użytkownikom odkrywania głębszej wartości twojego produktu poprzez narzędzia AI, co zwiększa ich retencję i zadowolenie
  • Usługi gotowe na przyszłość: Bezproblemowa integracja usług z ekosystemem AI, przygotowując na nadchodzący rynek oparty na AI i otwierając innowacyjne ścieżki wzrostu

Zacznijmy!

Czym jest MCP i jak łączy narzędzia AI z twoją usługą

MCP (Model Context Protocol) to otwarty, uniwersalny protokół, który standardyzuje sposób, w jaki aplikacje dostarczają informacje kontekstowe do dużych modeli językowych (LLMs).

MCP składa się z kilku kluczowych komponentów współpracujących ze sobą, aby umożliwić narzędziom AI dostęp do twoich usług:

W tym przewodniku musisz tylko wiedzieć, że MCP Server to kluczowy punkt połączenia między twoją usługą a narzędziami AI. Jest odpowiedzialny za dostarczanie serii narzędzi do użytku przez LLM, a te narzędzia będą wchodzić w interakcje z twoimi własnymi usługami. Więcej szczegółów na temat MCP znajdziesz w Czym jest MCP (Model Context Protocol) i jak działa. Tutaj skupimy się tylko na MCP Server.

Użyjemy Systemu Zarządzania Treścią (CMS), który ma zintegrowane polityki Role-Based Access Control (RBAC) jako naszego przykładu. Stworzymy MCP Server dla niego i zdefiniujemy narzędzie get-available-article-count, które umożliwi LLM pobranie liczby artykułów dostępnych dla obecnego użytkownika w CMS:

To jest kluczowy kod łączący MCP Server z twoją usługą. W tej implementacji narzędzia wysyła ono żądanie do punktu końcowego api/articles usługi i zwraca wynik.

Jednak to nie wystarczy, ponieważ API twojej usługi może nie być publiczne. Każdy punkt końcowy wymaga kontroli dostępu, a różni użytkownicy mogą mieć dostęp do różnych zasobów i danych.

Dlatego następnie omówimy, jak dodać kontrolę dostępu do twojej usługi.

Jak wdrożyć kontrolę dostępu dla MCP server

Ważne jest, aby zrozumieć, że użytkownicy korzystający z twojego systemu przez narzędzia AI to ci sami, którzy mogą bezpośrednio korzystać z twojego systemu - MCP Server działa jako ich przedstawiciel, gdy wchodzą w interakcję przez narzędzia AI.

Gdy więc użytkownicy uzyskują dostęp do twoich usług przez narzędzia AI, pojawiają się dwa praktyczne wyzwania związane z kontrolą dostępu:

  • Jak MCP Server loguje się do twojego systemu jak użytkownik?
  • Czy twój system powinien przeprojektować cały mechanizm kontroli dostępu tylko po to, aby dostosować się do MCP Server? Byłby to znaczący koszt i wysiłek, zwłaszcza gdy twój oryginalny system już posiada mechanizm uwierzytelniania

Kluczem do rozwiązania tych problemów jest:

Jak użytkownicy mogą pozwolić MCP Server na uzyskanie dostępu do twojej usługi bez używania ich danych logowania i interaktywnego logowania?

Jeśli możesz rozwiązać ten problem, możesz bezpośrednio wchodzić w interakcje z twoją usługą przez MCP Server, a twoja usługa może nadal używać mechanizmu kontroli dostępu wcześniej zaprojektowanego dla użytkowników, bez potrzeby projektowania nowego systemu tylko dla MCP Server!

Czy to możliwe?

Oczywiście! Możemy idealnie rozwiązać ten problem, używając Personal Access Tokens!

Personal access tokens (PATs) zapewniają bezpieczny sposób dla użytkowników na udzielenie dostępu bez używania ich danych logowania i interaktywnego logowania. Jest to przydatne dla CI/CD, skryptów czy aplikacji, które potrzebują dostępu do zasobów programowo.

Oto jak wygląda przepływ pracy:

Tak więc, dopóki twój system wspiera Personal Access Tokens (PAT), możesz idealnie rozwiązać wyzwania związane z kontrolą dostępu między narzędziami AI i twoimi istniejącymi usługami, bez przeprojektowywania mechanizmów uwierzytelniania, a jednocześnie zapewniając bezpieczeństwo danych i ochronę prywatności dla użytkowników.

Teraz zobaczmy, jak to wdrożyć w praktyce.

Implementacja kontroli dostępu MCP server

W tej sekcji wdrożymy kontrolę dostępu dla MCP server, korzystając z istniejącego systemu CMS jako naszej podstawy.

Możesz zapoznać się z pełnym tutorialem przykładowym CMS i kodem źródłowym w RBAC w praktyce: Wdrażanie bezpiecznego upoważnienia dla twojej aplikacji, ale nie jest to konieczne, obejmiemy tutaj wszystkie najważniejsze zasady.

Przykład CMS oparty jest na Logto, popularnej platformie open-source do zarządzania tożsamością, która zapewnia kompleksowe rozwiązanie do uwierzytelniania i autoryzacji, ale techniczna implementacja nie jest głównym celem tego artykułu.

Projektowanie uprawnień i polityki kontroli dostępu dla twojej usługi

Pierwszym krokiem w wdrażaniu kontroli dostępu jest projektowanie uprawnień i polityki kontroli dostępu dla twojego systemu.

W naszym przykładzie CMS zaprojektowaliśmy następujące punkty końcowe API w oparciu o RBAC (Role-Based Access Control) i określiliśmy uprawnienia wymagane do dostępu do każdego punktu końcowego:

EndpointLogika kontroli dostępu
GET /api/articles- Każdy z uprawnieniami list:articles, LUB autorzy mogą zobaczyć swoje artykuły
GET /api/articles/:id- Każdy z uprawnieniami read:articles, LUB autor artykułu
POST /api/articles- Każdy z uprawnieniami create:articles
PATCH /api/articles/:id- Każdy z uprawnieniami update:articles, LUB autor artykułu
DELETE /api/articles/:id- Każdy z uprawnieniami delete:articles, LUB autor artykułu
PATCH /api/articles/:id/published- Wyłącznie użytkownicy z uprawnieniami publish:articles

Projekt uprawnień systemu wygląda następująco:

UprawnienieOpis
list:articlesPodgląd listy wszystkich artykułów w systemie
read:articlesOdczyt pełnej treści dowolnego artykułu
create:articlesTworzenie nowych artykułów
update:articlesModyfikacja dowolnego artykułu
delete:articlesUsuwanie dowolnego artykułu
publish:articlesZmiana statusu publikacji

Na podstawie tych uprawnień zdefiniowaliśmy następujące role w naszym systemie CMS:

Uprawnienie/Rola👑 Admin📝 Publisher✍️ Author
OpisPełny dostęp do systemu do zarządzania treściąMoże podglądać wszystkie artykuły i kontrolować publikacjęMoże tworzyć nowe artykuły w systemie
list:articles
read:articles
create:articles
update:articles
delete:articles
publish:articles

Uwaga: Autorzy automatycznie mają uprawnienia do odczytu/aktualizacji/usuwania własnych artykułów, niezależnie od uprawnień ról.

Następnie przypiszemy role użytkownikom w naszym systemie (korzystając z demo CMS jako przykład):

UżytkownikRola
AlexAdmin
BobPublisher
CharlieAuthor

A w Logto, jak wspomniano w artykule RBAC w praktyce powyżej, ustanowiliśmy role dla naszych użytkowników.

Logto roles

Zastosuj politykę kontroli dostępu dla twojego API usługi

Oto jak użytkownicy logują się do naszego przykładowego CMSa:

Tak więc zastosowanie kontroli dostępu do twojego API usługi jest tak proste, jak dodanie oprogramowania pośredniczącego do weryfikacji tokenu dostępu i sprawdzenie uprawnień w kroku 9.

Podstawowa implementacja wygląda następująco (skonsultuj się z pełną implementacją w Przykład RBAC - backend):

I zastosowanie oprogramowania pośredniczącego do punktów końcowych API, które wymagają uwierzytelnienia:

Teraz dodaliśmy kontrolę dostępu do naszego systemu CMS i przypisaliśmy role do naszych użytkowników.

Po zalogowaniu się użytkownicy otrzymują Access Token dla API CMS, mogą użyć tego tokenu do uzyskania dostępu do API CMS. Access Token zawiera informacje o uprawnieniach użytkownika. To pozwala nam kontrolować, jakie dane zwrócić na podstawie uprawnień użytkownika.

Następnym krokiem jest wdrożenie MCP Server do używania Personal Access Tokens.

Zrozumienie, jak Personal Access Token reprezentuje użytkowników

Odnieś się do przepływu uwierzytelniania CMS powyżej, użytkownicy otrzymują Access Token dla API CMS po zalogowaniu się. Ten Access Token jest ich poświadczeniem do uzyskania dostępu do API CMS.

Potrzebujemy po prostu uzyskać Access Token podobny do tego, co otrzymują użytkownicy po zalogowaniu się. Następnie możemy go użyć, aby uzyskać dostęp do API CMS.

Tutaj pojawiają się Personal Access Tokens. Pomagają nam uzyskać ten sam rodzaj Access Token, jaki użytkownicy normalnie otrzymują po zalogowaniu się.

Oto, co musimy zrobić:

  1. Stworzyć Personal Access Token dla użytkownika
  2. Użyć tego Personal Access Token, aby zażądać wymiany tokenu z punktu końcowego tokenu Serwisu uwierzytelniającego. Daje nam to Access Token jak ten, który użytkownicy dostają po zalogowaniu
  3. Użyć tego Access Token w narzędziu MCP Service do uzyskania dostępu do API CMS

W tym przykładzie używamy Logto jako demonstrację, ponieważ Logto wspiera Personal Access Tokens i wymianę tokenów. Jeśli nie używasz Logto, możesz zastosować ten sposób, aby wdrożyć własne wsparcie dla Personal Access Tokens.

Stworzyć Personal Access Token dla swojego użytkownika

W Logto Console > Zarządzanie użytkownikami, możesz stworzyć Personal Access Token dla użytkownika z jego strony szczegółów:

Stwórz Personal Access Token w Logto Console

Podczas tworzenia Personal Access Token możesz ustawić jego czas wygaśnięcia według potrzeb.

Używanie Personal Access Token w MCP server

Teraz, gdy mamy Personal Access Token użytkownika, możemy go użyć w naszym MCP Server.

Po pierwsze, zgodnie z dokumentacją Personal Access Token Logto, uzyskamy Access Token do uzyskania dostępu do API CMS z punktu końcowego tokenu Logto. Możesz sprawdzić pełny kod źródłowy tutaj.

W MCP Server używamy Access Token z funkcji exchangeAccessToken do uzyskania danych z API CMS.

W ten sposób MCP Server nie potrzebuje danych logowania użytkownika, aby uzyskać dostęp do API CMS. Zamiast tego używa Personal Access Token użytkownika.

Możesz znaleźć pełen kod w Przykład RBAC - mcp-server

Aby dowiedzieć się, jak wdrożyć ten MCP Server lokalnie z Claude Desktop, sprawdź::Przewodnik wdrożeniowy MCP Server

Możesz również wdrożyć ten Server do różnych IDE AI jak Cursor, Cline, Windsurf, itp.

Testowanie kontroli dostępu

Przetestujmy tę implementację w Claude Desktop.

W naszym CMS, zarówno Alex jak i Charles stworzyli po jednym artykule.

Ponieważ Alex ma rolę Admin, może widzieć wszystkie artykuły. Charles, będący Autorem, może widzieć tylko swoje własne artykuły.

Gdy zapytamy Claude, ile jest dostępnych artykułów, Claude użyje narzędzia get-available-article-count i zapyta o nasze pozwolenie:

Zapytanie o użycie narzędzia

Kiedy użyjemy Personal Access Token Alexa w MCP i zapytamy Claude o liczbę dostępnych artykułów, Claude wywoła narzędzie get-available-article-count i powie nam, że są 2 artykuły.

Odpowiedź dla Alexa

Kiedy przełączymy się na Personal Access Token Charlesa i zadamy to samo pytanie, Claude powie nam, że jest tylko 1 artykuł.

Odpowiedź dla Charlesa

Wspaniale! Udało nam się użyć Personal Access Tokens do uzyskania dostępu do API CMS i otrzymania poprawnych danych.

To dokładnie to, czego chcieliśmy: tworzymy Personal Access Token dla każdego użytkownika, a kiedy użytkownicy konfigurują swoje MCP Server z ich tokenem, tworzymy dla nich spersonalizowane doświadczenie AI.

Pozwól mi pomóc ci napisać sekcję Podsumowanie:

Podsumowanie

W tym przewodniku zbadaliśmy, jak podłączyć narzędzia AI do istniejących usług zachowując właściwą kontrolę dostępu. Zademonstrowaliśmy to, używając systemu CMS z implementacją RBAC, pokazując, jak Personal Access Tokens (PATs) mogą elegancko rozwiązać wyzwania związane z uwierzytelnianiem.

Znajdziesz pełny kod źródłowy tej implementacji w naszym repozytorium przykładowym RBAC, które obejmuje backend CMS, frontend i implementację MCP server.

Podczas dystrybucji swojego MCP server do użytkowników, pamiętaj, aby uczynić Personal Access Token konfigurowalnym. To pozwala każdemu użytkownikowi na:

  • Konfigurowanie swojego PAT w MCP server
  • Dostęp do zasobów na podstawie ich specyficznych uprawnień
  • Uzyskanie spersonalizowanych doświadczeń AI odzwierciedlających ich rolę i poziomy dostępu

Takie podejście gwarantuje, że twoja integracja AI pozostaje bezpieczna, zapewniając jednocześnie spersonalizowane doświadczenie dla każdego użytkownika na podstawie ich uprawnień i roli w twoim systemie.

Życzymy ogromnego sukcesu w twoim biznesie, gdy podejmujesz podróż integracji AI! Niech twoje usługi rozwijają się i rosną dzięki tym nowym możliwościom AI! 🚀