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和自动化部署,权限较为有限,适用于特定场景。

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

相关推荐
江木1231 小时前
Git常用命令(记录)
git
程序猿看视界4 小时前
Halo 开发者指南——项目运行、构建
git·docker·node.js·pnpm·idea·openjdk·halo
心之所想,行之将至4 小时前
记录一下gitlab社区版的安装教程
linux·服务器·gitlab
极小狐4 小时前
2024 年 GitLab Global DevSecOps 报告解读
gitlab·devsecops·devops·极狐gitlab·安全合规
极小狐4 小时前
极狐GitLab DevSecOps 功能合集(七大安全功能)
安全·gitlab·devsecops·极狐gitlab·安全合规
iRayCheung4 小时前
Gitlab pre-receive hooks适配java p3c-pmd和python pycodestyle
java·python·gitlab·pre-receive
俊昭喜喜里4 小时前
Git学习笔记
笔记·git·学习
好想有猫猫6 小时前
【Git】常见命令(仅笔记)
linux·c++·笔记·git·elasticsearch
阿东日志11 小时前
实习期间git的分枝管理以及最常用的命令
git·面试·实习
冰淇淋烤布蕾14 小时前
git 你要如何打开这个文件
git·vscode·intellij-idea