我正在尝试限制我的存储库上可以访问的
GITHUB_TOKEN
操作的范围。其中一个操作会在我的存储库中创建一个草稿版本——我希望它只能创建该草稿,而不能创建其他任何东西。
在这里查看可用权限:https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#permissions没有专门用于发布的权限(甚至没有真的标记)。这是否被视为“部署”?我在这里缺少什么吗?
要允许您的 GitHub Action 创建草稿版本,您必须使用
GITHUB_TOKEN
权限授予您
POST /repos/:owner/:repo/releases
对 contents: write
的访问权限。
不幸的是,这个权限相当广泛,允许编写所有其他内容相关的内容,如提交、作业、分支等。没有细粒度的范围权限,只允许创建草稿版本。
请注意,个人访问令牌 (PAT) 也存在同样的问题,其范围广泛
repo
:
授予对存储库的完全访问权限,包括私有存储库。 这包括对代码、提交状态、存储库的读/写访问 和组织项目、邀请、合作者、添加团队 成员资格、部署状态和存储库 Webhook 存储库和组织。还授予管理用户的能力 项目。
正如通过 GitHub 文档 所解释的,
GITHUB_TOKEN
不具有所有可用权限。
如果您想在工作流程中执行涉及其他权限的特定操作,则需要创建具有所需权限的 PAT(个人访问令牌),并使用它来代替
GITHUB_TOKEN
。
GITHUB_TOKEN
范围的参考
您可能需要考虑创建具有“内容”权限的“新细粒度”个人访问令牌(PAT)