密钥仓库
604 字约 2 分钟
密钥仓库是 云原生构建
提供的安全型代码仓库,专为存储敏感信息(如密码、API密钥、证书等)设计。 通过严格的访问控制、页面水印、审计追踪等机制,实现敏感数据的安全存储与合规使用。
创建密钥仓库
进入仓库创建页面
点击此处创建密钥仓库(需登录账号)。选择仓库类型
在仓库类型中选择密钥仓库
,填写仓库名称与简介。创建密钥仓库 创建
点击创建按钮,创建密钥仓库
密钥仓库核心特点
1. 安全限制
能力 | 普通仓库 | 密钥仓库 |
---|---|---|
Git Clone 到本地 | ✅ | ❌ |
本地推送代码 | ✅ | ❌ |
页面编辑文件 | ✅ | ✅ |
创建分支/Tag/PR | ✅ | ✅ |
被流水线引用 | ✅ | ✅ |
2. 安全增强特性
- 动态水印:页面自动添加当前用户名的半透明水印,防止截图泄露。
- 引用审计:记录所有引用此仓库文件的流水线记录,支持溯源追踪。
- 强制页面操作:仅支持在 Web 界面编辑文件,禁止本地操作。
- 更严苛的权限控制: 参考权限说明。
在流水线中引用密钥仓库文件
1. 密钥仓库新增文件
# env.yml
DOCKER_USER: "username"
DOCKER_TOKEN: "token"
DOCKER_REGISTRY: "https://xxx/xxx"
导入为环境变量
在流水线配置中,通过 imports 字段引用密钥仓库文件,自动注入为环境变量:
# .cnb.yml
main:
push:
- services:
- docker
imports:
# 引用密钥仓库文件
- https://cnb.cool/<your-repo-slug>/-/blob/main/xxx/env.yml
stages:
- name: docker push
script: |
docker login -u ${DOCKER_USER} -p "${DOCKER_TOKEN}" ${CNB_DOCKER_REGISTRY}
docker build -t ${DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest .
docker push ${DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest
引用规则
可额外配置 allow_slugs
、allow_events
等字段控制被访问范围,更多信息请参考文件引用。
最佳实践
敏感信息分类存储
- 按环境(prod/dev)或项目拆分不同密钥仓库。
- 使用
yaml
、json
等文件格式存储管理密钥。 - 独立于业务组织外新建组织管理密钥仓库,缩小可访问密钥仓库成员范围。
定期轮换密钥
通过页面编辑功能更新密钥后,所有引用此文件的流水线将自动获取新值。审计复盘
检查审计日志,清理无效引用,撤销离职成员权限。