Stärk ditt företag: Anslut AI-verktyg till din befintliga tjänst med åtkomstkontroll
Lär dig hur du stärker ditt företag genom att säkert ansluta AI-verktyg till dina befintliga tjänster med hjälp av personliga åtkomsttoken och Model Context Protocol (MCP), med komplett källkod och praktiska exempel.
Välkommen till guiden om att ansluta AI-verktyg till dina befintliga tjänster med åtkomstkontroll!
Vi kommer att utforska hur du gör dina befintliga tjänster redo för AI-verktyg, särskilt genom integration med LLM (med Model Context Protocol) och olika AI-agenter, samtidigt som vi hanterar åtkomstkontrollutmaningar.
Genom denna guide kommer du att få:
- Sömlös AI-integration: Lär dig hur du ansluter AI-verktyg till dina tjänster, vilket gör din data och funktionalitet tillgänglig i AI-miljöer
- Förbättrad API-säkerhet: Förbättra dina API-gränssnitt för att skydda data och användarens integritet med effektiv åtkomstkontroll
- Personlig AI-upplevelse för din användare: Skapa unika AI-assisterade upplevelser för varje användare genom personliga åtkomsttoken
Vi tillhandahåller kompletta handledningsresurser, KOMPLETT DEMOPROJEKT KÄLLKOD (FRONTEND, BACKEND, och MCP SERVER INKLUDERAD), och även praktiska guider för att hjälpa dig att bygga AI-redo tjänster från grunden.
Här är hur denna guide kan förbättra ditt företag:
- Konkurrensfördel: Förbättra din tjänsts tekniska kapabiliteter och användarupplevelse för att sticka ut i en konkurrensutsatt marknad
- Öka användarvärde: Möjliggör för användare att upptäcka djupare värde i din produkt genom AI-verktyg, vilket ökar kvarhållande och nöjdhet
- Framtidsklara tjänster: Sömnlöst integrera dina tjänster med AI-ekosystemet, förbereda dig för den kommande AI-drivna affärslandskapet och öppna innovativa tillväxtvägar
Låt oss börja!
Vad är MCP och hur det ansluter AI-verktyg till din tjänst
MCP (Model Context Protocol) är ett öppet, universellt protokoll som standardiserar hur applikationer tillhandahåller kontextinformation till stora språkmodeller (LLM:er).
MCP består av flera viktiga komponenter som samarbetar för att möjliggöra för AI-verktyg att komma åt dina tjänster:
I denna guide behöver du bara veta att MCP-servern är den centrala kontaktpunkten mellan din tjänst och AI-verktygen. Den ansvarar för att tillhandahålla en serie verktyg för LLM:erna att använda, och dessa verktyg kommer att interagera med dina egna tjänster. För mer detaljer om MCP kan du hänvisa till Vad är MCP (Model Context Protocol) och hur det fungerar. Här kommer vi att fokusera endast på MCP-servern.
Vi kommer att använda ett Content Management System (CMS) som har integrerat Rollbaserade åtkomstkontroll (RBAC) policyer som vårt exempel. Vi kommer att skapa en MCP-server för det och definiera ett get-available-article-count
verktyg som tillåter LLM:erna att hämta antalet artiklar tillgängliga för den aktuella användaren i CMS:
Detta är den centrala koden för att ansluta MCP-servern till din tjänst. I denna verktygsimplementation skickar den en förfrågan till tjänstens api/articles
-ändpunkten och returnerar resultatet.
Detta är dock långt ifrån tillräckligt, eftersom din tjänsts API kanske inte är offentligt. Varje slutpunkt behöver åtkomstkontroll, och olika användare kan komma åt olika resurser och data.
Så nästa, vi kommer att diskutera hur man lägger till åtkomstkontroll till din tjänst.
Hur man implementerar åtkomstkontroll för MCP-server
Det är viktigt att förstå att användarna som kommer åt ditt system genom AI-verktyg är samma individer som kan använda ditt system direkt - MCP-servern fungerar som deras företrädare när de interagerar genom AI-verktyg.
Så när användare kommer åt dina tjänster genom AI-verktyg, uppstår två praktiska åtkomstkontrollutmaningar:
- Hur loggar MCP-servern in på ditt system som en användare?
- Bör ditt system omarbeta hela sin åtkomstkontrollmekanism bara för att rymma MCP-servern? Detta skulle vara en betydande kostnad och insats, särskilt när ditt ursprungliga system redan har en autentiseringsmekanism
Nyckeln till att lösa dessa problem är:
Hur kan användare låta MCP-servern bevilja åtkomst från din tjänst utan att använda sina inloggningsuppgifter och interaktiv inloggning?
Om du kan lösa detta problem, kan du direkt interagera med din tjänst genom MCP-servern, och din tjänst kan fortsätta använda den åtkomstkontrollmekanism som tidigare designats för användare, utan att behöva utforma ett nytt system enbart för MCP-servern!
Men är detta möjligt?
Självklart är det det! Vi kan perfekt lösa detta problem genom att använda Personliga åtkomsttoken!
Personliga åtkomsttoken (PATs) ger ett säkert sätt för användare att bevilja åtkomsttoken utan att använda sina inloggningsuppgifter och interaktiv inloggning. Detta är användbart för CI/CD, skript eller applikationer som behöver komma åt resurser programmatiskt.
Så här ser arbetsflödet ut:
Så, så länge ditt system stöder personliga åtkomsttoken (PAT), kan du perfekt lösa åtkomstkontrollutmaningarna mellan AI-verktyg och dina befintliga tjänster utan att omarbeta din autentiseringsmekanism, samtidigt som du säkerställer datasäkerhet och integritetsskydd för dina användare.
Nu, låt oss se hur man implementerar detta i praktiken.
MCP-server åtkomstkontrollimplementering
I denna sektion kommer vi att implementera åtkomstkontroll för en MCP-server med hjälp av ett befintligt CMS-system som vår grund.
Du kan kolla in den kompletta CMS-exempeltutorialen och källkoden i RBAC i praktiken: Implementera säker auktorisering för din applikation, men detta är inte obligatoriskt, vi täcker alla grundläggande principer här.
CMS-exemplet är baserat på Logto, en populär öppen källkod identitetsplattform som tillhandahåller en omfattande autentiserings- och auktoriseringslösning, men den tekniska implementeringen är inte fokus för denna artikel.
Designa åtkomstkontrollpolicy för din tjänst
Det första steget i att implementera åtkomstkontroll är att designa behörigheter och åtkomstkontrollpolicyer för ditt system.
I vårt CMS-exempel har vi designat följande API-ändpunkter baserat på RBAC (Rollbaserad åtkomstkontroll) och specificerat vilka behörigheter som krävs för att komma åt varje ändpunkt:
Ändpunkt | Åtkomstkontrolllogik |
---|---|
GET /api/articles | - Alla med list:articles behörighet, ELLER författare kan se sina egna artiklar |
GET /api/articles/:id | - Alla med read:articles behörighet, ELLER författare av artikeln |
POST /api/articles | - Alla med create:articles behörighet |
PATCH /api/articles/:id | - Alla med update:articles behörighet, ELLER författare av artikeln |
DELETE /api/articles/:id | - Alla med delete:articles behörighet, ELLER författare av artikeln |
PATCH /api/articles/:id/published | - Endast användare med publish:articles behörighet |
Systemets behörighetsdesign är som följer:
Behörighet | Beskrivning |
---|---|
list:articles | Visa listan över alla artiklar i systemet |
read:articles | Läs något artikels fulla innehåll |
create:articles | Skapa nya artiklar |
update:articles | Modifiera någon artikel |
delete:articles | Ta bort någon artikel |
publish:articles | Ändra publiceringsstatus |
Baserat på dessa behörigheter har vi definierat följande roller för vårt CMS-system:
Behörighet/Roll | 👑 Admin | 📝 Utgivare | ✍️ Författare |
---|---|---|---|
Beskrivning | Full systemåtkomst för komplett innehållshantering | Kan visa alla artiklar och kontrollera publiceringsstatus | Kan skapa nya artiklar i systemet |
list:articles | ✅ | ✅ | ❌ |
read:articles | ✅ | ✅ | ❌ |
create:articles | ✅ | ❌ | ✅ |
update:articles | ✅ | ❌ | ❌ |
delete:articles | ✅ | ❌ | ❌ |
publish:articles | ✅ | ✅ | ❌ |
Notera: Författare har automatiskt läs/uppdatera/ta bort behörigheter för sina egna artiklar, oavsett rollbehörigheter.
Nästa steg är att tilldela roller till användare i vårt system (använder CMS-demot som exempel):
Användare | Roll |
---|---|
Alex | Admin |
Bob | Utgivare |
Charlie | Författare |
Och i Logto, som nämnts i artikeln RBAC i praktiken ovan, har vi ställt in roller för våra användare.
Tillämpa åtkomstkontrollpolicy till din tjänst API
Så här loggar användare in till vårt CMS-exempel:
Så, att tillämpa åtkomstkontroll till din tjänsts API är så enkelt som att lägga till en mellanprogram för att validera åtkomsttokenet och kontrollera behörigheterna i steg 9.
Den centrala implementeringen är som följer (kolla in den fullständiga implementeringen i RBAC-exempel - backend):
Och tillämpa mellanprogrammet till API-ändpunkter som kräver autentisering:
Vi har nu lagt till åtkomstkontroll till vårt CMS-system och tilldelat roller till våra användare.
Efter att användarna har loggat in och fått sina åtkomsttoken för CMS-API:t, kan de använda denna token för att komma åt CMS-API:t. Åtkomsttokenet innehåller användarens behörighetsinformation. Detta låter oss kontrollera vilken data som ska returneras baserat på användarbehörigheter.
Vårt nästa steg är att implementera MCP-servern för att använda personliga åtkomsttoken.
Förstå hur personlig åtkomsttoken representerar användare
Hänvisa till CMS-autentiseringsflödet ovan, får användare en åtkomsttoken för CMS-API:t efter inloggning. Denna åtkomsttoken är deras inloggningsuppgifter för att komma åt CMS-API:t.
Vi behöver bara få en åtkomsttoken liknande den som användare får efter inloggning. Sedan kan vi använda den för att komma åt CMS-API:t.
Det är här personliga åtkomsttoken kommer in i bilden. De hjälper oss att få samma typ av åtkomsttoken som användare normalt får efter inloggning.
Det är vad vi behöver göra:
- Skapa en personlig åtkomsttoken för en användare
- Använd denna personliga åtkomsttoken för att begära en utbytestoken från autentiseringstjänstens token-ändpunkt. Detta ger oss en åtkomsttoken liknande den som användare får efter inloggning
- Använd denna åtkomsttoken i vårt MCP-serververktyg för att komma åt CMS-API:t
I detta exempel använder vi Logto för demonstration, eftersom Logto stöder personliga åtkomsttoken och tokenutbyte. Om du inte använder Logto kan du följa denna metod för att implementera ditt eget stöd för personliga åtkomsttoken.
Skapa personlig åtkomsttoken för din användare
I Logto-konsolens användarhantering kan du skapa en personlig åtkomsttoken för en användare från deras detaljerade sida:
När du skapar en personlig åtkomsttoken kan du ställa in dess utgångstid efter behov.
Använda personliga åtkomsttoken i MCP-server
Nu när vi har användarens personliga åtkomsttoken kan vi använda den i vår MCP-server.
Först, följ Logtos dokumentation för personlig åtkomsttoken, vi får en åtkomsttoken för att komma åt CMS-API:t från Logtos token-ändpunkt. Du kan kolla in den fullständiga källkoden här.
I MCP-servern använder vi åtkomsttokenet från funktionen exchangeAccessToken
för att hämta data från CMS-API:t.
På detta sätt behöver MCP-servern inte användarinloggningsuppgifter för att komma åt CMS-API:t. Istället använder den användarens personliga åtkomsttoken.
Du kan hitta den kompletta koden i RBAC-exempel - mcp-server。
För att lära dig hur man distribuerar denna MCP-server lokalt med Claude Desktop, kolla in:MCP Server deploymentsguide。
Du kan också distribuera denna server till olika AI IDE:er som Cursor, Cline, Windsurf, etc.
Testa åtkomstkontrollen
Låt oss testa denna implementering i Claude Desktop.
I vårt CMS har både Alex och Charles skapat en artikel var.
Eftersom Alex har Admin-rollen kan de se alla artiklar. Charles, som är författare, kan bara se sina egna artiklar.
När vi ber Claude hur många tillgängliga artiklar det finns, använder Claude verktyget get-available-article-count
och ber om vår tillstånd:
När vi använder Alex's personliga åtkomsttoken i MCP och frågar Claude om antalet tillgängliga artiklar, anropar Claude get-available-article-count
verktyget och berättar för oss att det finns 2 artiklar.
När vi byter till Charles personliga åtkomsttoken och ställer samma fråga, berättar Claude för oss att det bara finns 1 artikel.
Fantastiskt! Vi har framgångsrikt använt personliga åtkomsttoken för att komma åt CMS-API:t och få rätt data.
Detta är exakt vad vi ville ha: vi skapar en personlig åtkomsttoken för varje användare, och när användare konfigurerar sin MCP-server med sin token, skapar vi en personlig AI-upplevelse för dem.
Låt mig hjälpa dig att skriva avsnittet Sammanfattning:
Sammanfattning
I denna guide har vi utforskat hur man ansluter AI-verktyg till dina befintliga tjänster samtidigt som vi upprätthåller korrekt åtkomstkontroll. Vi demonstrerade detta med hjälp av ett CMS-system med RBAC-implementering, och visade hur personliga åtkomsttoken (PATs) kan elegant lösa autentiseringsutmaningarna.
Du kan hitta de kompletta källkoden för denna implementering i vår RBAC-exempel repository, som inkluderar CMS backend, frontend, och MCP-server implementering.
När du distribuerar din MCP-server till användare, kom ihåg att göra den personliga åtkomsttoken konfigurerbar. Detta tillåter varje användare att:
- Konfigurera sin egen PAT i MCP-servern
- Åtkomstresurser baserat på sina specifika behörigheter
- Få personliga AI-upplevelser som återspeglar deras roll och åtkomstnivåer
Denna metod säkerställer att din AI-integration förblir säker samtidigt som den ger en skräddarsydd upplevelse för varje användare baserat på deras behörigheter och roll i ditt system.
Önskar dig stor framgång i ditt företag när du påbörjar denna AI-integrationsresa! Må dina tjänster blomstra och växa med dessa nya AI-möjligheter! 🚀