Siamo orgogliosi di annunciare Rönd, il nuovo progetto che distribuisce l’applicazione di policy di sicurezza sulle tue API, sviluppato e rilasciato in open‑source da Mia‑Platform.
In Mia‑Platform crediamo fortemente nella comunità open‑source e continuiamo a rafforzare il nostro impegno per dare agli sviluppatori di tutto il mondo nuovi strumenti per risolvere problemi comuni, in modo da permettere loro di concentrarsi sullo sviluppo di software innovativi e di qualità.
Dopo diversi mesi nei quali è stato in esecuzione con successo in ambienti di produzione, mesi durante i quali abbiamo raccolto feedback dai diversi team che lo hanno impiegato nei loro progetti, abbiamo constato che il nostro prodotto era stabile, completo e molto efficace. Così abbiamo deciso di rilasciarlo come un progetto open‑source - Rönd per l’appunto - in modo che chiunque potesse beneficiare di un meccanismo di autorizzazione totalmente personalizzabile e pronto per le imprese, senza doverlo costruire ex novo.
La nostra soluzione è stata costruita su Open Policy Agent, il policy engine open‑source riconosciuto dalla CNCF: rilasciare Rönd in open source era quindi la scelta giusta per ripagare la straordinaria comunità che ci ha permesso di crearlo.
Skal a Rönd!
Ma cos’è Rönd di preciso? È un container che distribuisce l’esecuzione di policy di sicurezza attraverso la tua applicazione. Le policy sono scritte nel linguaggio Rego e vengono eseguite al momento dell’invocazione delle API. Le policy supportate sono di tre diversi tipi:
- Consentire o respingere l’invocazione;
- Generare delle query durante il flusso della richiesta;
- Eseguire delle patch sul body della risposta.
Rönd è costruito secondo il Sidecar Pattern, ovvero viene eseguito nel cluster Kubernetes come un sidecar container al fianco dei Pod. In questo modo si evitano duplicazioni di codice, si rende il sidecar container agnostico rispetto al linguaggio dei Pod e si previene l’introduzione di single point of failure nell’architettura. Nonostante Rönd sia un servizio distribuito, è stata posta particolare attenzione alle risorse che consuma: il container, infatti, è stato progettato in modo da mantenere bassi i costi addizionali. Se necessario, Rönd può anche essere eseguito come un servizio standalone a sé stante.
Rönd intercetta il traffico API e applica le policy alla chiamata API prima che questa raggiunga il servizio: in questa fase, Rönd controlla l’autorizzazione e i permessi dell’utente, e permette anche di eseguire delle verifiche sul payload dell’API. A questo punto, se tutti i requisiti della policy sono rispettati, inoltra la chiamata al servizio; al contrario, se i requisiti non sono totalmente rispettati, Rönd respinge la chiamata API. In questo modo l’invocazione non raggiunge mai il servizio se non è autorizzata, in quanto viene intercettata prima da Rönd, aumentando così la sicurezza.
Rönd permette nativamente di creare una soluzione RBAC/ABAC, definendo come mattoni da costruzione i concetti di Ruoli, Permessi e Gruppi di utenti. Di fatto, Rönd è nato proprio in questo modo: se vuoi approfondire l’argomento scopri Come e perché abbiamo adottato il Role‑Based Access Control (RBAC).
Ogni arma leggendaria ha bisogno di un nome
Come mai abbiamo deciso di chiamarlo Rönd? Siccome eravamo molto orgogliosi della forza del nostro progetto, avevamo bisogno di qualcosa che rappresentasse appieno la sua robustezza; e cosa c’è di più forte dei grandi vichinghi?
Così abbiamo scelto lo scudo rotondo dei vichinghi, chiamato appunto Rönd, in quanto il nostro meccanismo di autorizzazione aumenta la difesa e la sicurezza delle applicazioni. Il muro di scudi, la famosa formazione militare usata dai vichinghi, può bloccare ogni attacco o lasciar passare le persone attraverso tattiche di apertura e chiusura. Una volta che avrai implementato Rönd in tutti i tuoi microservizi, avrai un muro di scudi impenetrabile che protegge la tua applicazione distribuita.
Ma volevamo di più. Volevamo che il nostro scudo fosse riconosciuto come uno strumento di sicurezza affidabile e che chiunque potesse utilizzare nei suoi progetti, indipendentemente dal linguaggio di programmazione. Prendendo ispirazione dai vichinghi che si stabilirono in Irlanda e Scozia e diedero vita a una nuova cultura mischiandosi con le popolazioni locali, abbiamo dipinto la R gaelica al centro del nostro scudo come un segno di internazionalità, per dimostrare la natura aperta del nostro strumento. Infatti, come quei vichinghi furono in grado di adottare l’alfabeto gaelico e abbandonare quello runico, così Rönd si adatta ad ogni linguaggio di programmazione.
Per proteggerci meglio avevamo bisogno anche di un elmo come quello di Open Policy Agent, la soluzione open source alla base di Rönd. Grazie a Rönd la tua infrastruttura sarà coperta da una completa e impenetrabile armatura vichinga!
Come abbiamo forgiato il logo di Rönd
Il logo di Rönd intende rappresentare quanto descritto sopra. La sua creazione ha richiesto un grande lavoro che merita di essere raccontato.
La forma rotonda raffigura chiaramente lo scudo rotondo dei vichinghi. Come menzionato in precedenza, al centro dello scudo si trova la R gaelica, che è sia un simbolo di apertura, sia un marchio di riconoscimento. La lettera è circondata da quattro piccoli semicerchi che rappresentano il muro di scudi: questo perché la nostra soluzione di autorizzazione è progettata per architetture distribuite e funziona molto bene quando è implementata in diversi microservizi.
Per i colori del logo abbiamo preso ispirazione dai paesaggi invernali della Scandinavia, la patria dei vichinghi. Lo sfondo dello scudo è bianco come la neve che in inverno copre ogni cosa e fortifica le popolazioni del nord.
Quindi, procedendo da in basso a destra verso in alto a sinistra troviamo una transizione graduale di colori. Il colore di partenza è un azzurro‑ciano che simboleggia il ghiaccio e l’acqua gelida dei fiordi e dei laghi alpini circostanti.
L’azzurro al centro è il colore dei cieli del nord, ma è anche il colore della tecnologia: dato che Rönd è una nuova tecnologia cloud‑native, questo colore lo rappresenta perfettamente.
L’ultimo in alto a sinistra, è il viola dell’aurora boreale: è appena visibile, proprio come in natura, ma aggiunge un tocco di magia e di decisione all’intero scudo.
Il font ufficiale di Rönd è Inter, e lo abbiamo scelto principalmente per tre ragioni:
- È open‑source, proprio come il nostro progetto;
- È progettato apposta per lo schermo dei computer, e il nostro progetto è pensato per i software;
- Il progetto è guidato da uno sviluppatore svedese.
Come unirsi al muro di scudi
Rönd ti sembra un progetto interessante? Adesso che sai come è nato e come funziona, non ti resta che diventare un guerriero del nostro muro di scudi!
Qui trovi il link alla Repository GitHub del progetto, nella quale puoi trovare la codebase e le open issue. Se il progetto ti piace non dimenticarti di mettere una stella, in modo che sempre più persone possano scoprirlo.
La documentazione completa è disponibile sul sito ufficiale di Rönd: qui puoi anche trovare un esempio di quello che puoi costruire con Rönd, insieme ad altre risorse utili.
Come per ogni progetto open‑source, anche per Rönd la community è fondamentale per il suo successo. Infatti il muro di scudi funziona soltanto se i guerrieri si supportano a vicenda. Qualunque feedback o contributo è benvenuto! Non esitare ad aprire una nuova issue o una pull request: basta seguire le linee guida per i contributi e rispettare il codice di condotta.
Inoltre, non dimenticare di unirti alle GitHub Discussions: al loro interno puoi trovare informazioni utili e chiedere consigli agli altri utenti. Ci piacerebbe conoscere tutte le persone che usano Rönd, quindi perché non passi a salutare e a raccontarci le cose meravigliose che hai creato usando Rönd?
Infine, condividi questo annuncio con i tuoi amici e colleghi: il nostro obiettivo è risolvere un problema importante e molto comune, e abbiamo bisogno del tuo aiuto per raggiungere tutti quelli che potrebbero avere bisogno di una soluzione open‑source come Rönd.
Se vuoi saperne di più su questo e su tutti i software open‑source di Mia‑Platform, dai un'occhiata a questa pagina del nostro sito: qui puoi trovare la panoramica completa della nostra cultura, una breve descrizione di ogni progetto e il link ai rispettivi siti e repository.
© MIA s.r.l. Tutti i diritti riservati