原创

腾讯CNB访问令牌的使用

CNB(Cloud Native Build)的访问令牌(Token)主要用于替代密码,在 Git 操作、Docker 镜像推送、Maven 依赖管理及 API 调用 等自动化场景中进行身份认证。其核心认证信息固定为:用户名 cnb,密码即令牌内容。

一、 获取与基础配置

1. 创建令牌

登录 cnb.cool,点击右上角头像 → 个人设置 → 访问令牌 → 添加访问令牌。建议根据场景(如 CI/CD、MCP)勾选对应的“常见场景”模板,创建后立即复制,关闭弹窗后无法再次查看。

2. 认证规则

在所有需要鉴权的操作中,身份凭证均遵循以下格式:

  • Username(用户名):cnb(固定值)
  • Password(密码):<你的访问令牌>(即生成的 Token 字符串)

二、 常见使用场景与实操命令

1. Git 代码仓库(HTTPS)

在命令行或 CI 脚本中操作 Git 时,将令牌直接作为密码使用:

git clone https://cnb.cool/你的组织/仓库.git
# 提示输入密码时,粘贴你的访问令牌(用户名填 cnb)

# 或者使用一行式认证(将 token 填入 PASSWORD 处)
git clone https://cnb:YOUR_CNB_TOKEN@cnb.cool/你的组织/仓库.git

注意:CNB 默认使用 HTTPS 协议,不支持使用账号密码进行 Git 操作,必须使用访问令牌。

Windows凭据中使用

  1. 打开控制面板→ 用户账号 → 凭据管理器
  2. 选择Windows凭据
  3. 找到git:https://cnb.coolgit:https://code.woa.com的凭据
  4. 点击删除或编辑,用户名固定值:cnb,密码:<你的访问令牌>

2. Docker 镜像推送/拉取

在构建流水线或服务器上登录 CNB 制品库:

# 登录(域名固定为 docker.cnb.cool)
docker login docker.cnb.cool -u cnb -p YOUR_CNB_TOKEN

# 后续进行 build 和 push
docker push docker.cnb.cool/你的组织/镜像:标签

在 CNB 平台自带的流水线中,通常可直接使用内置的 CNB_TOKEN环境变量,无需手动配置。

3. Maven 制品库

在 settings.xml中配置服务器认证,将令牌填入 节点:

<servers>
  <server>
    <id>cnb-maven</id>
    <username>cnb</username>
    <password>YOUR_CNB_TOKEN</password> <!-- 替换为实际令牌 -->
  </server>
</servers>

4. API 接口调用

在脚本中调用 CNB OpenAPI 时,需在请求头中携带 Bearer Token:

curl -H "Authorization: Bearer YOUR_CNB_TOKEN" \
     -H "Accept: application/vnd.cnb.api+json" \
     "https://cnb.cool/api/端点"

三、 安全建议

● 最小权限原则:创建令牌时,在“授权范围”中仅勾选必需权限(如只读、读写),避免授予全量权限。
● 有效期管理:为生产环境令牌设置合理的到期时间,避免使用“永不过期”选项。
● 环境变量存储:在 CI/CD 系统中(如 Jenkins、GitHub Actions),将令牌存入机密变量(Secrets),切勿硬编码在代码文件中。

四、 访问令牌 vs 部署令牌

特性 访问令牌 (Access Token) 部署令牌 (Deploy Token)
身份归属 关联你的个人账号权限 仅关联特定仓库/制品库,无用户属性
适用场景 个人开发、自动化脚本、API 调用 CI/CD 只读拉取、第三方集成(仅读)
创建位置 个人设置 组织/仓库/制品库设置
权限控制 基于你的账号权限 + 令牌范围 仅限该资源内的只读权限

若仅需在流水线中拉取代码或镜像且不希望暴露个人账号权限,建议使用“部署令牌”。

正文到此结束