RubyGems 導覽選單
指南

受信任的發布是一個術語,用於使用 OpenID Connect (OIDC) 在受信任的第三方服務和 RubyGems.org 之間交換短暫的身分識別代碼。這允許在自動化環境(例如 CI)中取得短暫的 API 代碼,而無需儲存長效的 API 代碼或使用者名稱/密碼憑證。

有關快速入門指南,請參閱

運作方式

受信任的發布是一種上傳寶石至 RubyGems.org 的機制,無需使用長效的秘密憑證。

您不需要成為 OIDC 專家就能使用受信任的發布,但了解其運作方式的基本原理會有幫助。

  1. 某些平台,例如 GitHub Actions,是 OIDC 身分提供者,表示他們可以發出短期身分權杖,第三方可以強力驗證這些權杖來自 CI 服務(以及觸發建置的儲存庫、工作流程和提交)。
  2. RubyGems.org 上的寶石可以設定為信任特定提供者的特定組態,讓該組態成為該寶石的受信任發布者。
  3. 發布自動化(例如 GitHub Actions)可以將身分權杖兌換成 RubyGems.org 的短期 API 權杖,前提是權杖與 RubyGems.org 上設定的任何受信任發布者相符。
  4. API 權杖只能用於推送到設定為信任發布者的寶石,而且只能在短時間內使用。

與傳統驗證機制相比,此機制具有顯著的安全性和可用性優勢

  • 可用性:受信任的發布不需要手動建立和儲存 RubyGems.org 的 API 權杖。唯一的步驟是手動在 RubyGems.org 上設定受信任的發布者。
  • 安全性:RubyGems.org 的一般 API 權杖是長期的,表示取得權杖的攻擊者可以無限期使用它。受信任的發布權杖是短期的,表示它們只能在短時間內使用。

進一步閱讀

我們強烈建議查看我們的 PyPI 朋友撰寫的優秀文件,以取得有關受信任發布運作方式的更深入資訊