PyPI é o repositório de software oficial para aplicativos de terceiros na linguagem de programação Python.
Alguns dias atrĂĄs, veio a notĂcia de que o repositĂłrio de pacotes Python PyPI (Python Package Index) jĂĄ fornece a capacidade de usar um novo mĂ©todo seguro de publicação de pacotes, o que elimina a necessidade de armazenar senhas rĂgidas e tokens de acesso Ă API em sistemas externos (por exemplo, no GitHub Actions).
O novo método de autenticação tem o nome'Editores confiåveis' e é projetado para resolver o problema de atualizaçÔes maliciosas lançadas como resultado de sistemas externos comprometidos e senhas ou tokens predefinidos caindo em mãos erradas.
A partir de hoje, os mantenedores de pacotes PyPI podem adotar um novo método de publicação mais seguro que não requer senhas de longa duração ou tokens de API para compartilhar com sistemas externos.
à mencionado que este novo método de autenticação confere vantagens significativas de usabilidade e segurança em comparação com os outros métodos tradicionais de autenticação PyPI:
- Usabilidade: Com a publicação confiĂĄvel, os usuĂĄrios nĂŁo precisam mais criar tokens de API manualmente no PyPI e copiĂĄ-los e colĂĄ-los em seu provedor de CI. A Ășnica etapa manual Ă© configurar o editor no PyPI.
- Segurança: os tokens regulares da API PyPI sĂŁo de longa duração, o que significa que um invasor que compromete o lançamento de um pacote pode usĂĄ-lo atĂ© que seu usuĂĄrio legĂtimo o notifique e o revogue manualmente. Da mesma forma, fazer upload com uma senha significa que um invasor pode fazer upload de qualquer projeto associado Ă conta. A publicação confiĂĄvel evita esses dois problemas: os tokens emitidos expiram automaticamente e sĂŁo limitados apenas aos pacotes para os quais estĂŁo autorizados a carregar.
Relativamente a este novo método de autenticação, refere-se que é baseado no padrão OpenID Connect (OIDC), que usa tokens de autenticação com limite de tempo trocados entre serviços externos e o diretório PyPI para validar uma operação de publicação de pacote, em vez de usar um login/senha tradicional ou uma API persistente gerada manualmente por tokens de acesso.
âPublicação confiĂĄvelâ Ă© nosso termo para usar o padrĂŁo OpenID Connect (OIDC) para trocar tokens de identidade de curta duração entre um serviço terceirizado confiĂĄvel e o PyPI. Esse mĂ©todo pode ser usado em ambientes automatizados e elimina a necessidade de usar combinaçÔes de nome de usuĂĄrio/senha ou tokens de API gerados manualmente para autenticar com PyPI ao publicar.
Por outro lado, também é mencionado que os mantenedores de pacotes podem, do lado do PyPI, confiar em identificadores fornecidos a OpenID Providers (IdPs) externos, que o serviço externo usarå para solicitar tokens não ativos. de PyPI.
Os tokens OpenID Connect gerados confirmam a relação entre o projeto e o controlador, o que permite que o PyPI execute verificação adicional de metadados, como verificar se o pacote publicado estĂĄ associado a um repositĂłrio especĂfico. Os tokens nĂŁo sĂŁo persistentes, estĂŁo vinculados a APIs especĂficas e expiram automaticamente apĂłs um curto tempo de vida.
Em vez disso, os mantenedores do PyPI podem configurar o PyPI para confiar em uma identidade fornecida por um determinado provedor de identidade (IdP) do OpenID Connect. Isso permite que PyPI verifique e delegue confiança a essa identidade, que é autorizada a solicitar tokens de API de escopo limitado e de curta duração do PyPI. Esses tokens de API nunca precisam ser armazenados ou compartilhados, giram automaticamente na expiração råpida e fornecem um link verificåvel entre um pacote publicado e sua origem.
Atualmente a a capacidade de usar o mecanismo "Editores confiĂĄveis" JĂĄ estĂĄ implementado e funcionando. para controladores iniciados no GitHub Actions. Por Ășltimo, mas nĂŁo menos importante, tambĂ©m Ă© mencionado que a compatibilidade com Editores ConfiĂĄveis ââpara outros serviços externos Ă© esperada no futuro.
Finalmente se vocĂȘ estiver interessado em saber mais sobre isso, vocĂȘ pode verificar os detalhes no link a seguir.