PyPI 現在允許您發布包而無需綁定密碼和令牌

的PyPI

PyPI 是 Python 編程語言第三方應用程序的官方軟件存儲庫。

前幾天有消息爆出 Python PyPI 包存儲庫 (Python 包索引)已經 提供使用新的安全方法發布包的能力,這樣就無需在外部系統(例如 GitHub Actions)中存儲硬密碼和 API 訪問令牌。

新的身份驗證方法具有名稱“值得信賴的出版商” 旨在解決因外部系統受損和預定義密碼或令牌落入壞人之手而發布惡意更新的問題。

從今天開始,PyPI 包維護者可以採用一種新的、更安全的發布方法,不需要長期密碼或 API 令牌即可與外部系統共享。

有人提到,與其他傳統的 PyPI 身份驗證方法相比,這種新的身份驗證方法具有顯著的可用性和安全性優勢:

  • 可用性: 通過可信發布,用戶不再需要在 PyPI 中手動創建 API 令牌並將它們複製並粘貼到他們的 CI 提供程序中。 唯一的手動步驟是在 PyPI 中配置編輯器。
  • 安全性: 常規的 PyPI API 令牌是長期存在的,這意味著破壞包發布的攻擊者可以使用它,直到其合法用戶注意到並手動撤銷它。 同樣,使用密碼上傳意味著攻擊者可以上傳與該帳戶關聯的任何項目。 Trusted Publishing 避免了這兩個問題:頒發的令牌自動過期並且僅限於它們被授權上傳到的包。

關於這種新的身份驗證方法,提到 基於 OpenID Connect 標準(OIDC),其中 使用限時交換的身份驗證令牌 在外部服務和 PyPI 目錄之間驗證包發布操作,而不是使用傳統的登錄/密碼或由訪問令牌手動生成的持久 API。

“可信發布”是我們使用 OpenID Connect (OIDC) 標准在可信第三方服務和 PyPI 之間交換短期身份令牌的術語。 此方法可用於自動化環境,無需使用用戶名/密碼組合或手動生成的 API 令牌在發佈時通過 PyPI 進行身份驗證。

另一方面,還提到包維護者可以在 PyPI 端信任提供給外部 OpenID 提供商 (IdP) 的標識符,外部服務將使用這些標識符來請求 PyPI 的非實時令牌。

生成的 OpenID Connect 令牌確認項目和控制器之間的關係, 這允許 PyPI 執行額外的元數據驗證,例如驗證已發布的包是否與特定存儲庫相關聯。 令牌不是永久性的,它們與特定的 API 相關聯,並且會在短暫的生命週期後自動過期。

相反,PyPI 維護者可以將 PyPI 配置為信任給定 OpenID Connect 身份提供者 (IdP) 提供的身份。 這允許 PyPI 驗證身份並將信任委託給該身份,然後該身份被授權從 PyPI 請求有限範圍、短期的 API 令牌。 這些 API 令牌永遠不需要存儲或共享,在快速到期時自動輪換,並在已發布的包及其來源之間提供可驗證的鏈接。

現在 使用該機制的能力 “值得信賴的出版商” 它已經實施並運行。 對於在 GitHub Actions 上啟動的控制器。 最後但並非最不重要的一點是,還提到未來有望與 Trusted Publishers 兼容其他外部服務。

終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。