PyPI és el repositori de programari oficial per a aplicacions de tercers en el llenguatge de programació Python.
Fa pocs dies es va donar a conèixer la notÃcia que el repositori de paquets Python PyPI (Python Package Index) ja brinda la capacitat d'usar un nou mètode segur per publicar paquets, el que elimina la necessitat demmagatzemar contrasenyes fixes i tokens daccés a lAPI en sistemes externs (per exemple, en GitHub Actions).
El nou mètode d'autenticació té com a nom' Editors de confiança ' i està dissenyat per resoldre el problema de la publicació d'actualitzacions malicioses com a resultat de sistemes externs compromesos i contrasenyes o tokens predefinits que cauen en mans equivocades.
A partir d'avui, els mantenidors de paquets de PyPI poden adoptar un nou mètode de publicació i més segur que no requereix contrasenyes de llarga durada ni tokens d'API per compartir amb sistemes externs.
S'esmenta que aquest nou mètode d'autenticació confereix avantatges importants d'usabilitat i seguretat en comparació amb els altres mètodes d'autenticació tradicionals de PyPI:
- usabilitat: amb la publicació fiable, els usuaris ja no necessiten crear manualment tokens d'API a PyPI i copiar-los i enganxar-los al proveïdor de CI. L'únic pas manual és configurar l'editor a PyPI.
- seguretat: els tokens API normals de PyPI són de llarga durada, el que significa que un atacant que comprometi el llançament d'un paquet pot utilitzar-lo fins que el vostre usuari legÃtim se n'adoni i ho revoqui manualment. De la mateixa manera, carregar una contrasenya significa que un atacant pot carregar qualsevol projecte associat amb el compte. La publicació fiable evita aquests dos problemes: els tokens emesos caduquen automà ticament i es limiten només als paquets en què estan autoritzats a carregar.
Sobre aquest nou mètode d'autenticació, s'esmenta que es basa en l'està ndard OpenID Connect (OIDC), que utilitza tokens d'autenticació de temps limitat intercanviats entre serveis externs i el directori PyPI per validar una operació de publicació de paquets, en lloc de fer servir un inici de sessió/contrasenya tradicional o una API persistent generada manualment per tokens d'accés.
«Publicació de confiança» és el nostre terme per utilitzar l'està ndard OpenID Connect (OIDC) per intercanviar tokens d'identitat de curta durada entre un servei de tercers de confiança i PyPI. Aquest mètode es pot utilitzar en entorns automatitzats i elimina la necessitat de fer servir combinacions de nom d'usuari/contrasenya o tokens API generats manualment per autenticar-se amb PyPI en publicar.
D'altra banda, també s'esmenta que els mantenidors de paquets poden, al costat de PyPI, confiar en els identificadors proporcionats als proveïdors d'OpenID externs (IdP, OpenID Connect Identity Provider), que el servei extern utilitzarà per sol·licitar tokens no vius de PyPI.
Els tokens d'OpenID Connect generats confirmen la relació entre el projecte i el controlador, el que permet a PyPI realitzar una verificació de metadades addicional, com ara verificar que el paquet publicat estigui associat amb un repositori especÃfic. Els tokens no són persistents, estan vinculats a API especÃfiques i caduquen automà ticament després d'un perÃode de vida breu.
En canvi, els mantenidors de PyPI poden configurar PyPI per confiar en una identitat proporcionada per un proveïdor d'identitat (IdP) d'OpenID Connect donat. Això permet que PyPI verifiqui i delegue la confiança en aquesta identitat, que després està autoritzada per sol·licitar tokens d'API d'abast limitat i de curta durada de PyPI. Aquests tokens d'API mai no necessiten emmagatzemar-se ni compartir-se, trenquen automà ticament en expirar rà pidament i proporcionen un enllaç verificable entre un paquet publicat i la seva font.
Actualment la capacitat d'usar el mecanisme «Editors de confiança» ja està implementada i en funcionament per als controladors iniciats a GitHub Actions. Per últim i no menys important, també es fa esment que s'espera en el futur la compatibilitat amb Trusted Publishers per a altres serveis externs.
Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.