【问题标题】:Adding personal access token in Gitlab : What are the different token scope use cases?在 Gitlab 中添加个人访问令牌:有哪些不同的令牌范围用例?
【发布时间】:2019-03-13 01:58:48
【问题描述】:

我正在将我的 GitLab 帐户连接到 PyCharm,并且在 GitLab 中创建令牌访问权限时,我不确定实际用途是什么。
我对此很陌生,所以如果有人能把它简化一下,那将不胜感激。

【问题讨论】:

    标签: gitlab


    【解决方案1】:

    这个想法是:

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

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

    我不明白的是它允许我一次选择所有

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

    • api 涵盖了所有内容(这太多了,如 issue 20440 所示。GitLab 12.10,2020 年 4 月,应该使用 merge request 28944read_api 范围来解决这个问题)
    • write(自 GitLab 1.11 起,2019 年 5 月):“Repository read-write scope for personal access tokens”。
      许多个人访问令牌依赖于 API 级别的范围来进行编程更改,但对于某些用户或组织来说,完整的 API 访问权限可能过于宽松。
      由于社区的贡献,个人访问令牌现在可以限定为只能读取和写入项目存储库 - 防止对 GitLab 的敏感区域(如设置和成员资格)进行更深入的 API 访问
    • read_usersregistry 分别针对不同的场景

    gitlab-ce/merge_request 5951中提到的:

    例如,我希望我们(最终)为read_userwrite_user 设置单独的范围。

    我查看了OpenID Connect Core spec - 它定义了个人资料、电子邮件、地址和电话范围,这些范围需要伴随着 openid 范围。

    S因为我们可以为给定资源拥有多个允许的范围,我的偏好是在此处保留 read_user 范围,并在我们实施 OpenID 时添加 openid 和 profile 范围合规性。
    其他范围(如read_userwrite_user)的存在不应影响 OpenID 流。

    【讨论】:

    • 我不明白的是它允许我一次选择所有。因此,打个比方,假设您可以选择向与文件 X 相关的用户发出读/写 && 只读权限。如果我发出读/写,那么也发出只读权限将是多余的。在列出的这些范围中,它们之间是否存在联合?
    • @DonPowell 我已经编辑了我的答案以解决您的评论。
    猜你喜欢
    • 2020-08-08
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 2021-12-12
    • 2021-08-07
    • 2018-05-05
    相关资源
    最近更新 更多