如何创建并使用极狐GitLab 项目访问令牌?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

  • 极狐GitLab 中文文档
  • 极狐GitLab 中文论坛
  • 极狐GitLab 官网

项目访问令牌

  • 在极狐GitLab 16.1中引入添加了默认前缀。

项目访问令牌类似于密码,但你可以 限制访问资源,选择有限的角色,并提供到期日期。

注意:对项目的实际访问是由 角色和权限 和 令牌作用域 的组合控制的。

使用项目访问令牌进行身份验证:

  • 使用GitLab API。

  • 使用Git时,使用HTTP基本认证:

    • 任何非空值作为用户名。
    • 将项目访问令牌作为密码。

项目访问令牌类似于组访问令牌和个人访问令牌,但项目访问令牌仅限于一个项目,因此无法用于访问其他项目的资源。

在自管理实例中,如果设置了限制,项目访问令牌与个人访问令牌一样,受相同的最大生命周期限制。

你可以在以下环境中使用项目访问令牌:

  • 在极狐SaaS上:如果你拥有Premium或Ultimate许可证层次,试用许可证中只能使用一个项目访问令牌 试用许可证。
  • 在极狐GitLab自管理实例中:适用于任何许可证层次。如果你使用的是 Free 层级,可以考虑 限制创建项目访问令牌,以降低潜在的滥用风险。

你无法使用项目访问令牌创建其他组、项目或个人访问令牌。

项目访问令牌继承了为个人访问令牌配置的 默认前缀设置。

创建项目访问令牌

  • 在极狐GitLab 15.1中引入所有者可以为项目访问令牌选择所有者角色。
  • 在极狐GitLab 15.3中引入UI中预设了30天的默认过期时间和默认的访客角色。
  • 在极狐GitLab 16.0中移除创建无过期日期的项目访问令牌的能力。
  • 在极狐GitLab 17.6中引入最大可允许的生命周期限制扩展到400天,并带有名为 buffered_token_expiration_limit 的功能标志,默认禁用。

WARNING:在极狐GitLab 15.4中,创建没有过期日期的项目访问令牌的能力已被弃用,并且在极狐GitLab 16.0中已被 移除。有关已添加过期日期的现有令牌的更多信息,请参见访问令牌过期。

要创建项目访问令牌:

1.在左侧边栏中,选择 搜索或转到 并找到你的项目。
2.选择 设置 > 访问令牌
3.选择 添加新令牌
4.在 令牌名称 中,输入一个名称。令牌名称对所有具有查看项目权限的用户可见。
5.可选。在 令牌描述 中,输入令牌的描述。
6.在 过期日期 中,输入令牌的过期日期。

  • 令牌将在该日期的 UTC 时间午夜过期。比如,2024-01-01的过期日期将在2024-01-01 00:00:00UTC 过期。
  • 如果没有输入过期日期,过期日期会自动设置为当前日期的30天后。
  • 默认情况下,日期的最大值可以是当前日期的365天后。在极狐GitLab 17.6或更高版本中,你可以扩展此限制至400天。
  • 实例范围的最大生命周期设置可以限制自托管实例中允许的最大生命周期。

7.为令牌选择一个角色。
8.选择所需的作用域。
9.选择 创建项目访问令牌

项目访问令牌将显示。请将项目访问令牌保存在安全的地方。离开页面或刷新页面后,无法再次查看该令牌。

WARNING:项目访问令牌被视为 内部用户。如果内部用户创建了项目访问令牌,则该令牌能够访问所有设置为 内部 可见性级别的项目。

撤销或轮换项目访问令牌

  • 在极狐GitLab 17.3中引入查看已撤销令牌的功能,带有一个标志名为retain_resource_access_token_user_after_revoke,默认禁用。

在极狐GitLab 17.3及更高版本中,如果启用retain_resource_access_token_user_after_revoke 功能标志,你可以在访问令牌页面上查看活动和非活动的已撤销项目访问令牌。如果未启用该功能标志,你只能查看活动令牌。非活动项目访问令牌表格:

  • 包含:

    • 已撤销但尚未过期的现有令牌。此类令牌在过期后将不再显示在表格中。
    • 在启用功能标志后创建的并且已被撤销的令牌。这些令牌即使过期后仍将显示在表格中。
  • 不包含:

    • 已经过期或已被撤销的令牌。
    • 将来会过期或尚未被撤销的现有令牌。

使用UI

要撤销或轮换项目访问令牌:

