如何在Git仓库中安全使用Bearer Token并适配Jenkins调用场景
API测试框架Bearer Token配置与安全使用方案
一、Jenkins触发测试时的令牌获取方案
- 首先将Bearer Token存入Jenkins凭据管理:进入Jenkins控制台「凭据」页面,新增Secret text类型凭据,填入令牌值,设置对应凭据ID和访问权限,仅开放给该测试任务的服务账号使用
- Jenkins构建时注入令牌为环境变量:如果用自由风格任务,在「构建环境」中勾选「注入环境变量」关联对应凭据;如果用流水线任务,在Jenkinsfile中通过
credentials('你的凭据ID')方法将令牌赋值给自定义环境变量,例如API_BEARER_TOKEN - 调整测试框架的配置读取逻辑:修改原有properties读取规则,优先读取系统环境变量中的
API_BEARER_TOKEN,环境变量不存在时才读取本地properties文件。本地开发用的properties文件加入.gitignore规则,永远不提交到远程仓库 - 可选实现:如果用Maven/Gradle等工具执行测试,也可以在Jenkins构建命令中通过参数传递令牌,例如Maven命令添加
-Dapi.bearer.token=${API_BEARER_TOKEN},框架直接读取对应JVM参数即可
二、GitHub上安全使用API Bearer Token的规范
- 所有包含敏感信息的本地配置文件必须加入
.gitignore,禁止任何携带明文令牌的文件提交到仓库 - 可提交无敏感信息的配置模板文件到仓库,比如命名为
config.properties.example,所有敏感配置项留空标注占位符,方便团队成员本地开发时参考配置格式 - 如果需要在GitHub Actions中使用令牌执行测试,使用GitHub自带的Secrets功能存储:进入仓库「Settings - Secrets and variables - Actions」页面,新增Repository Secret命名为
API_BEARER_TOKEN,在Actions流水线中直接引用${{ secrets.API_BEARER_TOKEN }}即可,系统会自动屏蔽日志中的明文值 - 禁止在代码注释、提交日志、Issue、PR描述等公开内容中出现任何明文令牌
- 定期轮换令牌:设置令牌过期时间,至少每90天更新一次Jenkins和GitHub中存储的令牌值,降低泄露后的影响范围
- 开启仓库Secret扫描功能:GitHub自带的密钥扫描功能会自动识别提交内容中的各类API令牌,检测到风险会立刻触发告警,避免敏感信息泄露
内容的提问来源于stack exchange,提问作者Mohammad Rasheed
相关产品推荐
相关产品推荐

