

403 Forbidden! Gestire l'autorizzazione distribuita con OPA, OPAL e GraphQL
L'autorizzazione in architetture distribuite è una sfida complessa: logiche sparse nei microservizi, difficoltà di manutenzione e rischi di inconsistenza sono problemi comuni. In questo talk presenterò come ho affrontato queste criticità in un caso reale, implementando una soluzione basata su Open Policy Agent (OPA), Open Policy Administration Layer (OPAL) e GraphQL. Partiremo da un requisito di business concreto: gestire permessi granulari su risorse condivise in un'architettura multi-tenant, dove diverse tipologie di utenti devono accedere alle stesse risorse con livelli di autorizzazione differenti. Vedremo come OPA ha permesso di centralizzare la logica di autorizzazione attraverso policy dichiarative, come OPAL ha risolto il problema della distribuzione in tempo reale dei dati necessari alle decisioni, e come GraphQL ha reso possibile un controllo fine e preciso sulle informazioni visibili ai client. Un talk pratico e orientato al codice per chi vuole implementare policy-as-code.