1.在左侧边栏中,选择 搜索或转到 并找到你的项目。
2.选择 设置 > 访问令牌
3.对于相关令牌,选择 撤销 ({remove})轮换 ({retry})
4,在确认对话框中,选择 撤销轮换

项目访问令牌的作用域

  • 在极狐GitLab 16.4中引入k8s_proxy,带有一个标志名为k8s_proxy_pat,默认启用。
  • 在极狐GitLab 16.5中移除k8s_proxy_pat功能标志。

作用域决定了当你使用项目访问令牌进行身份验证时可以执行的操作。

NOTE:请参见创建项目访问令牌中关于内部项目的警告。

作用域描述
api授予对作用域项目API的完全读写访问权限,包括容器注册表、依赖代理 和 包注册表。
read_api授予对作用域项目API的读取访问权限,包括包注册表。
read_registry授予对容器注册表镜像的读取访问权限(拉取),如果项目是私有的并且需要授权。
write_registry授予对容器注册表的写入访问权限(推送)。推送镜像需要同时拥有读取和写入权限。
read_repository授予对仓库的读取访问权限(拉取)。
write_repository授予对仓库的读写访问权限(拉取和推送)。
create_runner授予在项目中创建运行器的权限。
manage_runner授予管理项目中运行器的权限。
ai_features授予对GitLab Duo执行API操作的权限。此作用域设计为与JetBrains的 GitLab Duo 插件一起使用。对于所有其他扩展,请参阅作用域要求。
k8s_proxy授予使用Kubernetes代理在项目中执行Kubernetes API调用的权限。

限制创建项目访问令牌

为减少滥用风险,你可以限制用户在组层次结构中创建令牌。此设置仅对顶级组可配置,并适用于每个下游项目和子组。任何现有的项目访问令牌在其过期日期或手动撤销之前仍然有效。

1.在左侧边栏中,选择 搜索或转到 并找到你的组。
2.该组必须是顶级组。
3.选择 设置 > 常规
4.展开 权限和组功能
5.在 权限 部分,清除 用户可以在该组中创建项目访问令牌和组访问令牌 复选框。

访问令牌过期

是否自动为现有的项目访问令牌应用过期日期,取决于你所使用的极狐GitLab 版本以及你何时升级到极狐GitLab 16.0或更高版本:

  • 在极狐saas上,在16.0版本时,现有没有过期日期的项目访问令牌会自动添加一个过期日期,通常为当前日期后的365天。

  • 在极狐GitLab自管理版中,如果你从极狐GitLab 15.11或更早版本升级到极狐GitLab 16.0或更高版本:

    • 在2024年7月23日之前,现有没有过期日期的项目访问令牌会自动设置为365天后的过期日期。此更改是一个破坏性更改。
    • 在2024年7月24日之后,现有没有过期日期的项目访问令牌不会设置过期日期。

如果你在极狐GitLab自管理版中安装以下极狐GitLab版本,新安装的项目访问令牌不会自动应用过期日期:

  • 16.0.9
  • 16.1.7
  • 16.2.10
  • 16.3.8
  • 16.4.6
  • 16.5.9
  • 16.6.9
  • 16.7.9
  • 16.8.9
  • 16.9.10
  • 16.10.9
  • 16.11.7
  • 17.0.5
  • 17.1.3
  • 17.2.1

项目访问令牌过期通知邮件

  • 在极狐GitLab 17.6中引入六十天和三十天过期通知邮件,带有一个标志名为 expiring_pats_30d_60d_notifications,默认禁用。

极狐GitLab每天1:00 AM UTC进行一次检查,以识别即将过期的项目访问令牌。当检查识别出项目访问令牌将在接下来的特定天数内过期时,至少拥有维护者角色的项目成员会通过邮件通知他们的令牌过期。不同版本的极狐GitLab有不同的通知规则:

  • 在极狐GitLab 17.6及更高版本中,项目的维护者和所有者将在令牌将在接下来的60天内过期时通过邮件通知。检查发现令牌将在接下来的30天内过期时,还会发送另一封邮件通知。
  • 项目的维护者和所有者将在令牌将在接下来的7天内过期时通过邮件通知。

项目机器人的用户

  • 在极狐GitLab 17.2中更改带有一个标志名为 retain_resource_access_token_user_after_revoke,默认禁用。启用后,新的机器人用户没有。

项目机器人的用户是GitLab 创建的非计费用户。
每次创建项目访问令牌时,都会创建一个机器人用户并将其添加到项目中。

该用户不是计费用户,因此不计入许可证限制。

