PyPI je službeno softversko spremište za aplikacije trećih strana u programskom jeziku Python.
Prije nekoliko dana pojavile su se vijesti spremište Python PyPI paketa (Python indeks paketa) već pruža mogućnost korištenja nove bezbedne metode objavljivanja paketa, što eliminiše potrebu za pohranjivanjem tvrdih lozinki i API pristupnih tokena u eksternim sistemima (na primjer, u GitHub Actions).
Nova metoda provjere autentičnosti ima ime'Pouzdani izdavači' i dizajniran je da riješi problem puštanja zlonamjernih ažuriranja kao rezultat kompromitovanih vanjskih sistema i unaprijed definiranih lozinki ili tokena koji dospiju u pogrešne ruke.
Od danas, održavaoci PyPI paketa mogu usvojiti novu, sigurniju metodu objavljivanja koja ne zahtijeva dugovječne lozinke ili API tokene za dijeljenje sa vanjskim sistemima.
Spominje se da ova nova metoda provjere autentičnosti daje značajne prednosti upotrebljivosti i sigurnosti u odnosu na druge tradicionalne PyPI metode autentifikacije:
- Upotrebljivost: Uz pouzdano objavljivanje, korisnici više ne moraju ručno kreirati API tokene u PyPI i kopirati ih i zalijepiti u svog CI provajdera. Jedini ručni korak je konfiguracija uređivača u PyPI.
- Bezbednost: redovni PyPI API tokeni su dugotrajni, što znači da napadač koji kompromituje izdanje paketa može ga koristiti sve dok njegov legitimni korisnik ne primijeti i ručno ga opozove. Slično, otpremanje sa lozinkom znači da napadač može učitati bilo koji projekat povezan sa nalogom. Trusted Publishing izbjegava oba ova problema: Izdani tokeni ističu automatski i ograničeni su samo na pakete u koje su ovlašteni za otpremanje.
Što se tiče ove nove metode autentifikacije, spominje se da je baziran na OpenID Connect standardu (OIDC), koji koristi razmijenjene vremenski ograničene tokene za autentifikaciju između eksternih servisa i PyPI direktorija za validaciju operacije objavljivanja paketa, umjesto korištenja tradicionalne prijave/lozinke ili trajnog API-ja generiranog ručno pomoću tokena pristupa.
“Pouzdana publikacija” je naš izraz za korištenje OpenID Connect (OIDC) standarda za razmjenu kratkotrajnih tokena identiteta između pouzdane usluge treće strane i PyPI. Ova metoda se može koristiti u automatiziranim okruženjima i eliminira potrebu za korištenjem kombinacija korisničkog imena/lozinke ili ručno generiranih API tokena za autentifikaciju pomoću PyPI-ja prilikom objavljivanja.
S druge strane, također se spominje da održavatelji paketa mogu, na PyPI strani, vjerovati identifikatorima koji se pružaju vanjskim OpenID provajderima (IdPs), koje će eksterni servis koristiti za traženje neživih tokena PyPI-ja.
Generirani OpenID Connect tokeni potvrđuju odnos između projekta i kontrolera, što omogućava PyPI-ju da izvrši dodatnu verifikaciju metapodataka, kao što je provjera da je objavljeni paket povezan sa određenim spremištem. Tokeni nisu trajni, vezani su za određene API-je i automatski ističu nakon kratkog vijeka trajanja.
Umjesto toga, PyPI održavatelji mogu konfigurirati PyPI da vjeruje identitetu koji pruža dati OpenID Connect provajder identiteta (IdP). Ovo omogućava PyPI-ju da potvrdi i delegira povjerenje tom identitetu, koji je zatim ovlašten da od PyPI-ja zatraži API tokene ograničenog opsega, kratkog vijeka. Ovi API tokeni nikada ne moraju biti pohranjeni ili dijeljeni, automatski se rotiraju nakon brzog isteka i pružaju provjerljivu vezu između objavljenog paketa i njegovog izvora.
Trenutno sposobnost korištenja mehanizma "Pouzdani izdavači" Već je implementiran i radi. za kontrolere pokrenute na GitHub Actions. Na kraju, ali ne i najmanje važno, spominje se i da se u budućnosti očekuje kompatibilnost sa Trusted Publishers za druge eksterne usluge.
Konačno ako ste zainteresirani da saznate više o tome, možete provjeriti detalje Na sledećem linku.