PyPI ora ti consente di pubblicare pacchetti senza essere legato a password e token

PyPI

PyPI è il repository software ufficiale per applicazioni di terze parti nel linguaggio di programmazione Python.

Qualche giorno fa è stato annunciato che il repository di pacchetti Python PyPI (Python Package Index) offre ora un nuovo metodo sicuro per la pubblicazione dei pacchetti , eliminando la necessità di memorizzare password fisse e token di accesso API su sistemi esterni (ad esempio, GitHub Actions).

Il nuovo metodo di autenticazione si chiama "Trusted Publishers" ed è progettato per risolvere il problema degli aggiornamenti dannosi pubblicati a seguito di sistemi esterni compromessi e della conseguente diffusione di password o token predefiniti nelle mani sbagliate.

A partire da oggi, i manutentori dei pacchetti PyPI possono adottare un nuovo metodo di pubblicazione più sicuro che non richiede password di lunga durata o token API da condividere con sistemi esterni.

Si dice che questo nuovo metodo di autenticazione conferisce significativi vantaggi in termini di usabilità e sicurezza rispetto agli altri metodi di autenticazione PyPI tradizionali:

  • usabilità: Con la pubblicazione attendibile, gli utenti non devono più creare manualmente token API in PyPI e copiarli e incollarli nel proprio provider CI. L'unico passaggio manuale è configurare l'editor in PyPI.
  • Sicurezza: i normali token API PyPI sono di lunga durata, il che significa che un utente malintenzionato che compromette la versione di un pacchetto può utilizzarlo fino a quando il suo utente legittimo non lo nota e lo revoca manualmente. Allo stesso modo, il caricamento con una password significa che un utente malintenzionato può caricare qualsiasi progetto associato all'account. La pubblicazione attendibile evita entrambi questi problemi: i token emessi scadono automaticamente e sono limitati solo ai pacchetti in cui sono autorizzati a caricare.

Riguardo a questo nuovo metodo di autenticazione, viene menzionato che si basa sullo standard OpenID Connect (OIDC), che utilizza token di autenticazione a tempo limitato scambiati tra servizi esterni e la directory PyPI per convalidare un'operazione di pubblicazione di un pacchetto, invece di utilizzare un tradizionale login/password o un'API persistente generata manualmente tramite token di accesso.

"Pubblicazione attendibile" è il nostro termine per l'utilizzo dello standard OpenID Connect (OIDC) per lo scambio di token di identità di breve durata tra un servizio di terze parti attendibile e PyPI. Questo metodo può essere utilizzato in ambienti automatizzati ed elimina la necessità di utilizzare combinazioni di nome utente/password o token API generati manualmente per l'autenticazione con PyPI durante la pubblicazione.

D'altra parte, viene anche menzionato che i manutentori di pacchetti possono, sul lato PyPI, fidarsi degli identificatori forniti agli OpenID Provider (IdP) esterni, che il servizio esterno utilizzerà per richiedere i token non live di PyPI.

I token OpenID Connect generati confermano la relazione tra il progetto e il driver, consentendo a PyPI di eseguire ulteriori verifiche dei metadati, come ad esempio la verifica che il pacchetto pubblicato sia associato a un repository specifico. I token non sono persistenti, sono legati ad API specifiche e scadono automaticamente dopo un breve periodo di tempo.

Invece, i manutentori di PyPI possono configurare PyPI per fidarsi di un'identità fornita da un determinato provider di identità OpenID Connect (IdP). Ciò consente a PyPI di verificare e delegare la fiducia a tale identità, che è quindi autorizzata a richiedere a PyPI token API di portata limitata e di breve durata. Questi token API non devono mai essere archiviati o condivisi, ruotano automaticamente alla scadenza rapida e forniscono un collegamento verificabile tra un pacchetto pubblicato e la sua origine.

Attualmente, la possibilità di utilizzare il meccanismo Trusted Publishers è già implementata e operativa per i controller avviati in GitHub Actions. Infine, e aspetto importante, viene anche menzionato che in futuro è previsto il supporto per Trusted Publishers anche per altri servizi esterni.

Infine, se siete interessati ad approfondire l'argomento , potete trovare maggiori dettagli al seguente link.


Aggiungi come fonte preferita in Google