Hugging Face 機密管理擴展與 Infisical

Hugging Face 已將其機密管理遷移至 Infisical,以在多雲基礎設施中集中敏感配置資料。此轉換解決了機密散落的風險與手動輪換的負擔,同時提供了與 Kubernetes、CI/CD 管道以及本地開發環境整合的開發者友好工作流程。

集中多雲機密管理

Hugging Face 從僅使用 AWS 的設定轉為包含 Azure 與 GCP 的多雲環境。為避免像 HashiCorp Vault 這類重量級解決方案的複雜性,團隊採用了 Infisical,提供多雲抽象層與集中式的憑證管理系統。

此遷移解決了多項關鍵基礎設施挑戰:

  • 機密散落:不同環境之間管理不一致,提升了安全風險。
  • 權限複雜度:團隊規模擴大需要更嚴謹的基於角色的存取控制(RBAC),並與 Okta SSO 整合。
  • 本地開發摩擦:傳統的 .env 檔案使用會削弱安全性且降低開發者生產力。
  • 手動輪換負擔:先前因憑證外洩而發生的安全事件凸顯了自動化機密輪換的必要性。

Kubernetes 整合與自動化

Kubernetes 是 Hugging Face 生產環境的核心。團隊使用 Infisical Kubernetes Operator 來自動同步 Infisical 平台與 Kubernetes 物件之間的機密。

自動機密同步

Infisical Operator 會監控 Infisical 平台的變更,並將更新傳播至相對應的 Kubernetes secret。這透過 InfisicalSecret Custom Resource Definition(CRD)實現,將特定的 Infisical 機密 ID 映射到目標 Kubernetes secret 名稱。

部署控制

雖然 Infisical Operator 能在機密變更時自動觸發容器重新載入,Hugging Face 的工程師通常會選擇手動重新部署。此決策有助於在每分鐘處理超過 1000 萬請求、且有大量副本的環境中,維持對部署的精確控制。

本地開發與 CI/CD 工作流程

為了消除不安全的本地 .env 檔案,Hugging Face 使用 Infisical CLI 直接將機密注入開發環境。這確保本地設定與生產標準保持一致,並降低新工程師的上手摩擦。

在 CI/CD 方面,Infisical 透過 OIDC 驗證與 Terraform 整合至 GitHub Actions。藉由在安全環境中使用自託管 runner,團隊確保每一次部署皆符合生產等級的安全標準。

安全與存取管理

安全性透過與 Okta 整合的細粒度 RBAC 系統得到加強。權限自動從 Okta 群組映射,使開發者能在其特定專案上保有管理權限,同時限制前端與後端團隊的讀寫存取。

此外,平台還提供安全的憑證共享給 ML/AI 研究人員,並簡化稽核與機密輪換流程,這對快速的事件回應至關重要。

技術成果

使用 Infisical 集中機密管理帶來了多項關鍵的營運改進:

  • 縮短配置時間:自助工作流程消除了工程師手動設定環境機密的需求。
  • 提升事件回應:自動稽核與細粒度存取控制使安全「左移」成為可能。
  • 基礎設施一致性:在雲供應商、Kubernetes 叢集與 CI/CD 管道之間的統一整合,消除了機密管理上的差異。

正如 Hugging Face 基礎設施負責人 Adrien Carreira 所言:

"Infisical 提供了我們提升安全姿態與節省工程時間所需的全部功能與安全設定。無論是本地開發、在生產環境中運行 Kubernetes 叢集,或是在 CI/CD 管道中操作機密,Infisical 都擁有無縫的預建工作流程。"

Sources