从 GitHub Action 发布时,GITHUB_TOKEN 需要什么权限

问题描述 投票:0回答:3

我正在尝试限制我的存储库上可以访问的

GITHUB_TOKEN
操作的范围。其中一个操作会在我的存储库中创建一个草稿版本——我希望它只能创建该草稿,而不能创建其他任何东西。

在这里查看可用权限:https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#permissions没有专门用于发布的权限(甚至没有真的标记)。这是否被视为“部署”?我在这里缺少什么吗?

permissions github-actions
3个回答
17
投票

要允许您的 GitHub Action 创建草稿版本,您必须使用

GITHUB_TOKEN
 权限授予您 
POST /repos/:owner/:repo/releases
contents: write
的访问权限。

不幸的是,这个权限相当广泛,允许编写所有其他内容相关的内容,如提交、作业、分支等。没有细粒度的范围权限,只允许创建草稿版本。

来源:https://docs.github.com/en/rest/reference/permissions-required-for-github-apps#permission-on-contents

请注意,个人访问令牌 (PAT) 也存在同样的问题,其范围广泛

repo
:

授予对存储库的完全访问权限,包括私有存储库。 这包括对代码、提交状态、存储库的读/写访问 和组织项目、邀请、合作者、添加团队 成员资格、部署状态和存储库 Webhook 存储库和组织。还授予管理用户的能力 项目。


3
投票

正如通过 GitHub 文档 所解释的,

GITHUB_TOKEN
不具有所有可用权限。

如果您想在工作流程中执行涉及其他权限的特定操作,则需要创建具有所需权限的 PAT(个人访问令牌),并使用它来代替

GITHUB_TOKEN

来自 GitHub 社区的关于

GITHUB_TOKEN
范围的参考


0
投票

您可能需要考虑创建具有“内容”权限的“新细粒度”个人访问令牌(PAT)

© www.soinside.com 2019 - 2024. All rights reserved.