指南
受信任的發布是一個術語,用於使用 OpenID Connect (OIDC) 在受信任的第三方服務和 RubyGems.org 之間交換短暫的身分識別代碼。這允許在自動化環境(例如 CI)中取得短暫的 API 代碼,而無需儲存長效的 API 代碼或使用者名稱/密碼憑證。
有關快速入門指南,請參閱
運作方式
受信任的發布是一種上傳寶石至 RubyGems.org 的機制,無需使用長效的秘密憑證。
您不需要成為 OIDC 專家就能使用受信任的發布,但了解其運作方式的基本原理會有幫助。
- 某些平台,例如 GitHub Actions,是 OIDC 身分提供者,表示他們可以發出短期身分權杖,第三方可以強力驗證這些權杖來自 CI 服務(以及觸發建置的儲存庫、工作流程和提交)。
- RubyGems.org 上的寶石可以設定為信任特定提供者的特定組態,讓該組態成為該寶石的受信任發布者。
- 發布自動化(例如 GitHub Actions)可以將身分權杖兌換成 RubyGems.org 的短期 API 權杖,前提是權杖與 RubyGems.org 上設定的任何受信任發布者相符。
- API 權杖只能用於推送到設定為信任發布者的寶石,而且只能在短時間內使用。
與傳統驗證機制相比,此機制具有顯著的安全性和可用性優勢
- 可用性:受信任的發布不需要手動建立和儲存 RubyGems.org 的 API 權杖。唯一的步驟是手動在 RubyGems.org 上設定受信任的發布者。
- 安全性:RubyGems.org 的一般 API 權杖是長期的,表示取得權杖的攻擊者可以無限期使用它。受信任的發布權杖是短期的,表示它們只能在短時間內使用。
進一步閱讀
我們強烈建議查看我們的 PyPI 朋友撰寫的優秀文件,以取得有關受信任發布運作方式的更深入資訊