PyPI er det officielle softwarelager til tredjepartsapplikationer i programmeringssproget Python.
For et par dage siden brød nyheden om det Python PyPI-pakkelageret (Python Package Index) allerede giver mulighed for at bruge en ny sikker metode til udgivelse af pakker, hvilket eliminerer behovet for at gemme hĂ¥rde adgangskoder og API-adgangstokens i eksterne systemer (for eksempel i GitHub Actions).
Den nye godkendelsesmetode har navnet"Trusted Publishers" og er designet til at løse problemet med ondsindede opdateringer, der frigives som følge af kompromitterede eksterne systemer og foruddefinerede adgangskoder eller tokens, der falder i de forkerte hænder.
Fra i dag kan PyPI-pakkevedligeholdere vedtage en ny, mere sikker publiceringsmetode, der ikke kræver langvarige adgangskoder eller API-tokens for at dele med eksterne systemer.
Det nævnes, at denne nye autentificeringsmetode giver betydelige brugervenlige og sikkerhedsmæssige fordele sammenlignet med de andre traditionelle PyPI-godkendelsesmetoder:
- anvendelighed: Med betroet udgivelse behøver brugere ikke længere manuelt at oprette API-tokens i PyPI og kopiere og indsætte dem i deres CI-udbyder. Det eneste manuelle trin er at konfigurere editoren i PyPI.
- sikkerhed: almindelige PyPI API-tokens har lang levetid, hvilket betyder, at en hacker, der kompromitterer en pakkeudgivelse, kan bruge den, indtil dens legitime bruger bemærker det og tilbagekalder det manuelt. PĂ¥ samme mĂ¥de betyder upload med en adgangskode, at en hacker kan uploade ethvert projekt, der er knyttet til kontoen. Trusted Publishing undgĂ¥r begge disse problemer: Udstedte tokens udløber automatisk og er begrænset til kun de pakker, de har tilladelse til at uploade til.
Med hensyn til denne nye autentificeringsmetode nævnes det er baseret pĂ¥ OpenID Connect-standarden (OIDC), som bruger tidsbegrænsede autentificeringstokens, der udveksles mellem eksterne tjenester og PyPI-biblioteket for at validere en pakkeudgivelsesoperation i stedet for at bruge et traditionelt login/adgangskode eller en vedvarende API genereret manuelt af adgangstokens.
"Trusted Publication" er vores betegnelse for at bruge OpenID Connect-standarden (OIDC) til at udveksle kortlivede identitetstokens mellem en betroet tredjepartstjeneste og PyPI. Denne metode kan bruges i automatiserede miljøer og eliminerer behovet for at bruge brugernavn/adgangskodekombinationer eller manuelt genererede API-tokens til at godkende med PyPI ved udgivelse.
PĂ¥ den anden side nævnes det ogsĂ¥, at pakkevedligeholdere pĂ¥ PyPI-siden kan stole pĂ¥ identifikatorer leveret til eksterne OpenID Providers (IdP'er), som den eksterne service vil bruge til at anmode om ikke-live tokens af PyPI.
De genererede OpenID Connect-tokens bekræfter forholdet mellem projektet og controlleren, som gør det muligt for PyPI at udføre yderligere metadataverifikation, sĂ¥som at verificere, at den offentliggjorte pakke er knyttet til et specifikt lager. Tokens er ikke persistente, de er bundet til specifikke API'er, og de udløber automatisk efter en kort levetid.
I stedet kan PyPI-vedligeholdere konfigurere PyPI til at stole pĂ¥ en identitet leveret af en given OpenID Connect-identitetsudbyder (IdP). Dette giver PyPI mulighed for at verificere og uddelegere tillid til denne identitet, som derefter er autoriseret til at anmode om begrænset omfang, kortlivede API-tokens fra PyPI. Disse API-tokens behøver aldrig at blive gemt eller delt, roterer automatisk ved hurtig udløb og giver et verificerbart link mellem en offentliggjort pakke og dens kilde.
Nu evnen til at bruge mekanismen "Trusted Publishers" Det er allerede implementeret og kører. for controllere startet pĂ¥ GitHub Actions. Sidst men ikke mindst nævnes det ogsĂ¥, at der i fremtiden forventes kompatibilitet med Trusted Publishers for andre eksterne tjenester.
Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.