<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Least Privilege on My personal blog</title>
        <link>https://www.matteobianchi.eu/tags/least-privilege/</link>
        <description>Recent content in Least Privilege on My personal blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 07 Jul 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://www.matteobianchi.eu/tags/least-privilege/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Il principio del privilegio minimo</title>
        <link>https://www.matteobianchi.eu/p/principio-minimo-privilegio/</link>
        <pubDate>Tue, 07 Jul 2026 09:00:00 +0200</pubDate>
        
        <guid>https://www.matteobianchi.eu/p/principio-minimo-privilegio/</guid>
        <description>&lt;img src="https://www.matteobianchi.eu/p/principio-minimo-privilegio/cover.png" alt="Featured image of post Il principio del privilegio minimo" /&gt;&lt;h2 id=&#34;perché-conta&#34;&gt;Perché conta
&lt;/h2&gt;&lt;p&gt;L&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://www.matteobianchi.eu/p/iam-identita-e-accessi/&#34; &gt;IAM&lt;/a&gt; ti dà il potere di concedere permessi con
precisione chirurgica. Il &lt;strong&gt;privilegio minimo&lt;/strong&gt; è la disciplina di usarlo bene: dare a ogni identità
&lt;em&gt;solo&lt;/em&gt; i permessi che le servono per il suo compito, e nulla di più. Non è un vezzo da puristi: è ciò
che trasforma una credenziale rubata da catastrofe a incidente contenuto. Se un&amp;rsquo;applicazione
compromessa può leggere un solo bucket, il danno finisce lì; se poteva fare &lt;code&gt;*&lt;/code&gt; su tutto, hai perso
l&amp;rsquo;intero account.&lt;/p&gt;
&lt;h2 id=&#34;il-raggio-desplosione&#34;&gt;Il raggio d&amp;rsquo;esplosione
&lt;/h2&gt;&lt;pre class=&#34;mermaid&#34;&gt;
  flowchart TD
    C[Credenziale compromessa] --&amp;gt; Q{Quali permessi&amp;lt;br/&amp;gt;aveva?}
    Q --&amp;gt;|&amp;#34;Admin / wildcard *&amp;#34;| B[Raggio enorme:&amp;lt;br/&amp;gt;tutto l&amp;#39;account a rischio]
    Q --&amp;gt;|&amp;#34;Solo lo stretto necessario&amp;#34;| S[Raggio minimo:&amp;lt;br/&amp;gt;danno contenuto a una risorsa]
    style B fill:#fde2e4,stroke:#e63946
    style S fill:#d8f3dc,stroke:#2d6a4f
&lt;/pre&gt;

&lt;p&gt;La domanda che conta dopo ogni compromissione è &amp;ldquo;cosa poteva fare questa identità?&amp;rdquo;. Il privilegio
minimo è ciò che rende la risposta accettabile. Si chiama &lt;strong&gt;raggio d&amp;rsquo;esplosione (blast radius)&lt;/strong&gt;: ogni
permesso in più lo allarga.&lt;/p&gt;
&lt;h2 id=&#34;i-tre-antipattern-da-evitare&#34;&gt;I tre antipattern da evitare
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;hl&#34;&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#34;Action&amp;#34;: &amp;#34;*&amp;#34;             → può fare QUALSIASI cosa su quel servizio
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#34;Resource&amp;#34;: &amp;#34;*&amp;#34;           → su QUALSIASI risorsa, non solo le sue
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line hl&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ruolo admin &amp;#34;per comodità&amp;#34; → assegnato a un&amp;#39;app che ne usa il 2%
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I wildcard sono comodi mentre sviluppi e letali in produzione. Il pattern giusto è l&amp;rsquo;opposto:
&lt;strong&gt;partire da zero permessi e aggiungere solo ciò che fallisce&lt;/strong&gt; — far girare l&amp;rsquo;applicazione, guardare
quali chiamate API vengono negate, concedere &lt;em&gt;esattamente&lt;/em&gt; quelle. Gli strumenti di analisi degli
accessi dei provider (access analyzer, policy advisor) aiutano a scoprire i permessi concessi ma mai
usati, da rimuovere.&lt;/p&gt;
&lt;h2 id=&#34;temporaneo-batte-permanente&#34;&gt;Temporaneo batte permanente
&lt;/h2&gt;&lt;p&gt;Il privilegio minimo ha anche una dimensione &lt;em&gt;temporale&lt;/em&gt;. Permessi elevati che servono di rado (un
deploy, un&amp;rsquo;operazione d&amp;rsquo;emergenza) non vanno lasciati sempre attivi: meglio concederli &lt;strong&gt;just-in-time&lt;/strong&gt;,
a scadenza, con un ruolo assumibile solo quando serve e con tracciamento. Un permesso che esiste solo
per i dieci minuti in cui serve non può essere abusato il resto del tempo.&lt;/p&gt;


&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Domanda:&lt;/strong&gt; partire da zero e aggiungere ogni permesso che fallisce è lentissimo e frustrante. In un team che deve consegnare, non è più pragmatico dare permessi larghi e stringere &#34;dopo&#34;?&lt;/summary&gt;
&lt;p&gt;È la trappola più comune e più costosa del cloud, perché quel &#34;dopo&#34; non arriva quasi mai —
e lo sanno bene anche gli attaccanti. Dare permessi larghi &#34;per ora&#34; crea tre problemi che si saldano.
Primo, &lt;em&gt;il dopo non viene&lt;/em&gt;: una volta che l&#39;app funziona con permessi larghi, nessuno torna a
stringerli, perché restringere rischia di rompere qualcosa in produzione e non dà alcun beneficio
visibile — è lavoro invisibile che si fa solo dopo un incidente. Secondo, &lt;em&gt;i permessi larghi
diventano invisibili&lt;/em&gt;: con decine di ruoli e wildcard sparsi, nessuno sa più chi può fare cosa, e
quando audit o incidente arrivano, scopri che mezza organizzazione aveva accesso admin &#34;temporaneo&#34; da
due anni. Terzo, &lt;em&gt;l&#39;abitudine si propaga&lt;/em&gt;: il ruolo largo copiato una volta viene riusato, e la
larghezza diventa lo standard di fatto. Il punto pragmatico vero è che partire stretti costa &lt;em&gt;meno&lt;/em&gt;
nel tempo, non di più: oggi gli strumenti generano la policy minima dai log di utilizzo quasi
automaticamente, parti da una policy di sviluppo permissiva &lt;em&gt;in ambiente di test&lt;/em&gt;, registri cosa
usa davvero, e promuovi in produzione la versione stretta già pronta. Così la velocità in sviluppo resta,
ma ciò che va in produzione è già minimo. La scorciatoia &#34;largo ora, stretto dopo&#34; non è pragmatismo: è
debito di sicurezza che si paga tutto insieme, con gli interessi, il giorno del breach.&lt;/p&gt;
&lt;/details&gt;


&lt;h2 id=&#34;conclusione&#34;&gt;Conclusione
&lt;/h2&gt;&lt;p&gt;Il privilegio minimo contiene il raggio d&amp;rsquo;esplosione di ogni credenziale compromessa: niente wildcard,
si parte da zero e si allarga solo sul necessario, si preferisce il temporaneo al permanente. Ma c&amp;rsquo;è
un&amp;rsquo;intera classe di identità che spesso riceve permessi troppo larghi e credenziali troppo durature:
le applicazioni e i server. Come darglieli in modo sicuro è il tema dell&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://www.matteobianchi.eu/p/identita-dei-workload/&#34; &gt;identità dei
workload&lt;/a&gt;, prossimo capitolo.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
