Gitlab中access token 和Deploy token的区别

在GitLab中,Access Token和Deploy Token是两种不同类型的令牌,用于不同的目的。以下是它们的主要区别:

Access Token

  1. **用途**:
  • 用于用户身份验证,允许用户以编程方式访问GitLab API。

  • 可以用于克隆、推送代码,管理项目和组,执行CI/CD任务等。

  1. **类型**:
  • **Personal Access Token**:与用户账户关联,具有用户账户的权限。

  • **Project Access Token**:与特定项目关联,具有项目级别的权限。

  1. **权限**:
  • 可以配置不同的权限范围(Scopes),如`api`、`read_user`、`read_repository`、`write_repository`等。
  1. **创建方式**:
  • 个人访问令牌:用户可以在GitLab的"User Settings"中的"Access Tokens"部分创建。

  • 项目访问令牌:项目Maintainer或Owner可以在项目的"Settings"中的"Access Tokens"部分创建。

Deploy Token

  1. **用途**:
  • 专门用于CI/CD和自动化部署,允许只读或读写访问项目的仓库和包注册表。

  • 适用于需要在CI/CD管道中访问仓库的场景。

  1. **类型**:
  • 仅与特定项目关联。
  1. **权限**:
  • 可以配置为只读(read_repository)或读写(write_repository)。

  • 还可以配置对包注册表的访问权限(read_registry、write_registry)。

  1. **创建方式**:
  • 项目Maintainer或Owner可以在项目的"Settings"中的"Repository"部分创建。

示例

假设你有一个GitLab仓库URL `https://gitlab.example.com/username/repo.git\`,以下是如何使用这两种令牌的示例:

使用Access Token

```sh

git clone https://\<access_token\>@gitlab.example.com/username/repo.git

```

使用Deploy Token

假设Deploy Token的用户名是 `deploy_user`,令牌是 `deploy_token`:

```sh

git

clone https://deploy_user:deploy_token@gitlab.example.com/username/repo.git

```

总结

  • **Access Token**:用于用户身份验证,具有广泛的权限范围,适用于各种操作。

  • **Deploy Token**:专门用于CI/CD和自动化部署,权限较为有限,适用于特定场景。

选择使用哪种令牌取决于你的具体需求和安全策略。

相关推荐
真就死难3 小时前
Git是什么
git
机械心8 小时前
代码管理git详细使用教程及最佳实践路径
git
hkj88089 小时前
Git 常用命令
git
dawnkylin14 小时前
通过 fork 为项目做出贡献
git·github
1379003401 天前
Git 设置代理
git
xiaodunmeng1 天前
sourcetree gitee 详细使用
git
LostSpeed1 天前
git,gitea - tool - creat Gitea Empty Rep Dir
git·gitea
前端郭德纲2 天前
vscode默认终端怎么设置成git bash
git·vscode·bash
近听水无声4772 天前
git 学习(基于Ubuntu和gitee)
git
2401_826097623 天前
同步&异步日志系统-日志落地模块的实现
c++·git·vim