Scegliere il Giusto Pattern di Accesso #
Nel mio articolo precedente sull’Agentic Enterprise Blueprint, ho esplorato come Okta posiziona gli agenti IA come identità di primo livello all’interno del tessuto di sicurezza aziendale. Ho esaminato il framework strategico che risponde a tre domande fondamentali: Dove sono i miei agenti? A cosa possono connettersi? Cosa possono fare?
Ma una strategia senza esecuzione è solo teoria. Ora voglio rispondere a una domanda più pratica: Come dovrebbero autenticarsi e autorizzare le proprie comunicazioni con le risorse aziendali gli agenti IA?
Questa guida è pensata per aiutare architetti, team di sicurezza e solution engineer a valutare i quattro pattern di accesso che Okta for AI Agents mette a disposizione per le integrazioni degli agenti IA. Al termine, capirai:
- Quale pattern si adatta ai tuoi requisiti di sicurezza (contesto utente, riduzione degli scope, audit trail)
- Quale pattern supportano le tue risorse (ID-JAG, OAuth, chiavi API o username/password)
- Come confrontare i livelli di sicurezza tra i pattern
- Quando migrare dai pattern legacy agli approcci moderni
La questione non è accademica. Il pattern di accesso scelto determina:
- Se i tuoi audit log catturano l’attribuzione utente: Riesci a risalire a un’azione fino all’agente e all’utente per conto del quale ha agito?
- Se puoi revocare l’accesso chirurgicamente: Puoi disabilitare l’accesso di un singolo utente a un agente senza influenzare gli altri?
- Se la tua architettura soddisfa i requisiti normativi: La tua implementazione rispetta i mandati di tracciabilità NIST SP 800-63-41, EU AI Act2, NIS23, DORA4?
Considera questo scenario: il tuo team di sicurezza sta indagando su un incidente di accesso ai dati. Un agente IA ha acceduto a record sensibili dei clienti alle 3:47 di notte. Con il pattern sbagliato, i tuoi audit log potrebbero mostrare solo service-account-agent accessed database Con il pattern giusto, vedi sales-representative-agent, acting on behalf of john@example.com, accessed customer record #12847 with read scope, transaction ID jti-7z9x2q8.
Okta for AI Agents (O4AA) offre quattro pattern di accesso distinti, ognuno ottimizzato per diversi modelli di sicurezza, capacità delle risorse e requisiti di conformità5. La scelta non è arbitraria: è una decisione architetturale fondamentale che definisce la tua postura di sicurezza per gli agenti.
Esaminiamo ogni pattern, capiamo quando usarlo e vediamo come si inseriscono in una strategia di accesso coerente.
I Pattern di Accesso in Sintesi #
La piattaforma Okta for AI Agents (O4AA) offre quattro modi per un agente di raggiungere una risorsa downstream. Ognuno è configurato come una Managed Connection collegata al workload principal dell’agente in Okta. Scegliere il pattern giusto dipende da tre fattori:
- Cosa supporta la risorsa downstream? (XAA, ID-JAG, OAuth, chiave API, username/password)
- È richiesto il contesto a livello utente? (Attribuzione nell’audit, riduzione degli scope per utente)
- Quali sono i tuoi requisiti di sicurezza e governance? (Profilo di conformità, granularità di revoca)
I Quattro Pattern #
| Pattern | Raccomandazione | Contesto Utente | Ideale Per |
|---|---|---|---|
| Cross App Access (XAA) | ✅ Raccomandato | ✅ Sì | API interne, server MCP, SaaS ISV-enabled |
| Secure Token Service (STS) | 🔄 Transitorio | ✅ Sì | SaaS di terze parti con OAuth |
| Pre-Shared Key (PSK) | ⚠️ Legacy | ❌ No | Servizi solo API key, API REST legacy |
| Service Account | 🚫 Da deprecare | ❌ No | Sistemi solo username/password (ultima risorsa) |
XAA è dove la maturità e la sicurezza sono più solide. Tutte le funzionalità future si basano sullo stesso scambio ID-JAG introdotto da XAA. Il segnale più forte? La specifica MCP ha scelto XAA come modello di autenticazione enterprise nel novembre 20256, rendendolo uno standard industriale de facto.
Di seguito una breve panoramica di ciascun pattern — cosa fa, quando usarlo e il principale compromesso. Per la guida implementativa completa (flussi di protocollo, diagrammi di sequenza, claim del token, esempi di audit log e configurazione in Okta) consulta l’articolo complementare: Pattern di Accesso in Profondità.
Cross App Access (XAA) #
Cross App Access (XAA) è il pattern di accesso di punta. Implementa l’accesso delegato dall’utente e consapevole del contesto utente tramite l’Identity Assertion JWT Authorization Grant (ID-JAG)7, uno standard IETF emergente. Ogni token contiene sia sub (l’utente) che act.sub (l’agente) — abilitando l’attribuzione di audit per utente, la revoca chirurgica, la riduzione dinamica degli scope e l’allineamento diretto con NIST SP 800-63-41, EU AI Act2, NIS23 e DORA4.
- Quando usarlo: API interne, server MCP, e SaaS che hanno già adottato ID-JAG.
- Beneficio chiave: contesto identitario completo a ogni hop. Permessi effettivi = intersezione tra diritti dell’agente, autorizzazioni dell’utente e scope per singola richiesta.
- Limitazione: l’adozione ISV per i SaaS di terze parti è ancora in corso.
La specifica MCP ha adottato XAA come modello di autenticazione enterprise nel novembre 2025, rendendo ID-JAG uno standard de facto per l’accesso degli agenti IA.
👉 Deep dive: flusso ID-JAG, claim del token, audit log e configurazione
Secure Token Service (STS) #
Secure Token Service (STS) è il ponte per i SaaS di terze parti che supportano OAuth ma non hanno ancora adottato ID-JAG. Okta agisce come broker sicuro: i token consentiti dall’utente vengono custoditi in Okta Privileged Access (OPA) e a runtime l’agente riceve un token federato di breve durata. Il contesto utente è preservato attraverso il flusso di consenso, quindi gli audit log catturano comunque chi ha autorizzato l’azione.
- Quando usarlo: SaaS di terze parti con OAuth standard (es. GitHub, Google Workspace, Atlassian) — finché il vendor non rilascia ID-JAG.
- Beneficio chiave: contesto utente senza richiedere ID-JAG lato ISV; il consenso una tantum abilita la Fase 2 completamente autonoma.
- Limitazione: gli scope sono fissati al momento del consenso (nessuna riduzione per richiesta); la revoca è per connessione, non per utente.
STS è esplicitamente un pattern ponte. Pianifica la migrazione a XAA non appena il vendor upstream aggiunge il supporto ID-JAG.
👉 Deep dive: flusso di vaulting dei token, scambio RFC 8693, confronto con XAA
Pre-Shared Key (PSK) o Segreto in Vault #
Pre-Shared Key (PSK) memorizza credenziali statiche (chiavi API, bearer token, secret per webhook) in Okta Privileged Access. L’agente recupera il segreto a runtime invece di incorporarlo nel codice o nella configurazione — e Okta può ruotarlo automaticamente quando il servizio downstream lo supporta.
- Quando usarlo: API REST legacy, endpoint webhook o qualsiasi servizio che si autentica solo con chiavi API o bearer token.
- Beneficio chiave: rimuove i segreti dal codice; l’isolamento per segreto garantisce almeno l’attribuzione a livello di agente e una revoca chirurgica.
- Limitazione: nessun contesto utente, nessuna riduzione degli scope — gli audit log vedono solo l’identità dell’agente.
👉 Deep dive: flusso di recupero del segreto, configurazione e percorso di migrazione
Service Account #
Service Account utilizza credenziali username/password collegate a un’identità di servizio condivisa. È il pattern legacy da cui Okta raccomanda esplicitamente di migrare. Più agenti tipicamente condividono lo stesso login, il che rompe l’attribuzione per agente e impone una revoca tutto-o-niente.
- Quando usarlo: solo quando inevitabile — sistemi legacy (mainframe, database on-prem, servizi LDAP) che non supportano nient’altro, con un piano di dismissione documentato.
- Beneficio chiave: funziona con qualsiasi sistema che accetti username/password.
- Limitazione: nessun contesto utente, nessuna riduzione degli scope, identità condivisa, rotazione manuale. Ogni Service Account è una lacuna di conformità.
I Service Account sono il pattern più debole. Le nuove integrazioni non dovrebbero mai partire da qui. Il primo passo difendibile sulla scala di migrazione è passare a PSK; la destinazione strategica è XAA.
ð Deep dive: flusso a identità condivisa, confronto con PSK e strategia di uscita
Raccomandazioni Strategiche #
Dopo aver compreso i quattro pattern singolarmente, il passo successivo è confrontarli tra loro e tracciare un percorso di migrazione — la matrice, l’albero decisionale e la roadmap qui sotto mettono tutto insieme.
Matrice di Confronto dei Pattern #
| Dimensione | XAA | STS | PSK | Service Account |
|---|---|---|---|---|
| Contesto utente nel token | ✅ Completo (sub + act.sub) |
✅ Tramite flusso di consenso | ❌ Nessuno | ❌ Nessuno |
| Riduzione degli scope | ✅ Dinamica, per richiesta | ⚠️ Fissa alla creazione della connessione | ❌ Nessuna | ❌ Nessuna |
| Durata del token | ✅ Effimero | ✅ Access token a breve scadenza | ❌ Segreto statico | ❌ Password statica |
| Profondità dell’audit | ✅ Completa (Utente + agente + ID transazione) | ✅ Parziale (Utente + agente) | ⚠️ Solo identità agente | ❌ Identità di servizio condivisa |
| Precisione di revoca | ✅ Per utente, per agente, per sessione | ⚠️ Per connessione | ⚠️ Per segreto | ❌ Tutto o niente |
| Adozione ISV richiesta | ⚠️ Sì (validazione ID-JAG) | ✅ No (OAuth standard) | ✅ No (chiave API) | ✅ No (user/pass) |
| Focus roadmap Okta | ✅ Focus strategico | 🔄 Transitorio (ponte verso XAA) | ⚠️ Supporto legacy | 🚫 Da deprecare |
| Modello di permessi | ✅ Delegato dall’utente: permessi effettivi = intersezione degli scope di agente, utente e livello task | ⚠️ Consenso utente | ⚠️ Livello agente | ❌ Identità di servizio condivisa |
| Tipo di connessione | Authorization Server o MCP Server | Application | Secret | Service Account |
| Standard | IETF ID-JAG (draft-02), RFC 8693, RFC 7523 | OAuth 2.0 | N/A (gestione chiave API) | N/A (username/password) |
Framework Decisionale #
Il framework classifica i pattern per postura di sicurezza: XAA offre le garanzie più solide, mentre Service Account rappresenta quella più debole (e deve essere trattato come temporaneo).
---
config:
layout: dagre
---
flowchart TB
A["La risorsa supporta ID-JAG?"] -- Sì --> XAA["✅ Usa XAA
Delegato utente, audit completo,
revoca chirurgica"]
A -- No --> B["La risorsa supporta OAuth 2.0?"]
B -- Sì --> STS["🔄 Usa STS
Token brokering con consenso utente"]
B -- No --> C["La risorsa supporta le chiavi API?"]
C -- Sì --> PSK["⚠️ Usa PSK
Segreto in vault"]
C -- No --> SA["🚫 Service Account
Unica opzione — pianifica la migrazione subito"]
A@{ shape: hex}
B@{ shape: hex}
C@{ shape: hex}
style XAA fill:#d4edda,stroke:#28a745
style STS fill:#E1BEE7,stroke:#0d6efd
style PSK fill:#fff3cd,stroke:#ffc107
style SA fill:#f8d7da,stroke:#dc3545
Sequenza di Implementazione #
Ecco una roadmap consigliata per la transizione a XAA mantenendo sicurezza e conformità:
- Fase 1: Audit delle integrazioni esistenti
- Mappare tutte le connessioni degli agenti su uno dei quattro pattern
- Identificare service account e pre-shared key
- Fase 2: Le nuove integrazioni adottano XAA per default
- Usare STS solo quando XAA non è supportato
- Usare Service Account o Pre-Shared Key solo quando assolutamente necessario
- Documentare il razionale per le scelte non-XAA
- Fase 3: Monitorare le roadmap ISV
- Man mano che gli ISV adottano ID-JAG, migrare le connessioni STS a XAA
- Seguire gli annunci di adozione
- Fase 4: Dismissione di Service Account e Pre-Shared Key
- Stabilire una timeline formale di deprecazione
- Migrare a STS come step intermedio
- Obiettivo: zero service account per workload con contesto utente
Okta for AI Agents (O4AA) può aiutarti durante questa transizione, fornendo una piattaforma unificata per scoprire e gestire tutti e quattro i pattern mentre modernizzi la tua architettura. Inizia con XAA per le nuove integrazioni e usa le managed connection flessibili di O4AA per collegare i sistemi legacy durante la migrazione.
Conclusioni #
La scelta del pattern di accesso non è un dettaglio tecnico: è una decisione architettonica che definisce la postura di sicurezza dei tuoi agenti IA per gli anni a venire.
Punti chiave:
-
XAA è il futuro: Delegato dall’utente, verificabile, conforme. Investire in XAA ora significa che la tua architettura è pronta per MCP Server e il supporto Agent-to-Agent nel momento in cui arriveranno.
-
STS colma il divario: Per i SaaS di terze parti che supportano OAuth ma non ID-JAG, STS fornisce il contesto utente mentre aspetti l’adozione ISV.
-
Pre-Shared Key è accettabile per il legacy: I servizi che supportano solo chiavi API richiedono segreti in vault, ma pianifica la migrazione man mano che le risorse si modernizzano.
-
Service Account è debito tecnico: Ogni service account è un gap di conformità che aspetta di emergere in un audit. Inizia a pianificare la tua uscita.
Il percorso da Service Account → Pre-Shared Key → STS → XAA rappresenta una progressione di maturità nella sicurezza. Ogni scalino aggiunge contesto utente, riduzione degli scope e granularità di audit.
XAA sarà anche la base per funzionalità future come Agent-to-Agent Access (A2A), Kill Switch (revoca globale dei token), i workflow Human-in-the-Loop (HITL). Iniziare con XAA significa non solo proteggere le integrazioni di oggi, ma anche prepararsi per le innovazioni di domani.
Per Iniziare #
Provare XAA Oggi #
Esplora il playground XAA interattivo su xaa.dev, senza configurazione necessaria. Sperimenta il flusso ID-JAG completo nel tuo browser.
Approfondire #
- Pattern di Accesso in Profondità: Articolo complementare con dettagli completi di protocollo, diagrammi di sequenza, esempi di audit log e configurazione Okta
- Okta for AI Agents: Panoramica della piattaforma
- Cross App Access Solution: Pagina della soluzione XAA
- Cross App Access Documentation: Guida alla configurazione ufficiale
- XAA.dev Documentation: Documentazione del playground interattivo
- Cross App Access Introduction: Approfondimento tecnico
- XAA Developer Playground: Tutorial pratico
- Building Resource Apps: Guida all’implementazione
- AI Agent Token Exchange Guide: Guida passo-passo per i flussi di token exchange degli agenti
- Agentic Enterprise Blueprint: Framework di governance strategica
- Demo Interattiva: Securing the Autonomous Enterprise: Demo
Parliamone #
Quali integrazioni nel tuo ambiente usano ancora service account? Hai iniziato a mappare le connessioni dei tuoi agenti su questi pattern di accesso? Dove sei in questo percorso?
Condividi la tua esperienza nei commenti qui sotto o connettiti con me su LinkedIn per continuare la discussione.
-
NIST SP 800-63-4: Digital Identity Guidelines, NIST, 2024 ↩︎ ↩︎ ↩︎
-
EU Artificial Intelligence Act, European Union, 2024 ↩︎ ↩︎ ↩︎
-
NIS2 Directive, European Commission, 2024 ↩︎ ↩︎ ↩︎
-
DORA: Digital Operational Resilience Act, European Commission, 2024 ↩︎ ↩︎ ↩︎
-
Okta for AI Agents: Product Overview, Okta, 2026 ↩︎
-
MCP Specification: Enterprise Authentication, Model Context Protocol, November 2025 ↩︎
-
Identity JWT Authorization Grant, IETF OAuth Working Group, 2025 ↩︎