PyPI yra oficiali programinės įrangos saugykla, skirta trečiųjų šalių programoms Python programavimo kalba.
Prieš kelias dienas buvo paskelbta, kad „Python“ paketų saugykla „PyPI“ („Python Package Index“) dabar siūlo naują saugų paketų publikavimo metodą , panaikinantį poreikį saugoti fiksuotus slaptažodžius ir API prieigos raktus išorinėse sistemose (pvz., „GitHub Actions“).
Naujasis autentifikavimo metodas vadinamas „Patikimi leidėjai“ ir yra skirtas išspręsti kenkėjiškų atnaujinimų, kurie gali būti publikuojami dėl pažeistų išorinių sistemų ir iš anksto nustatytų slaptažodžių ar žetonų patekimo į netinkamas rankas, problemą.
Nuo šiandien PyPI paketų prižiūrėtojai gali taikyti naują, saugesnį publikavimo metodą, kuriam nereikia ilgalaikių slaptažodžių ar API prieigos raktų, kad būtų galima bendrinti su išorinėmis sistemomis.
Paminėta, kad šis naujas autentifikavimo metodas suteikia didelių naudojimo ir saugumo pranašumų, palyginti su kitais tradiciniais PyPI autentifikavimo metodais:
- Naudingumas: Naudojant patikimą publikavimą, vartotojams nebereikia rankiniu būdu kurti API prieigos raktų PyPI ir jų kopijuoti bei įklijuoti į savo CI teikėją. Vienintelis rankinis žingsnis yra sukonfigūruoti redaktorių PyPI.
- Apsauga: įprasti PyPI API prieigos raktai yra ilgaamžiai, o tai reiškia, kad paketo leidimą pažeidžiantis užpuolikas gali jį naudoti tol, kol teisėtas vartotojas nepastebės ir rankiniu būdu jį atšauks. Panašiai įkėlimas naudojant slaptažodį reiškia, kad užpuolikas gali įkelti bet kurį su paskyra susietą projektą. Patikimas leidimas leidžia išvengti abiejų šių problemų: išduotų prieigos raktų galiojimo laikas baigiasi automatiškai ir yra ribojamas tik paketais, į kuriuos jie turi teisę įkelti.
Kalbant apie šį naują autentifikavimo metodą, minima, kad jis pagrįstas „OpenID Connect“ ( OIDC) standartu, kuris naudoja laiko apribojimus turinčius autentifikavimo žetonus, kuriais keičiasi išorinės paslaugos ir „PyPI“ katalogas, kad patvirtintų paketo publikavimo operaciją, o ne tradicinį prisijungimo vardą / slaptažodį arba nuolatinę API, rankiniu būdu sugeneruotą prieigos žetonų.
„Patikimas leidinys“ yra mūsų terminas, reiškiantis „OpenID Connect“ (OIDC) standartą, norint keistis trumpalaikiais tapatybės prieigos raktais tarp patikimos trečiosios šalies paslaugos ir PyPI. Šis metodas gali būti naudojamas automatizuotose aplinkose ir pašalina poreikį naudoti vartotojo vardo/slaptažodžio derinius arba rankiniu būdu sugeneruotus API prieigos raktus, kad būtų galima autentifikuoti naudojant PyPI publikuojant.
Kita vertus, taip pat paminėta, kad paketų prižiūrėtojai PyPI pusėje gali pasitikėti išoriniams OpenID teikėjams (IdP) pateiktais identifikatoriais, kuriuos išorinė paslauga naudos prašydama neaktyvių PyPI prieigos raktų.
Sugeneruoti „OpenID Connect“ žetonai patvirtina projekto ir tvarkyklės ryšį, leisdami „PyPI“ atlikti papildomą metaduomenų patikrinimą, pavyzdžiui, patikrinti, ar paskelbtas paketas yra susietas su konkrečia saugykla. Žetonai nėra nuolatiniai, yra susieti su konkrečiomis API ir automatiškai nustoja galioti po trumpo laiko tarpo.
Vietoj to PyPI prižiūrėtojai gali sukonfigūruoti PyPI, kad pasitikėtų tapatybe, kurią teikia tam tikras OpenID Connect tapatybės teikėjas (IdP). Tai leidžia PyPI patikrinti ir perduoti pasitikėjimą ta tapatybe, kuri tada yra įgaliota prašyti ribotos apimties trumpalaikių API prieigos raktų iš PyPI. Šių API prieigos raktų niekada nereikia saugoti ar bendrinti, jie automatiškai keičiasi greitai pasibaigus galiojimo laikui ir suteikia patikrinamą nuorodą tarp paskelbto paketo ir jo šaltinio.
Šiuo metu „GitHub Actions“ inicijuotiems valdikliams jau įdiegta ir veikia galimybė naudoti patikimų leidėjų mechanizmą. Galiausiai, ir tai svarbu, taip pat paminėta, kad ateityje patikimų leidėjų palaikymas turėtų būti teikiamas ir kitoms išorinėms paslaugoms.
Galiausiai, jei norite sužinoti daugiau apie tai , galite rasti išsamią informaciją šioje nuorodoje.