首页/开发/CI/CD 与发布速查/流水线权限最小化
流水线设计54 条

流水线权限最小化

CI 令牌按最小权限发放:默认只读起步,按作业申请写入范围,避免单个作业被利用后横向扩散。

CI/CD 与发布速查开发更新于 2026-10-12
GitHubpermissions 字段声明 GITHUB_TOKEN 的范围,未声明默认按仓库设置
GitLabCI_JOB_TOKEN 提供有限的项目访问,配合受保护分支与权限模型
Jenkins凭据仅在需要的步骤内绑定使用

GitHub 最小权限

GitHub 最小权限
permissions:
  contents: read
  packages: read
  id-token: write   # 仅在需要 OIDC 的作业上
发布作业单独授权:审查每个作业真正需要写什么,逐项收窄。

易错点

  • 默认令牌全写权限:任意步骤(含第三方 action)都可用它改仓库内容
  • 凭据暴露给全局环境变量:所有步骤(含调试输出)都能读到,改为按步注入

数据来源与参考

  • GitHub Docs《Security hardening for GitHub Actions》
  • GitLab Docs《Job token》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