概述将长期密钥存入 CI/CD 是高风险做法。GitHub Actions 支持通过 OIDC 与云提供商直接建立信任,颁发短期凭证替代长期 Secrets,降低泄漏面并提升审计性与可撤销性。Secrets 与 OIDC 的取舍Secrets:适合少量、非云账户的敏感配置,但需严格轮换与访问控制。OIDC:工作流运行时与云提供商进行身份联合,获取短期令牌,无需保存长期密钥,符合零信任理念[参考1]。配置要点最小权限:限制 OIDC 令牌主题(repo、环境)与 `id-token` 权限,仅向特定角色授信;为云角色配置严格的信任策略与条件过滤[参考1,2,3]。分支/环境约束:在工作流中设置触发分支与环境审批,减少误用风险。风险与误配置未限制信任策略主体或条件会导致跨仓库或不可信来源获取令牌,存在账户接管风险;需审计所有角色的主体限制与条件[参考2]。参考与验证[参考1]GitHub Docs:在 Actions 中使用 Secrets 与 OIDC(短期凭证与优势):https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets[参考2]知乎:错误配置导致云账户风险与 OIDC 最佳实践:限制主体与条件:https://zhuanlan.zhihu.com/p/630555642[参考3]AWS Workshop:GitHub Actions OIDC 配置示例(`id-token: write` 与角色授信):https://cloudformation.kpingfan.com/03.devsecops/03.创建github-actions关键词校验关键词聚焦 CI/CD 机密管理与 OIDC,与正文一致。

发表评论 取消回复