Potenzia il tuo business: collega strumenti AI al tuo servizio esistente con controllo accessi
Scopri come potenziare la tua attività connettendo in modo sicuro strumenti AI ai tuoi servizi esistenti utilizzando i Token di Accesso Personale e il Model Context Protocol (MCP), con codice sorgente completo ed esempi pratici.
Benvenuto nella guida su come connettere strumenti AI ai tuoi servizi esistenti con controllo accessi!
Esploreremo come rendere i tuoi servizi esistenti pronti per gli strumenti AI, soprattutto attraverso l'integrazione con LLM (usando Model Context Protocol)) e vari agenti AI, affrontando le sfide del controllo accessi.
Attraverso questa guida, otterrai:
- Integrazione AI fluida: scopri come connettere strumenti AI ai tuoi servizi, rendendo i tuoi dati e funzionalità disponibili in ambienti AI
- Sicurezza API potenziata: migliora le tue interfacce API per proteggere la privacy dei dati e degli utenti con un controllo accessi efficace
- Esperienza AI personalizzata per il tuo utente: crea esperienze uniche assistite da AI per ciascun utente attraverso i Token di Accesso Personali
Forniamo risorse tutorial complete, PROGETTO DEMO COMPLETO CODICE SORGENTE (FRONTEND, BACKEND, e SERVER MCP INCLUSI) e anche guide pratiche per aiutarti a costruire servizi pronti per l'AI da zero.
Ecco come questa guida può migliorare la tua attività:
- Vantaggio competitivo: migliora le capacità tecniche del tuo servizio e l'esperienza utente per distinguerti in un mercato competitivo
- Valore utente aumentato: permetti agli utenti di scoprire un valore più profondo nel tuo prodotto attraverso strumenti AI, aumentando tassi di fidelizzazione e soddisfazione
- Servizi pronti per il futuro: integra senza problemi i tuoi servizi con l'ecosistema AI, preparandoti per il futuro paesaggio aziendale guidato dall'AI e aprendo nuovi percorsi di crescita innovativi
Iniziamo!
Che cos'è MCP e come collega gli strumenti AI al tuo servizio
MCP (Model Context Protocol) è un protocollo aperto e universale che standardizza come le applicazioni forniscono informazioni contestuali ai modelli di linguaggio di grandi dimensioni (LLM).
MCP è composto da diversi componenti chiave che lavorano insieme per permettere agli strumenti AI di accedere ai tuoi servizi:
In questa guida, è sufficiente sapere che il Server MCP è il punto chiave di connessione tra il tuo servizio e gli strumenti AI. È responsabile di fornire una serie di strumenti per l'uso degli LLM, e questi strumenti interagiranno con i tuoi servizi. Per ulteriori dettagli su MCP, puoi fare riferimento a Che cos'è MCP (Model Context Protocol) e come funziona. Qui ci concentreremo solo sul Server MCP.
Useremo un Sistema di Gestione dei Contenuti (CMS) che ha integrato le politiche di controllo accessi basate sui ruoli (RBAC) come esempio. Creeremo un Server MCP per esso e definiremo uno strumento get-available-article-count
che permette all'LLM di recuperare il numero di articoli disponibili per l'utente corrente nel CMS:
Questo è il codice chiave per connettere il Server MCP al tuo servizio. In questa implementazione dello strumento, invia una richiesta all'endpoint api/articles
del servizio e restituisce il risultato.
Tuttavia, questo non è sufficiente, perché l'API del tuo servizio potrebbe non essere pubblica. Ogni endpoint necessita di controllo accessi, e utenti diversi possono accedere a risorse e dati differenti.
Quindi, discuteremo di come aggiungere il controllo accessi al tuo servizio.
Come implementare il controllo accessi per il server MCP
È importante comprendere che gli utenti che accedono al tuo sistema attraverso strumenti AI sono gli stessi individui che potrebbero utilizzare direttamente il tuo sistema - il Server MCP agisce come loro rappresentante quando interagiscono tramite strumenti AI.
Quindi, quando gli utenti accedono ai tuoi servizi attraverso strumenti AI, sorgono due sfide pratiche di controllo accessi:
- Come fa il Server MCP a loggarsi al tuo sistema come un utente?
- Il tuo sistema dovrebbe riprogettare l'intero meccanismo di controllo accessi solo per accomodare il Server MCP? Questo sarebbe un costo e uno sforzo significativi, specialmente quando il tuo sistema originale ha già il suo meccanismo di autenticazione
La chiave per risolvere questi problemi è:
Come gli utenti possono consentire al Server MCP di concedere l'accesso dal tuo servizio senza utilizzare le proprie credenziali e il login interattivo?
Se riesci a risolvere questo problema, puoi interagire direttamente con il tuo servizio tramite il Server MCP, e il tuo servizio può continuare a usare il meccanismo di controllo accessi precedentemente progettato per gli utenti, senza dover riprogettare un nuovo sistema solo per il Server MCP!
Ma è possibile?
Certo che è possibile! Possiamo risolvere perfettamente questo problema usando Token di Accesso Personali!
I token di accesso personali (PAT) offrono un modo sicuro per gli utenti di concedere un token di accesso senza utilizzare le proprie credenziali e il login interattivo. Questo è utile per CI/CD, script o applicazioni che devono accedere alle risorse programmaticamente.
Ecco come appare il flusso di lavoro:
Quindi, fintanto che il tuo sistema supporta i Token di Accesso Personali (PAT), puoi risolvere perfettamente le sfide di controllo accessi tra strumenti AI e i tuoi servizi esistenti senza dover riprogettare i tuoi meccanismi di autenticazione, garantendo al contempo la sicurezza dei dati e la protezione della privacy per i tuoi utenti.
Ora, vediamo come implementare questo in pratica.
Implementazione del controllo accessi del server MCP
In questa sezione, implementeremo il controllo accessi per un server MCP usando un sistema CMS esistente come fondamento.
Puoi consultare il tutorial del campione CMS completo e il codice sorgente in RBAC nella pratica: implementazione dell'autorizzazione sicura per la tua applicazione, ma questo non è obbligatorio, copriremo tutti i principi essenziali qui.
Il campione CMS si basa su Logto, una piattaforma di identità open-source popolare che fornisce una soluzione completa di autenticazione e autorizzazione, ma l'implementazione tecnica non è il focus di questo articolo.
Progetta il permesso e la politica di controllo accessi per il tuo servizio
Il primo passo nell'implementazione del controllo accessi è progettare permessi e politiche di controllo accessi per il tuo sistema.
Nel nostro esempio CMS, abbiamo progettato i seguenti endpoint API basati su RBAC (Role-Based Access Control) e specificato i permessi richiesti per accedere a ciascun endpoint:
Endpoint | Logica di controllo accessi |
---|---|
GET /api/articles | - Chiunque con il permesso list:articles , O gli autori possono vedere i propri articoli |
GET /api/articles/:id | - Chiunque con il permesso read:articles , O autore dell'articolo |
POST /api/articles | - Chiunque con il permesso create:articles |
PATCH /api/articles/:id | - Chiunque con il permesso update:articles , O autore dell'articolo |
DELETE /api/articles/:id | - Chiunque con il permesso delete:articles , O autore dell'articolo |
PATCH /api/articles/:id/published | - Solo utenti con il permesso publish:articles |
La progettazione dei permessi del sistema è la seguente:
Permesso | Descrizione |
---|---|
list:articles | Visualizza l'elenco di tutti gli articoli nel sistema |
read:articles | Leggi il contenuto completo di qualsiasi articolo |
create:articles | Crea nuovi articoli |
update:articles | Modifica qualsiasi articolo |
delete:articles | Elimina qualsiasi articolo |
publish:articles | Cambia lo stato di pubblicazione |
Basato su questi permessi, abbiamo definito i seguenti ruoli per il nostro sistema CMS:
Permesso/Ruolo | 👑 Admin | 📝 Publisher | ✍️ Author |
---|---|---|---|
Descrizione | Accesso completo al sistema per la gestione totale dei contenuti | Può visualizzare tutti gli articoli e controllare lo stato di pubblicazione | Può creare nuovi articoli nel sistema |
list:articles | ✅ | ✅ | ❌ |
read:articles | ✅ | ✅ | ❌ |
create:articles | ✅ | ❌ | ✅ |
update:articles | ✅ | ❌ | ❌ |
delete:articles | ✅ | ❌ | ❌ |
publish:articles | ✅ | ✅ | ❌ |
Nota: Gli autori hanno automaticamente permessi di lettura/modifica/eliminazione per i propri articoli, indipendentemente dai permessi dei ruoli.
Successivamente, assegneremo ruoli agli utenti nel nostro sistema (utilizzando l'esempio del demo CMS):
Utente | Ruolo |
---|---|
Alex | Admin |
Bob | Publisher |
Charlie | Author |
E in Logto, come menzionato nell'articolo RBAC in pratica sopra, abbiamo configurato ruoli per i nostri utenti.
Applica la politica di controllo accessi alla tua API di servizio
Ecco come gli utenti accedono al nostro campione CMS:
Quindi, applicare il controllo accessi alla tua API di servizio è semplice come aggiungere un middleware per validare il token di accesso e controllare i permessi nel passaggio 9.
L'implementazione centrale è la seguente (consulta l'implementazione completa in esempio RBAC - backend):
E applica il middleware agli endpoint API che richiedono autenticazione:
Abbiamo ora aggiunto il controllo accessi al nostro sistema CMS e assegnato ruoli ai nostri utenti.
Dopo che gli utenti accedono e ottengono il loro Token di Accesso per l'API CMS, possono usare questo token per accedere all'API CMS. Il Token di Accesso contiene le informazioni sui permessi dell'utente. Questo ci permette di controllare quali dati restituire in base ai permessi utente.
Il nostro prossimo passo è implementare il Server MCP per usare i Token di Accesso Personali.
Comprendere come il Token di Accesso Personale rappresenta gli utenti
Fare riferimento al flusso di autenticazione CMS sopra, gli utenti ottengono un Token di Accesso per l'API CMS dopo aver fatto il login. Questo Token di Accesso è la loro credenziale per accedere all'API CMS.
Abbiamo solo bisogno di ottenere un Token di Accesso simile a quello che gli utenti ottengono dopo il login. Poi possiamo usarlo per accedere all'API CMS.
È qui che entrano in gioco i Token di Accesso Personali. Ci aiutano a ottenere lo stesso tipo di Token di Accesso che gli utenti normalmente ottengono dopo aver effettuato il login.
Ecco cosa dobbiamo fare:
- Creare un Token di Accesso Personale per un utente
- Usare questo Token di Accesso Personale per richiedere un token di scambio dall'endpoint del token del Servizio di Autenticazione. Questo ci darà un Token di Accesso simile a quello che gli utenti ottengono dopo il login
- Usare questo Token di Accesso nel nostro strumento di Servizio MCP per accedere all'API CMS
In questo esempio, utilizziamo Logto per la dimostrazione, dato che Logto supporta i Token di Accesso Personali e lo scambio di token. Se non stai usando Logto, puoi seguire questo approccio per implementare il tuo supporto al Token di Accesso Personale.
Crea un Token di Accesso Personale per il tuo utente
In Logto Console > Gestione utenti, puoi creare un Token di Accesso Personale per un utente dalla pagina dei dettagli:
Quando crei un Token di Accesso Personale, puoi impostare il tempo di scadenza secondo necessità.
Utilizzo del Token di Accesso Personale nel server MCP
Ora che abbiamo il Token di Accesso Personale dell'utente, possiamo usarlo nel nostro Server MCP.
Innanzitutto, seguiamo la documentazione del Token di Accesso Personale di Logto, otterremo un Token di Accesso per accedere all'API CMS dall'endpoint del token di Logto. Puoi consultare il codice sorgente completo qui.
Nel Server MCP, usiamo il Token di Accesso dalla funzione exchangeAccessToken
per ottenere dati dall'API CMS.
In questo modo, il Server MCP non ha bisogno delle credenziali di login dell'utente per accedere all'API CMS. Al contrario, usa il Token di Accesso Personale dell'utente.
Puoi trovare il codice completo in esempio RBAC - mcp-server。
Per sapere come distribuire questo Server MCP localmente con Claude Desktop, consulta la:guida alla distribuzione del Server MCP。
Puoi anche distribuire questo Server a vari IDE AI come Cursor, Cline, Windsurf, ecc.
Testare il controllo accessi
Testiamo questa implementazione in Claude Desktop.
Nel nostro CMS, sia Alex che Charles hanno creato un articolo ciascuno.
Poiché Alex ha il ruolo Admin, può vedere tutti gli articoli. Charles, essendo un Autore, può vedere solo i propri articoli.
Quando chiediamo a Claude quanti articoli disponibili ci sono, Claude userà lo strumento get-available-article-count
e chiederà il nostro permesso:
Quando usiamo il Token di Accesso Personale di Alex in MCP e chiediamo a Claude sul numero di articoli disponibili, Claude chiama lo strumento get-available-article-count
e ci dice che ci sono 2 articoli.
Quando passiamo al Token di Accesso Personale di Charles e facciamo la stessa domanda, Claude ci dice che c'è solo 1 articolo.
Fantastico! Abbiamo utilizzato con successo i Token di Accesso Personali per accedere all'API CMS e ottenere i dati corretti.
Questo è esattamente ciò che volevamo: creiamo un Token di Accesso Personale per ciascun utente e, quando gli utenti configurano il loro Server MCP con il loro token, creiamo un'esperienza AI personalizzata per loro.
Permettimi di aiutarti a scrivere la sezione Riassunto:
Riassunto
In questa guida, abbiamo esplorato come connettere strumenti AI ai tuoi servizi esistenti mantenendo un corretto controllo degli accessi. Abbiamo dimostrato questo utilizzando un sistema CMS con implementazione RBAC, mostrando come i Token di Accesso Personali (PAT) possano elegantemente risolvere le sfide di autenticazione.
Puoi trovare il codice sorgente completo per questa implementazione nel nostro repository campione RBAC, che include il backend CMS, il frontend e l'implementazione del server MCP.
Quando distribuisci il tuo server MCP agli utenti, ricorda di rendere configurabile il Token di Accesso Personale. Questo permette a ciascun utente di:
- Configurare il proprio PAT nel server MCP
- Accedere alle risorse in base ai propri permessi specifici
- Ottenere esperienze AI personalizzate che riflettono il loro ruolo e i livelli di accesso
Questo approccio garantisce che la tua integrazione AI rimanga sicura mentre fornisce un'esperienza personalizzata per ciascun utente in base ai loro permessi e ruolo nel tuo sistema.
Ti auguro un enorme successo nel tuo business mentre ti imbarca in questo viaggio di integrazione AI! Possa i tuoi servizi prosperare e crescere con queste nuove capacità AI! 🚀