Identity come vincolo di architettura: progettare l'IAM prima dei dati
Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.
A livello enterprise l'identità va modellata nel database come relazioni temporali e non lasciata a tabelle RBAC piatte, per reggere audit, revoche e governance.
Fondere attestazione, rotazione e vaulting in un unico workflow ha tagliato il tempo di revoca da circa tre giorni a meno di uno1. Accade quando l’identità entra nell’architettura in servizi finanziari regolamentati, dove un’abilitazione sbagliata è una non conformità1.
Per una singola applicazione basta scegliere un identity provider, collegare l’SSO e validare i token all’ingresso. Funziona. Quando l’organizzazione cresce, il login regge e il resto si complica: chi ha approvato un accesso e se deve ancora esistere quando l’auditor lo chiede mesi dopo1.
L’identità diventa un vincolo di progetto perché impone scelte sul modello dati. Si deve poter rispondere “Chi aveva accesso a questo sistema il 14 marzo?” solo dal modello, senza cercare tra log eterogenei. Se no, l’audit non è entrato in fase di design1. Una security review può trovare uno scope errato o un controllo mancante. Non può ricostruire a posteriori uno schema incapace di spiegare chi avesse accesso e quando. La via più economica è registrare da subito ogni grant, revoca e attestazione come evento, con timestamp e attore. Così la domanda dell’auditor diventa una query sul log eventi1.
Il modello RBAC piatto regge finché le domande restano binarie. Cede quando servono relazioni. Le richieste operative ricorrenti sono: chi possiede un account, quali accessi sono ancora validi, cosa controlla una persona. In tabelle di ruolo, “chi possiede questo account” chiede catene di join. In un grafo è una singola traversata1. Qui i nodi sono tre: Person, ServiceAccount e Resource. Le associazioni sono due: una persona OWNS un account di servizio, un account HAS_ACCESS a una risorsa. La validità è proprietà del legame, non di un nodo: scadenza ed attestazioni vivono sull’arco tra account e risorsa1.
Per questo il backend modella le relazioni in Neo4j e le espone via GraphQL. GraphQL funziona perché l’annidamento della query replica la traversata: account, poi proprietario, poi accessi. Il chiamante chiede esattamente la porzione di grafo che gli serve. Niente traversate scritte a mano, niente over-fetching di oggetti enormi filtrati in memoria1.
La scala sposta l’asse sulla governance. Circa ottantamila persone possiedono account di servizio nel caso descritto. Il lavoro è tenere quegli owner coinvolti durante cambi di ruolo e uscite. Un account il cui proprietario è andato via è una credenziale senza guardiano1.
La revoca che viaggia su uno stream di eventi è solo eventualmente consistente. Bisogna conoscere la staleness nel caso peggiore, imporre un’età massima della cache e comunicarla al team di sicurezza1.
Il testo dà per acquisita esperienza con OAuth 2.0 o SSO. L’attrito nasce dopo il login, quando molti servizi e molti owner entrano nella stessa equazione e l’auditor chiede storia, non solo stato1.
L’identità condiziona scelte che sembrano non correlate, e questo emerge prima nel modello dati. I confini di servizio e i flussi di eventi hanno problemi propri1.
Fonti
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici
Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:
- Rilettura. Un passaggio toglie i tic della prosa generata da un modello, come i contrasti costruiti e le frasi che annunciano invece di informare, senza toccare fatti e fonti.
- Fedeltà alle fonti. Un passaggio dedicato toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9,5/10.
- Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
- Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 8,1/10.
I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.
Per vedere Millebit nelle notizie principali di Google, aggiungilo alle tue fonti preferite. Oppure segui l’edizione di oggi, il feed RSS o La Sintesi.