在Gitlab中添加个人访问令牌:令牌范围用例有哪些不同?

时间:2019-03-13 01:58:49

标签: gitlab

我将gitlab帐户连接到pycharm,并在gitlab中创建令牌访问时,不确定实际用途是什么。我对此很陌生,因此,如果有人可以愚弄它,将不胜感激。 enter image description here

1 个答案:

答案 0 :(得分:3)

想法是:

  • 限制使用一个PAT可以执行的操作
  • 具有多种用途的PAT
  • 如果受到损害/不需要,可以轻松撤销一个PAT,而不会使其他PAT失效

illustrated here一样,如果您打算将PAT用作GitLab密码,则需要使用“ api”范围。
如果不是,则“ read_repository”或(如果不需要克隆)“ read_user”就足够了。
仅当您的GitLab将Docker映像作为Docker注册表托管时,才需要“ read_registry”。

  

我不了解的是它允许我一次选择所有内容

这是因为每个范围都与一个不同的用例匹配,可能被另一个范围覆盖。
通过全部选择,可以涵盖所有用例:

  • api 涵盖了所有内容
  • write (自GitLab 1.11,2019年5月起):“ Repository read-write scope for personal access tokens”。
    许多个人访问令牌都依赖api级作用域来进行程序更改,但是对于某些用户或组织来说,完全的API访问权限可能太宽容。
    多亏了社区的贡献,个人访问令牌现在可以确定范围,使其只能读写项目存储库–防止对GitLab的敏感区域(如设置和成员资格)进行更深层的API访问
  • read_users registry 分别解决不同的情况

gitlab-ce/merge_request 5951中所述:

  

例如,我希望我们(最终)对read_userwrite_user具有单独的范围。

     

我看过OpenID Connect Core spec-它定义了个人资料,电子邮件,地址和电话范围,需要与openid范围一起使用。

     

S 因为给定资源可以有多个允许的作用域,我的首选是将read_user范围保留在此处,并在每次访问时添加openid和profile范围实现OpenID合规性。
  其他作用域(例如read_userwrite_user)的存在不应影响OpenID流。