You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GitHub CLI在不同GitHub组织配置不同权限

解决gh CLI权限分组织控制的问题

问题翻译

我在多个GitHub组织中拥有所有者权限,还在这些组织的大量仓库里有管理员权限。现在我正在写一个用gh创建和删除仓库的脚本,需要把gh和我的GitHub账号认证,但认证的时候只能授权所有我有足够权限的组织,没法区分权限。请问怎么配置才能让gh在某一个组织里可以创建和删除仓库,在另一个组织里不行?


解决方案

默认的gh OAuth认证确实没法细分组织权限,这里有两个实用解决办法:

方法一:用**细粒度个人访问令牌(PAT)**精准控制

这是个人使用最灵活的方案:

  • 登录GitHub,进入「设置」→「开发者设置」→「个人访问令牌」→「精细粒度令牌」
  • 新建令牌时:
    1. 在「仓库访问」里选「仅选择仓库」,勾选目标组织下的所有仓库(或直接选择整个组织)
    2. 在「权限」模块,找到「仓库权限」,勾选「管理(Administration)」——这个权限包含创建、删除仓库的操作
    3. 其他组织相关权限一律不选,保存生成令牌
  • 本地终端先运行gh auth logout注销现有认证,再运行gh auth login,选择「粘贴认证令牌」,把刚才生成的PAT粘贴进去
  • 完成后gh就只能在你指定的组织/仓库里执行创建、删除操作,其他组织完全没有权限

方法二:自定义OAuth应用(适合团队共享场景)

如果是团队共用的脚本,不想用个人PAT,可以自定义OAuth应用限制授权范围:

  • 进入GitHub「设置」→「开发者设置」→「OAuth Apps」→「新建OAuth应用」
  • 随便填写应用名称、主页URL(比如http://localhost:3000)、授权回调URL(同样填http://localhost:3000)
  • 生成客户端ID和密钥后,本地运行:
    gh auth login --oauth-client-id 你的客户端ID --oauth-client-secret 你的客户端密钥
    
  • 跳转授权页面后,只勾选你需要的那个组织,其他组织一律不选,完成授权
  • 这样gh就只会拥有该组织的操作权限,其他组织无法执行创建/删除仓库的操作

内容的提问来源于stack exchange,提问作者hepabolu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:27:36