首页/开发/CI/CD 与发布速查/GitHub Actions OIDC 免密上云
工具链要点63 条

GitHub Actions OIDC 免密上云

用工作流身份换取云上短期凭据:id-token: write 打开 OIDC,云侧信任策略按仓库、分支等声明校验,替代长期静态密钥。

CI/CD 与发布速查开发更新于 2026-10-12
前提permissions: id-token: write
流程请求 OIDC 令牌 → 云侧校验信任 → 换取短期凭据
信任条件限定仓库、分支/环境
收益无长期密钥、可审计、可收紧

换取云凭据

换取云凭据
permissions:
  id-token: write
  contents: read
steps:
  - uses: aws-actions/configure-aws-credentials@v4
    with:
      role-to-assume: arn:aws:iam::123456789012:role/ci-deploy
      aws-region: cn-north-1
云侧信任策略不要用通配:把仓库与分支(必要时环境)写进条件,防止身份被其他仓库借用。

易错点

  • 信任条件过宽:任意分支都能取得生产角色凭据
  • 漏掉 id-token: write:获取令牌失败且报错信息不直观

数据来源与参考

  • GitHub Docs《About security hardening with OpenID Connect》
  • AWS 文档《Creating OIDC identity providers》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