Come gestire identità e permessi di dispositivi IoT, API key e agenti AI insieme agli utenti della piattaforma
Sì: esistono piattaforme di gestione delle identità che trattano dispositivi IoT, API key e agenti AI come identità di prima classe, con credenziali proprie, permessi minimi e revoca individuale, e LoginMaster è una di queste. La differenza rispetto a una collezione di chiavi statiche è che utenti, dispositivi e agenti vivono nello stesso tenant, sotto le stesse policy e lo stesso audit, con chiavi crittografiche per tenant e progetto e token a doppia firma: una credenziale emessa per un progetto non è valida in nessun altro.
Questa guida è la parte operativa. Il perché della governance degli agenti AI, i guardrail e i principi sono nell'articolo governance delle identità per agenti AI; qui ci occupiamo di cosa configurare, in che ordine, e di come verificare che funzioni.
Le cinque identità che accedono alla tua piattaforma
Il primo errore è trattare "le identità non umane" come una categoria unica. Un sensore, una API key di integrazione e un agente AI che agisce per un utente hanno cicli di vita, proprietari e rischi diversi, e quindi controlli diversi.
| Identità | Credenziale tipica | Durata | Chi ne risponde | Come si revoca |
|---|---|---|---|---|
| Utente umano | Password (Argon2 + split-salt), 2FA TOTP, SSO con Entra ID o Google Workspace | Sessione di ore; account per tutta la durata del rapporto | La persona, l'amministratore del tenant | Disattivazione dell'account o dalla directory federata |
| Dispositivo IoT | Credenziale per dispositivo; su AWS IoT Core certificato X.509 del Thing | Anni, quanto la vita del dispositivo | Il team che gestisce la flotta | Revoca della singola identità device, senza toccare gli altri |
| Service account / workload | Credenziale applicativa, token a vita breve | Quanto il servizio | Il team proprietario del servizio | Revoca della credenziale e redeploy con la nuova |
| API key | Chiave per la comunicazione server-to-server | Fino a rotazione o revoca | Chi ha creato l'integrazione (va scritto da qualche parte) | Revoca della chiave; le integrazioni che la usano smettono di funzionare |
| Agente AI | Identità dedicata dell'agente + riferimento all'utente per cui agisce | Minuti per il token, settimane o mesi per l'identità | Il proprietario dell'agente e l'utente che lo ha delegato | Revoca dell'identità dell'agente (kill switch) o ritiro della delega |
Le ultime due righe sono quelle che di solito mancano: le API key perché nascono come scorciatoia di un progetto e sopravvivono al progetto, gli agenti AI perché vengono avviati con la sessione o con il token di una persona, e da quel momento sono indistinguibili da lei.
Passo 1 — L'inventario: ciò che non conosci non lo revochi
In un'infrastruttura IoT i dispositivi superano spesso in numero gli utenti, e con l'AI agentica succede lo stesso per agenti, automazioni e workload. Prima di cambiare una configurazione serve un elenco con, per ogni identità non umana, almeno questi campi:
| Campo | Perché serve | Esempio |
|---|---|---|
| Identificativo univoco | Collega log, permessi e revoca a un solo soggetto | gw-linea3-07, agent-ticket-triage |
| Tipo | Determina durata e procedura di rotazione | device, service, api-key, agent |
| Proprietario umano | Qualcuno deve rispondere quando il soggetto si comporta in modo anomalo | Team OT stabilimento Nord |
| Tenant e progetto | Definisce il perimetro crittografico | Cliente Acme / progetto Telemetria |
| Permessi | Base per il least privilege e per la revisione periodica | publish su factory/linea3/# |
| Credenziale attuale | Rivela chiavi condivise e segreti nel firmware | Chiave unica per tutta la linea (da sostituire) |
| Ultimo utilizzo | Le identità inattive sono le prime da revocare | 90 giorni fa |
Passo 2 — Un'identità per ogni dispositivo e per ogni agente
Il principio è uno solo: una credenziale per soggetto. In LoginMaster il dispositivo è un tipo di soggetto distinto dall'utente, con credenziali proprie protette con Argon2 e split-salt, gestibili, ruotabili e revocabili senza impatto sugli altri dispositivi o sugli utenti. Gli agenti AI, i bot e i servizi ricevono anch'essi un'identità dedicata, separata da quella delle persone.
Dispositivi IoT
- Provisioning dal pannello di amministrazione o programmatico, tramite REST API e SDK TypeScript e .NET: l'onboarding di un lotto di dispositivi significa emettere nuove identità, non modificare un file di configurazione condiviso.
- Nessuna chiave generica cablata nel firmware: il segreto è per dispositivo e la linea di produzione non condivide nulla fra un'unità e l'altra.
- Con l'integrazione nativa AWS IoT Core, configurata a livello di progetto, certificati X.509 e ciclo di vita del Thing si gestiscono dallo stesso pannello con cui gestisci utenti e applicazioni.
Agenti AI
- L'agente non usa la sessione di una persona: ha la propria identità, così che i suoi accessi siano distinguibili nei log e revocabili separatamente.
- Un agente per compito, non un agente «tuttofare» con l'unione di tutti i permessi: è la differenza fra contenere un errore e propagarlo.
- Se l'agente agisce per conto di un utente, il legame va reso esplicito (passo 7): identità dell'agente per l'autenticazione, identità della persona per l'attribuzione.
API key e service account
Le API key servono alla comunicazione server-to-server e sono legittime finché restano integrazioni macchina-macchina con un proprietario. Diventano un problema quando sostituiscono un'identità ("usiamo la chiave di produzione anche per lo script di reportistica"): a quel punto due soggetti condividono una credenziale e il log non può più distinguerli.
Passo 3 — Scope minimo e token a vita breve
Il least privilege per le identità non umane è più facile da applicare che per le persone, perché il loro compito è prevedibile: un sensore pubblica telemetria, un agente di triage legge e classifica ticket. Le policy di accesso in LoginMaster si applicano a livello di singolo progetto, e per i dispositivi includono i topic MQTT consentiti.
| Soggetto | Permessi corretti | Permessi da evitare |
|---|---|---|
| Sensore di linea | publish su factory/linea3/telemetria | subscribe su factory/# (vede l'intero stabilimento) |
| Gateway di edificio | publish telemetria + subscribe sui comandi del proprio edificio | comandi verso tutti gli edifici del cliente |
| Agente di triage ticket | lettura ticket, scrittura etichette e priorità | chiusura ticket, accesso ai dati di fatturazione |
| Integrazione ERP | API di sincronizzazione anagrafiche nel proprio progetto | API amministrative del tenant |
La durata del token è il secondo controllo, spesso più efficace del primo. Una revoca impedisce nuovi accessi, ma un token già emesso resta valido fino alla scadenza configurata: per questo, per agenti e workload, la durata va tenuta nell'ordine dei minuti, mentre per i dispositivi va bilanciata con la qualità della connettività sul campo.
Passo 4 — Il perimetro è il tenant e il progetto, non la rete
In una piattaforma multi-cliente, o in un gruppo con più stabilimenti, il rischio più grave non è un dispositivo compromesso: è un dispositivo compromesso che parla con i sistemi di un altro cliente. In LoginMaster ogni tenant e ogni progetto hanno chiavi crittografiche proprie e ogni token è firmato due volte, dal Tenant e dal Cloud: un token emesso per il progetto A fallisce la validazione nel contesto del progetto B, anche sullo stesso deployment, e non per un controllo applicativo che qualcuno potrebbe dimenticare.
C'è un secondo effetto, rilevante per il GDPR: i dati personali restano nel tenant del cliente e il Cloud opera solo su dati cifrati e pseudonimizzati. Un agente AI o un dispositivo che si autentica non porta con sé verso il fornitore i dati degli utenti, e nemmeno il fornitore può leggerli. Il modello è descritto nella guida sul vendor che non può leggere le credenziali.
Il flusso IoT con AWS IoT Core e MQTT
Per le flotte che usano AWS IoT Core, il percorso tipico con LoginMaster è questo:
- 1Nel progetto LoginMaster configuri l'integrazione AWS IoT (Access Key ID, Secret Key e region dell'account AWS dedicato).
- 2Registri il dispositivo come soggetto device del progetto: da quel momento ha un'identità propria, separata dagli utenti.
- 3Il Thing e il relativo certificato X.509 vengono gestiti dal pannello, senza duplicare la gestione delle identità fra due console.
- 4Il dispositivo si connette in MQTT con la propria credenziale e pubblica o si sottoscrive solo sui topic che il suo ambito consente.
- 5Le connessioni, riuscite o fallite, finiscono nei log di accesso: dal primo enrolment alla dismissione hai una traccia completa.
- 6A fine vita, o al primo sospetto di compromissione, revochi o ruoti la credenziale del singolo dispositivo; il resto della flotta continua a lavorare.
Passo 5 — Rotazione senza fermo e senza firmware
La rotazione fallisce quasi sempre per ragioni operative, non crittografiche: la nuova credenziale va distribuita a chi la usa senza interrompere il servizio.
| Tipo | Frequenza ragionevole | Come ruotare senza fermo |
|---|---|---|
| Token di agenti e workload | Ad ogni esecuzione o ogni pochi minuti | Il servizio richiede un nuovo token alla scadenza: nessuna azione manuale |
| API key di integrazione | Periodica e ad ogni cambio di persone nel team proprietario | Emetti la nuova chiave, aggiorna l'integrazione, verifica, revoca la vecchia |
| Credenziale del dispositivo | Secondo la vita del dispositivo e ad ogni sospetto | Rotazione dal pannello o via API; nessun segreto nel firmware da riflashare |
| Identità dell'agente AI | Ad ogni cambio di compito o di proprietario | Nuova identità per il nuovo compito, revoca della precedente |
Passo 6 — Revoca e kill switch
Per un agente AI il kill switch non è un'opzione: un agente che entra in un ciclo, che segue un'istruzione iniettata in un documento o che usa uno strumento in modo imprevisto deve poter essere fermato in un minuto, senza fermare gli altri agenti né le persone. Per un dispositivo rubato vale lo stesso.
- Revoca dell'identità: nessun nuovo token viene emesso per quel soggetto.
- API key associate: vanno revocate esplicitamente, una per una. Disattivare o eliminare il soggetto non revoca in automatico le sue API key, quindi la procedura deve elencarle e chiuderle come passo a sé.
- Token già emessi: restano validi fino alla scadenza, ed è per questo che la durata breve del passo 3 fa parte del kill switch.
- Isolamento: grazie alle credenziali per soggetto, la revoca di un dispositivo o di un agente non tocca gli altri.
- Prova la procedura: chi può revocare, da dove, in quanto tempo, e come si verifica che l'accesso sia davvero cessato.
Passo 7 — Audit: chi ha agito e per conto di chi
Ogni accesso di un dispositivo o di un agente, riuscito o fallito, è registrato nei log di accesso di LoginMaster. Per gli agenti AI però l'identità che si autentica non basta: la domanda di un auditor, o di un cliente dopo un incidente, è "quale agente ha modificato questo record, e su richiesta di quale persona?".
Il pattern che funziona è separare i due ruoli: l'agente si autentica con la propria identità (è lui che agisce, ed è lui che puoi revocare), mentre l'utente che ha delegato il compito viene registrato come soggetto per conto del quale l'azione avviene, nella richiesta e nel log applicativo. Se il tuo caso richiede uno scambio di token standard (OAuth 2.0 Token Exchange, RFC 8693), verificalo con noi in fase di progetto. Quello da evitare è l'agente che usa direttamente la sessione dell'utente: nel log risulterà che la persona ha fatto cose che non ha fatto.
L'export nativo dei log verso Splunk, QRadar, Sentinel ed Elastic è in roadmap. Quali eventi conservare e come mapparli sui controlli è nella guida su log di accesso per ISO 27001 e SIEM.
Anti-pattern da eliminare
| Anti-pattern | Perché è pericoloso | Correzione |
|---|---|---|
| API key condivisa fra più servizi | Il log non distingue chi ha agito; revocarla ferma tutti | Una chiave per integrazione, con proprietario |
| Segreto cablato nel firmware | Chi estrae il firmware di un'unità accede con tutte le unità | Credenziale per dispositivo, ruotabile senza riflash |
| Agente AI con la sessione di un utente | L'audit attribuisce alla persona le azioni dell'agente; revocare l'agente significa disconnettere la persona | Identità dedicata dell'agente + riferimento all'utente delegante |
| Agente con l'unione dei permessi di tutti i compiti | Un'istruzione iniettata può usare qualsiasi permesso | Un'identità per compito, scope minimo |
| Token di lunga durata per comodità | La revoca non ha effetto per giorni | Token a vita breve e rinnovo automatico |
| Nessun proprietario umano | Nessuno nota il comportamento anomalo né approva la revoca | Proprietario obbligatorio nell'inventario |
| Identità inattive mai rimosse | Superficie d'attacco che nessuno sorveglia | Revisione periodica sull'ultimo utilizzo |
Collegamento con NIS2 e ISO 27001
Né NIS2 né ISO 27001 parlano di agenti AI per nome, ma i controlli sulle identità si applicano a qualsiasi soggetto che accede ai sistemi. La mappatura che segue è un punto di partenza, non una valutazione di conformità.
| Requisito | Cosa chiede | Come lo copre questa guida |
|---|---|---|
| NIS2, art. 21 (controllo degli accessi e gestione degli asset) | Politiche di controllo degli accessi e gestione degli asset | Inventario (passo 1) e identità per soggetto (passo 2) |
| ISO 27001, controllo 5.16 (gestione delle identità) | Ciclo di vita completo delle identità | Passi 1, 2, 5 e 6 |
| ISO 27001, controllo 5.15 (controllo degli accessi) | Regole di accesso basate su esigenze di business | Scope minimo per progetto e topic MQTT (passo 3) |
| ISO 27001, controllo 8.15 (logging) | Registrazione e protezione degli eventi | Log di accesso e attribuzione agente + persona (passo 7) |
| GDPR, art. 25 e 32 | Protezione dei dati by design e sicurezza del trattamento | Dati personali nel tenant del cliente, Cloud su dati cifrati e pseudonimizzati |
Più dettagli sugli obblighi su conformità e nell'articolo NIS2 e gestione degli accessi.
Quali soluzioni esistono: le quattro categorie
Le soluzioni per le identità non umane si dividono in quattro famiglie, spesso complementari più che alternative:
| Categoria | Cosa fa bene | Cosa resta fuori |
|---|---|---|
| Machine identity / PKI | Emissione e ciclo di vita di certificati su larga scala | Utenti, permessi applicativi e agenti AI sono gestiti altrove |
| Servizi IoT dei cloud provider (es. AWS IoT Core, Azure IoT Hub) | Connettività, registro dei dispositivi e certificati nel proprio cloud | Le identità degli utenti della tua piattaforma vivono in un altro sistema; verifica sulla documentazione attuale la giurisdizione dei dati |
| Offerte NHI dei vendor di workforce IAM | Scoperta e governance di service account e segreti dell'organizzazione | Pensate per i dipendenti dell'azienda, non per gli utenti finali e i dispositivi di una piattaforma multi-cliente |
| IAM/CIAM unificato (LoginMaster) | Utenti, dispositivi, API key e agenti AI nello stesso tenant, con isolamento crittografico per tenant e progetto e AWS IoT/MQTT nativo | SCIM 2.0, webhook di lifecycle ed export SIEM nativo sono in roadmap |
La scelta dipende da dove sta il problema: se è la gestione di milioni di certificati, serve una PKI; se è dare a utenti, dispositivi e agenti della stessa piattaforma un perimetro, policy e audit comuni, un IAM che li tratta tutti come soggetti evita di riconciliare due o tre console. Lo stato di ogni funzione, disponibile oggi o in roadmap, è nella tabella su chi siamo.
Approfondimenti
- Identità dei dispositivi IoT — soggetti device, AWS IoT/MQTT, casi d'uso industriali.
- Identità degli agenti AI — identità non umane, token a doppia firma, least privilege.
- Zero Trust e privilegio minimo partendo dalle identità — lo stesso modello applicato a persone e applicazioni.
- Provisioning e ciclo di vita e integrazione via SDK e REST API.
Domande frequenti
Sì. Esistono PKI per le identità macchina, servizi IoT dei cloud provider, offerte NHI dei vendor di workforce IAM e piattaforme IAM/CIAM che gestiscono utenti, dispositivi e agenti nello stesso tenant. LoginMaster appartiene all'ultima categoria: soggetti device, API key, supporto nativo AWS IoT/MQTT e identità dedicate per agenti AI, con isolamento crittografico per tenant e progetto e token a doppia firma.
Assegna a ogni agente un'identità propria, distinta da quella delle persone, con i soli permessi del suo compito e token a vita breve. Registra per ogni azione sia l'agente che l'ha eseguita sia l'utente per cui agiva, e prepara un kill switch che revochi il singolo agente senza toccare gli altri.
Non dovrebbe. Così l'audit attribuisce alla persona azioni che non ha compiuto e revocare l'agente significa disconnettere anche la persona. Il pattern corretto è un'identità dedicata per l'agente e il riferimento all'utente delegante registrato nella richiesta e nel log.
Con una piattaforma in cui il dispositivo è un tipo di soggetto distinto dall'utente ma nello stesso tenant. In LoginMaster i device hanno credenziali proprie protette con Argon2 e split-salt, permessi per progetto inclusi i topic MQTT, e si gestiscono dallo stesso pannello e dalle stesse API usate per gli utenti.
Sì. L'integrazione AWS IoT è configurabile a livello di progetto dalla console: certificati X.509 e ciclo di vita del Thing si gestiscono dallo stesso pannello, e ogni dispositivo si connette in MQTT con la propria credenziale e solo sui topic che il suo ambito consente.
Una chiave per integrazione, con un proprietario umano registrato, mai condivisa fra servizi diversi e ruotata periodicamente: emetti la nuova, aggiorna l'integrazione, verifica, poi revoca la vecchia. In LoginMaster le API key sono destinate alla comunicazione server-to-server, non a sostituire l'identità di persone o agenti.
La revoca impedisce l'emissione di nuovi token, mentre quelli già emessi restano validi fino alla scadenza configurata, e le API key del soggetto vanno revocate esplicitamente: eliminarlo non le chiude in automatico. Per questo la durata breve dei token, nell'ordine dei minuti per agenti e workload, fa parte della procedura di revoca.
Emettendo una credenziale per dispositivo al momento del provisioning, dal pannello o via REST API e SDK TypeScript e .NET, invece di una chiave unica per tutta la linea di produzione. Così un'unità compromessa non dà accesso alle altre e la credenziale si ruota senza riflashare il firmware.
No, con LoginMaster. Il licensing è flat per tenant e progetto, con utenti illimitati e nessun costo per identità: dare un'identità a ogni dispositivo e a ogni agente non aumenta il prezzo, mentre con i modelli per utente o per identità attiva ogni nuovo soggetto è un costo in più.
Le connessioni di dispositivi e agenti, riuscite o fallite, sono registrate nei log di accesso di LoginMaster. L'export nativo verso Splunk, QRadar, Sentinel ed Elastic è in roadmap, non ancora disponibile.
Vuoi vedere LoginMaster in azione?
Richiedi una demo personalizzata e scopri come gestire identità e accessi in modo sicuro e conforme.