PyPI je oficiální softwarové úložiště pro aplikace třetích stran v programovacím jazyce Python.
Před pár dny to přinesla zpráva úložiště balíčků Python PyPI (Python Package Index) již poskytuje možnost používat nový bezpečný způsob publikování balíčků, což eliminuje potřebu ukládat pevná hesla a přístupové tokeny API v externích systémech (například v GitHub Actions).
Nová metoda ověřování má název'Důvěryhodní vydavatelé' a je navržen tak, aby vyřešil problém se škodlivými aktualizacemi, které jsou vydávány v důsledku napadení externích systémů a předdefinovaných hesel nebo tokenů, které se dostaly do nesprávných rukou.
Ode dneška mohou správci balíčků PyPI přijmout novou, bezpečnější metodu publikování, která nevyžaduje dlouhodobá hesla nebo tokeny API pro sdílení s externími systémy.
Je zmíněno, že tato nová metoda autentizace poskytuje významné výhody v oblasti použitelnosti a zabezpečení ve srovnání s jinými tradičními metodami autentizace PyPI:
- Použitelnost: Díky důvěryhodnému publikování již uživatelé nemusí ručně vytvářet tokeny API v PyPI a kopírovat je a vkládat do svého poskytovatele CI. Jediným ručním krokem je konfigurace editoru v PyPI.
- Bezpečnost: běžné tokeny rozhraní PyPI API mají dlouhou životnost, což znamená, že útočník, který ohrozí vydání balíčku, je může používat, dokud si to jeho legitimní uživatel nevšimne a ručně jej neodvolá. Podobně nahrávání s heslem znamená, že útočník může nahrát jakýkoli projekt spojený s účtem. Trusted Publishing se vyhýbá oběma těmto problémům: Platnost vydaných tokenů vyprší automaticky a jsou omezeny pouze na balíčky, do kterých mají oprávnění nahrávat.
Ohledně této nové autentizační metody je zmíněno, že je založeno na standardu OpenID Connect (OIDC), který používá vyměněné časově omezené ověřovací tokeny mezi externími službami a adresářem PyPI k ověření operace publikování balíčku, spíše než pomocí tradičního přihlášení/hesla nebo trvalého rozhraní API generovaného ručně přístupovými tokeny.
„Trusted Publication“ je náš termín pro používání standardu OpenID Connect (OIDC) k výměně krátkodobých tokenů identity mezi důvěryhodnou službou třetí strany a PyPI. Tuto metodu lze použít v automatizovaných prostředích a eliminuje potřebu používat kombinace uživatelského jména a hesla nebo ručně generované tokeny API k ověřování pomocí PyPI při publikování.
Na druhou stranu je také zmíněno, že správci balíčků mohou na straně PyPI důvěřovat identifikátorům poskytovaným externím poskytovatelům OpenID (IdP), které externí služba použije k vyžádání neživých tokenů PyPI.
Vygenerované tokeny OpenID Connect potvrzují vztah mezi projektem a kontrolérem, což umožňuje PyPI provádět další ověření metadat, jako je ověření, že publikovaný balíček je spojen s konkrétním úložištěm. Tokeny nejsou trvalé, jsou vázány na konkrétní API a jejich platnost automaticky vyprší po krátké životnosti.
Místo toho mohou správci PyPI nakonfigurovat PyPI tak, aby důvěřovalo identitě poskytnuté daným poskytovatelem identity OpenID Connect (IdP). To umožňuje PyPI ověřit a delegovat důvěru této identitě, která je pak oprávněna vyžadovat od PyPI tokeny API s omezeným rozsahem a krátkou životností. Tyto tokeny rozhraní API není nutné nikdy ukládat ani sdílet, automaticky se otáčejí při rychlém vypršení platnosti a poskytují ověřitelné spojení mezi publikovaným balíčkem a jeho zdrojem.
Nyní schopnost používat mechanismus "Důvěryhodní vydavatelé" Je již implementován a spuštěn. pro ovladače spuštěné na GitHub Actions. V neposlední řadě je také zmíněno, že se do budoucna očekává kompatibilita s Trusted Publishers pro další externí služby.
Konečně pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti Na následujícím odkazu.