项目机器人的用户具有与项目访问令牌所选角色和作用域相对应的权限。

  • 名称设置为令牌的名称。
  • 用户名设置为project_{project_id}_bot_{random_string},例如project_123_bot_4ffca233d8298ea1
  • 电子邮件设置为project_{project_id}_bot_{random_string}@noreply.{Gitlab.config.gitlab.host},例如project_123_bot_4ffca233d8298ea1@noreply.example.com

使用项目访问令牌进行的API调用将与相应的机器人用户关联。
项目机器人的用户:

  • 包括在项目的成员列表中,但无法修改。其成员资格在令牌过期时失效。
  • 不能添加到任何其他项目中。
  • 在项目中最多只能具有所有者角色。有关更多信息,请参阅 创建项目访问令牌。

当项目访问令牌被撤销时:

  • 机器人用户将被删除。
  • 所有记录将转移到系统范围的用户,用户名为Ghost User。

另见组的机器人用户。

令牌的可用性

多个项目访问令牌仅在付费订阅中可用。在Premium 和 Ultimate试用订阅中,仅包含一个项目访问令牌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/903809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 异步详解

C# 异步编程详解 一、异步编程基础概念 1. 同步 vs 异步 ​​同步(Synchronous)​​:任务按顺序执行,前一个任务完成后才会执行下一个​​异步(Asynchronous)​​:任务可以非阻塞地启动,主线程可以继续执行其他操作 2. 异步编…

C++ 之 【模拟实现 list(节点、迭代器、常见接口)】(将三个模板放在同一个命名空间就实现 list 啦)

1.前提准备 (1) list 的底层结构一般是带头双向循环链表 (1)为避免命名冲突&#xff0c;需要创建一个命名空间来存放模拟实现的 list (2)下面模拟实现list时&#xff0c;声明和定义不分离(具体原因后续讲解) 2.完整实现 2.1 链表节点 template<class T>//节点写成类模板…

解决Win10虚拟机“网络连接不上”,“Ethernet0 网络电缆被拔出”的问题

一、情景引入 今天用Win10虚拟机打开浏览器发现&#xff1a; 很奇怪&#xff0c;平常都没有这个问题。 二、检查网络状态 点击更改适配器选项&#xff0c;发现如下&#xff1a; 三、解决问题 打开任务管理器&#xff0c;点击服务&#xff0c;搜索栏搜索&#xff1a;VM …

2025蓝桥杯省赛网络安全组wp

文章目录 黑客密室逃脱ezEvtxflowzipEnigma星际xml解析器EBC-TrainAES-CBC 黑客密室逃脱 提示猜文件名&#xff0c;猜几个常见的&#xff0c;app.py读到源码 这里也是脑抽了一下&#xff0c;把密钥看成1236了。。。卡了五分钟左右&#xff0c;解出来的时候已经降到300多分了&a…

算法查找目录

1. 基础数据结构 数组与链表 动态数组 实现与自动扩容机制均摊分析ArrayList/Vector实现 单向链表 基本操作(插入、删除、查找)链表反转环检测(Floyd判圈算法) 双向链表 插入删除操作优化双向遍历优势边界情况处理 循环链表 约瑟夫环问题单向循环链表双向循环链表 跳表 基本原…

Windows11 管理员用户下无权限操作的解决方法

问题 Program Files 目录下无权限进行写入操作。 Windows 各种功能因权限不足无法访问。 启动某些应用程序时&#xff0c;可能会遇到 用户账户控制 (UAC, User Account Control) 弹窗提示&#xff0c;要求确认是否允许该程序对设备进行更改。 等等问题 解决方法 运行 p…

.NET中,const和readonly区别

在.NET中&#xff0c;const和readonly都用于定义不可变的值&#xff0c;但它们在行为和使用场景上有显著区别。以下是两者的详细对比&#xff1a; 初始化时机 • const ◦ 编译时常量&#xff0c;必须在声明时赋值。 ◦ 值在编译时确定&#xff0c;并被直接嵌入到IL代码中&…

邮件分类特征维度实验分析

活动发起人小虚竹 想对你说&#xff1a; 这是一个以写作博客为目的的创作活动&#xff0c;旨在鼓励大学生博主们挖掘自己的创作潜能&#xff0c;展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴&#xff0c;那么&#xff0c;快来参加吧&#xff01…

数字智慧方案6158丨智慧医疗解决方案精华版(58页PPT)(文末有下载方式)

