PyPI е официалното софтуерно хранилище за приложения на трети страни на езика за програмиране Python.
Преди няколко дни новината гръмна това хранилището на пакети Python PyPI (Индекс на Python Package) вече предоставя възможност за използване на нов защитен метод за публикуване на пакети, което елиминира необходимостта от съхраняване на твърди пароли и токени за достъп до API във външни системи (например в GitHub Actions).
Новият метод за удостоверяване има името„Доверени издатели“ и е предназначен да реши проблема със злонамерените актуализации, които се пускат в резултат на компрометирани външни системи и предварително дефинирани пароли или токени, попадащи в неподходящи ръце.
От днес поддържащите пакети на PyPI могат да приемат нов, по-сигурен метод за публикуване, който не изисква дълготрайни пароли или API токени за споделяне с външни системи.
Споменава се, че този нов метод за удостоверяване предоставя значителни предимства в използваемостта и сигурността в сравнение с другите традиционни методи за удостоверяване на PyPI:
- използваемост: С надеждното публикуване потребителите вече не трябва ръчно да създават API токени в PyPI и да ги копират и поставят в техния доставчик на CI. Единствената ръчна стъпка е да конфигурирате редактора в PyPI.
- сигурност: обикновените API токени на PyPI са с дълъг живот, което означава, че нападател, който компрометира издание на пакет, може да го използва, докато законният му потребител не забележи и ръчно не го отмени. По същия начин качването с парола означава, че нападателят може да качи всеки проект, свързан с акаунта. Надеждното публикуване избягва и двата проблема: Издадените токени изтичат автоматично и са ограничени само до пакетите, в които са упълномощени да качват.
По отношение на този нов метод за удостоверяване се споменава, че е базиран на стандарта OpenID Connect (OIDC), който използва обменени токени за удостоверяване с ограничено време между външни услуги и директорията на PyPI, за да валидирате операция за публикуване на пакет, вместо да използвате традиционно влизане/парола или постоянен API, генериран ръчно от токени за достъп.
„Доверена публикация“ е нашият термин за използване на стандарта OpenID Connect (OIDC) за обмен на краткотрайни токени за самоличност между доверена услуга на трета страна и PyPI. Този метод може да се използва в автоматизирани среди и елиминира необходимостта от използване на комбинации от потребителско име/парола или ръчно генерирани API токени за удостоверяване с PyPI при публикуване.
От друга страна, също така се споменава, че поддържащите пакети могат, от страна на PyPI, да се доверяват на идентификатори, предоставени на външни доставчици на OpenID (IdP), които външната услуга ще използва, за да поиска неактивни токени на PyPI.
Генерираните OpenID Connect токени потвърждават връзката между проекта и контролера, което позволява на PyPI да извършва допълнителна проверка на метаданни, като например проверка дали публикуваният пакет е свързан с конкретно хранилище. Токените не са постоянни, те са свързани с конкретни API и автоматично изтичат след кратък живот.
Вместо това поддържащите PyPI могат да конфигурират PyPI да се доверява на самоличност, предоставена от даден доставчик на идентичност (IdP) за OpenID Connect. Това позволява на PyPI да провери и делегира доверие на тази самоличност, която след това е упълномощена да изисква краткотрайни API токени с ограничен обхват от PyPI. Тези API токени никога не трябва да се съхраняват или споделят, автоматично се сменят при бързо изтичане и осигуряват проверима връзка между публикуван пакет и неговия източник.
Сега способността да използвате механизма „Доверени издатели“ Той вече е внедрен и работи. за контролери, стартирани на GitHub Actions. Не на последно място, споменава се също, че в бъдеще се очаква съвместимост с Trusted Publishers за други външни услуги.
Накрая ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.