PyPI lar deg nå publisere pakker uten å være bundet til passord og tokens

PyPI

PyPI er det offisielle programvarelageret for tredjepartsapplikasjoner i programmeringsspråket Python.

For noen dager siden ble det annonsert at Python-pakkelageret PyPI (Python Package Index) nå tilbyr en ny sikker metode for publisering av pakker , noe som eliminerer behovet for å lagre faste passord og API-tilgangstokener på eksterne systemer (f.eks. GitHub Actions).

Den nye autentiseringsmetoden kalles «Trusted Publishers» og er utviklet for å løse problemet med at ondsinnede oppdateringer publiseres som følge av at kompromitterte eksterne systemer og forhåndsdefinerte passord eller tokener havner i gale hender.

Fra og med i dag kan PyPI-pakkevedlikeholdere ta i bruk en ny, sikrere publiseringsmetode som ikke krever langvarige passord eller API-tokens for å dele med eksterne systemer.

Det nevnes at denne nye autentiseringsmetoden gir betydelige brukervennlighet og sikkerhetsfordeler sammenlignet med de andre tradisjonelle PyPI-autentiseringsmetodene:

  • brukervennlighet: Med klarert publisering trenger ikke lenger brukere å opprette API-tokens manuelt i PyPI og kopiere og lime dem inn i CI-leverandøren. Det eneste manuelle trinnet er å konfigurere editoren i PyPI.
  • sikkerhet: vanlige PyPI API-tokener har lang levetid, noe som betyr at en angriper som kompromitterer en pakkeutgivelse kan bruke den til dens legitime bruker legger merke til og tilbakekaller den manuelt. På samme måte betyr opplasting med passord at en angriper kan laste opp et hvilket som helst prosjekt knyttet til kontoen. Trusted Publishing unngår begge disse problemene: Utstedte tokens utløper automatisk og er begrenset til bare pakkene de er autorisert til å laste opp til.

Angående denne nye autentiseringsmetoden nevnes det at den er basert på OpenID Connect ( OIDC)-standarden, som bruker tidsbegrensede autentiseringstokener utvekslet mellom eksterne tjenester og PyPI-katalogen for å validere en pakkepubliseringsoperasjon, i stedet for å bruke en tradisjonell pålogging/passord eller et permanent API generert manuelt av tilgangstokener.

"Trusted Publication" er vår betegnelse for bruk av OpenID Connect (OIDC)-standarden for å utveksle kortvarige identitetstegn mellom en pålitelig tredjepartstjeneste og PyPI. Denne metoden kan brukes i automatiserte miljøer og eliminerer behovet for å bruke brukernavn/passordkombinasjoner eller manuelt genererte API-tokens for å autentisere med PyPI ved publisering.

På den annen side nevnes det også at pakkevedlikeholdere på PyPI-siden kan stole på identifikatorer gitt til eksterne OpenID Providers (IdPs), som den eksterne tjenesten vil bruke for å be om ikke-live tokens av PyPI.

De genererte OpenID Connect-tokenene bekrefter forholdet mellom prosjektet og driveren, slik at PyPI kan utføre ytterligere metadataverifisering, for eksempel å bekrefte at den publiserte pakken er tilknyttet et bestemt repository. Tokenene er ikke permanente, er knyttet til bestemte API-er og utløper automatisk etter en kort levetid.

I stedet kan PyPI-vedlikeholdere konfigurere PyPI til å stole på en identitet levert av en gitt OpenID Connect-identitetsleverandør (IdP). Dette lar PyPI verifisere og delegere tillit til den identiteten, som deretter er autorisert til å be om kortvarige API-tokens med begrenset omfang fra PyPI. Disse API-tokenene trenger aldri å lagres eller deles, roterer automatisk ved rask utløpsdato, og gir en verifiserbar kobling mellom en publisert pakke og dens kilde.

Muligheten til å bruke mekanismen for pålitelige utgivere er allerede implementert og operativ for kontrollere som er initiert i GitHub Actions. Til slutt, og viktigst av alt, nevnes det også at fremtidig støtte for pålitelige utgivere forventes for andre eksterne tjenester.

Til slutt, hvis du er interessert i å lære mer om dette , kan du finne detaljene på følgende lenke.


Legg til som foretrukket kilde i Google