数字智慧方案6158丨智慧医疗解决方案精华版 详细资料请看本解读文章的最后内容。 引言 随着信息技术的飞速发展&#xff0c;智慧医疗已成为现代医疗体系的重要组成部分。本文将对《数字智慧方案6158丨智慧医疗解决方案精华版》进行详细解读&#xff0c;探讨如何通过先进的技…

Fiori学习专题二十三: Filtering

这节课我们将针对list增加一个筛选功能。 1.首先改造下InvoiceList.view.xml&#xff0c;加入id方便找到它以及标签 <mvc:ViewcontrollerName"ui5.walkthrough.controller.InvoiceList"xmlns"sap.m"xmlns:core"sap.ui.core"xmlns:mvc"s…

大语言模型 05 运行、微调的显存计算详解与优化 全量微调、LoRA 优化策略

写在前面 随着Transformer架构的大语言模型&#xff08;LLM&#xff09;不断发展&#xff0c;其参数规模也在迅速增加。无论是进行模型推理还是微调训练&#xff0c;GPU显存消耗都是开发和应用LLM时的重要考量。本文将详细探讨大模型运行&#xff08;推理&#xff09;与微调时…

对Electron打包的exe文件进行反解析

一、了解 Electron 打包的 exe&#xff0c;本质上就是打包了网页 (HTMLCSSJS)&#xff0c;核心文件是 app.asar。超级容易还原&#xff0c;还原率接近 100% 为什么 Electron 特别容易&#xff1f; 因为 Electron 根本没有真正编译成机器码&#xff0c;它只是把网页资源&…

【Vue2】1-创建一个Vue实例

Vue2官方文档 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head&g…

【C语言练习】015. 声明和初始化指针

015. 声明和初始化指针 015. 声明和初始化指针1. 声明指针示例1:声明一个指向整数的指针2. 初始化指针示例2:将指针初始化为`NULL`示例3:将指针初始化为某个变量的地址示例4:将指针初始化为动态分配的内存地址3. 使用指针访问和修改变量的值示例5:使用指针访问和修改变量的…

好未来golang后端开发

OSI网络模型 TCP和UDP对比 HTTP和HTTPS对比 B树 HTTP常见状态码 线程和进程的区别 goroutine的调度模型GMP 常见的排序了解哪些 快速排序 func quickSort(data []int) {if len(data) < 1 {return}base : data[0]l, r : 0, len(data)-1for i : 1; i < r; {if data[i] &g…

(持续更新)Ubuntu搭建LNMP(Linux + Nginx + MySQL + PHP)环境

LNMP&#xff08;Linux Nginx MySQL PHP&#xff09;环境是在Linux操作系统上构建的一个高性能Web服务器环境。M也可以指代其他数据库&#xff0c;P也可以指代Python 1. 准备Linux系统 确保你已经在一台服务器或虚拟机上安装了Linux操作系统。推荐使用Ubuntu、CentOS或Debi…

服务器频繁重启日志分析与诊断

从你提供的日志来看&#xff0c;系统确实经历了多次重启。这个日志行显示的是&#xff1a; reboot system boot 6.8.0-58-generic Tue Apr 29 17:54 - 14:26 (20:31)这表示系统在4月29日17:54启动&#xff0c;运行了约20小时31分钟后&#xff0c;于次日14:26结束&#xff08;可…

如何提升个人的稳定性?

提升自我的稳定性是一个系统性工程&#xff0c;需要从内在认知、情绪管理、行为习惯到外在环境等多个维度进行优化。 以下是一些具体建议&#xff0c;帮助你逐步增强内心的稳定感&#xff1a; 一、内在认知调整 1. 建立清晰的自我认知 通过反思&#xff08;如写日记、冥想…

数值求解Eikonal方程的方法及开源实现

Eikonal方程是一类非线性偏微分方程&#xff0c;形式为 ( |\nabla u(x)| f(x) )&#xff0c;常见于波传播、几何光学、最短路径等问题。以下是数值求解Eikonal方程的方法及开源实现参考&#xff1a; 一、数值求解方法 有限差分法&#xff08;FDM&#xff09; 快速行进法&#…

基于Redis实现-用户签到

基于Redis实现-用户签到 这个功能将使用到Redis中的BitMap来实现。 我们按照月来统计用户签到信息&#xff0c;签到记录为1&#xff0c;未签到则记录为0 把每一个bit位对应当月的每一天&#xff0c;形成了映射关系。用0和1标示业务状态&#xff0c;这种思路称为位图(BitMap)。…