Hugging Face 使用 Infisical 的机密管理扩展

Hugging Face 已将其机密管理迁移至 Infisical,以在多云基础设施中统一敏感配置数据。此转变解决了机密散乱和手动轮换的风险,同时提供了与 Kubernetes、CI/CD 流水线以及本地开发环境集成的开发者友好工作流。

Centralizing Multi-Cloud Secrets Management

Hugging Face 从仅使用 AWS 的架构转向包括 Azure 和 GCP 在内的多云环境。为避免像 HashiCorp Vault 这类重量级方案的复杂性,团队采用 Infisical 来提供多云抽象层和集中式凭证管理系统。

此次迁移解决了若干关键的基础设施难题:

  • Secret Sprawl: 在不同环境中管理不一致导致安全风险增加。
  • Permission Complexity: 团队规模扩大需要更严格的基于角色的访问控制(RBAC),并与 Okta SSO 集成。
  • Local Development Friction: 传统的 .env 文件使用削弱了安全性并降低了开发者生产力。
  • Manual Rotation Burden: 之前一次因凭证泄露导致的安全事件凸显了自动化机密轮换的必要性。

Kubernetes Integration and Automation

Kubernetes 是 Hugging Face 生产环境的核心。团队使用 Infisical Kubernetes Operator 自动同步 Infisical 平台与 Kubernetes 对象之间的机密。

Automated Secret Syncing

Infisical Operator 监控 Infisical 平台的变更,并将更新传播到相应的 Kubernetes secret。这通过 InfisicalSecret Custom Resource Definition (CRD) 实现,后者将特定的 Infisical secret ID 映射到目标 Kubernetes secret 名称。

Deployment Control

虽然 Infisical Operator 可以在机密变更时自动触发容器重新加载,Hugging Face 的工程师通常选择手动重新部署。此决定是为了在每分钟处理超过 1000 万请求、跨多个副本的环境中保持对部署的精确控制。

Local Development and CI/CD Workflows

为消除不安全的本地 .env 文件,Hugging Face 使用 Infisical CLI 将机密直接注入开发环境。这确保本地配置与生产标准保持一致,并降低新工程师的上手摩擦。

在 CI/CD 方面,Infisical 通过 OIDC 认证和 Terraform 集成到 GitHub Actions 中。通过在安全环境中使用自托管 runner,团队确保每次部署都符合生产级安全标准。

Security and Access Management

安全性通过与 Okta 集成的细粒度 RBAC 系统得到加强。权限自动从 Okta 组映射,使开发者能够对其特定项目拥有管理权限,同时对前端和后端团队实施读/写访问限制。

此外,平台为 ML/AI 研究人员提供安全的凭证共享,并简化审计和机密轮换流程,这对快速的事件响应至关重要。

Technical Outcomes

使用 Infisical 集中管理机密带来了多项关键运营改进:

  • Reduced Configuration Time: 自助工作流消除了工程师手动配置环境机密的需求。
  • Enhanced Incident Response: 自动审计和细粒度访问控制实现了“左移”安全策略。
  • Infrastructure Consistency: 在云提供商、Kubernetes 集群和 CI/CD 流水线之间的统一集成消除了机密管理上的差异。

正如 Hugging Face 基础设施负责人 Adrien Carreira 所言:

"Infisical 提供了我们提升安全姿态并节省工程时间所需的全部功能和安全设置。无论是本地工作、在生产环境中运行 Kubernetes 集群,还是在 CI/CD 流水线中管理机密,Infisical 都拥有无缝的预构建工作流。"

Sources