Skip to main content

关于自定义组织角色

可以使用自定义组织角色控制对组织的设置和仓库的访问权限。

谁可以使用此功能?

Organization owners and users with the "Manage custom organization roles" permission

Organizations on GitHub Enterprise Cloud

创建自定义组织角色,可以更精细地管理授予给组织和存储库的设置的访问权限。 组织角色是为组织成员授予权限来管理特定设置子集的方法,分配角色后,便不必授予成员对组织及其存储库的完全管理控制。 例如,可以创建包含“查看组织审核日志”权限的角色。

可以在组织的设置中创建和分配自定义组织角色。 你还可以使用 REST API 管理自定义角色。 请参阅 管理自定义组织角色

还可以创建包含存储库权限的自定义组织角色。 存储库权限会授予对组织中所有当前和未来存储库的访问权限。

可通过多种方式合并存储库和组织的权限。

  • 可以创建具有组织设置权限或是基本存储库访问角色(或两者兼具)的角色。
  • 如果添加基本存储库访问角色,还可以包含其他存储库权限。 在没有基础仓库角色的情况下,你无法添加仓库权限。

如果没有存储库权限或基本存储库角色,则组织角色不会授予对任何存储库的访问权限。

Note

将存储库权限添加到自定义组织角色的功能目前为 公共预览版,可能会更改。

若要授予对组织中特定存储库的访问权限****,可以创建自定义存储库角色。 请参阅 关于自定义存储库角色

组织存取权限

当你在自定义组织角色中包含某个权限时,任何拥有此角色的用户都将有权通过 web 浏览器和 API 来访问相应设置。 在浏览器的组织设置中,用户将只能看到它们可以访问的页面。

组织权限不授予对任何存储库的读取、写入或管理员权限。 某些权限可能会隐式授予存储库元数据的可见性,如下表所示。

权限说明详细信息
管理自定义组织角色创建、查看、更新和删除组织自定义组织角色的访问权限。 此权限不允许用户分配自定义角色。管理自定义组织角色
查看组织角色查看组织的自定义组织角色的访问权限。管理自定义组织角色
管理自定义存储库角色创建、查看、更新和删除组织的自定义存储库角色的访问权限。管理组织的自定义存储库角色
查看自定义存储库角色查看组织的自定义存储库角色的访问权限。管理组织的自定义存储库角色
管理组织挂钩有权注册和管理组织的挂钩 具有此权限的用户将能够查看 Webhook 有效负载,该负载可能包含组织中存储库的元数据。适用于组织 Webhook 的 REST API 终结点
管理组织 OAuth 应用策略访问组织的“OAuth app policy”设置。关于 OAuth 应用访问限制
在组织层级编辑自定义属性值可以设置组织中所有存储库的自定义属性值。管理组织中存储库的自定义属性
管理组织的自定义属性定义可以创建和编辑组织的自定义属性定义。管理组织中存储库的自定义属性
管理组织的 ref 更新规则和规则集可以管理规则集并查看组织层级的规则集见解。管理组织中存储库的规则集
查看组织的审核日志可以访问组织的审核日志。 审核日志可能包含组织中存储库的元数据。审查组织的审核日志
管理组织的操作策略可以管理“操作常规”设置页上的所有设置,但自托管运行器设置除外。禁用或限制组织的 GitHub Actions
管理组织的运行器和运行器组可以创建和管理 GitHub 托管的运行器、自托管运行器和运行器组,并控制可以创建自托管运行器的位置。关于 GitHub 托管的运行程序

关于自托管运行程序
管理组织的操作机密可以创建和管理组织的操作机密。在 GitHub Actions 中使用机密
管理组织的操作变量可以创建和管理组织的操作变量。在变量中存储信息
查看组织的操作指标查看组织的 GitHub Actions 指标。查看组织的 GitHub Actions 指标
查看和管理 secret scanning 绕过请求查看和管理组织的 secret scanning 绕过请求推送保护委派绕过

基本存储库访问角色

基本存储库角色会确定自定义角色中包含的初始权限集。 会对组织中所有当前和未来存储库**** 授予存储库访问权限。

基本存储库角色拥有的权限包括:

  • **** 读取:授予对组织中所有存储库的读取访问权限。
  • **** 写入:授予对组织中所有存储库的写入访问权限。
  • **** 会审:授予对组织中所有存储库的会审访问权限。
  • **** 维护:授予对组织中所有存储库的维护访问权限。
  • **** 管理员:授予对组织中所有存储库的管理员访问权限。

存储库访问权限的其他权限

选择基本存储库角色后,您可以为自定义组织角色选择其他权限。

仅当权限尚未包含在基本存储库角色中时,才能选择该权限作为其他权限。 例如,如果基本角色提供对存储库的写入**** 访问权限,则“关闭拉取请求”权限会已包含在基本角色中。

讨论

  • 创建讨论类别
  • 编辑讨论类别
  • 删除讨论类别
  • 标记或取消标记讨论答案
  • 隐藏或取消隐藏讨论评论
  • 将问题转化为讨论

有关详细信息,请参阅“GitHub Discussions 文档”。

议题和拉取请求

  • 分配或删除用户
  • 添加或删除标签

问题

  • 关闭问题
  • 重新打开已关闭的问题
  • 删除问题
  • 将问题标记为重复问题

拉取请求

  • 关闭拉取请求
  • 重新打开已关闭的拉取请求
  • 请求拉取请求审查

存储库

  • 设置里程碑
  • 管理 Wiki 设置
  • 获取项目设置
  • 管理拉取请求合并设置
  • 管理 GitHub Pages 设置(请参阅“配置 GitHub Pages 站点的发布源”)
  • 管理 web 挂钩
  • 管理部署密钥
  • 编辑存储库元数据
  • 设置交互限制
  • 设置社交预览
  • 将提交推送到受保护的分支
    • 基本角色必须是 write
    • 分支保护规则仍将适用
  • 创建受保护的标记
  • 删除受保护的标记
  • 绕过分支保护
  • 编辑存储库规则

安全性

  • 查看 code scanning 结果
  • 关闭或重新打开 code scanning 结果
  • 删除 code scanning 结果
  • 查看 Dependabot alerts
  • 关闭或重新打开 Dependabot alerts
  • 查看 secret scanning results
  • 关闭或重新打开 secret scanning 结果

不同级别访问的优先级

角色和权限可累加使用。 如果某用户从不同的途径(如团队成员身份和组织的基本权限)获得不同级别的访问权限,则该用户拥有所有授予的访问权限。 例如,如果组织所有者向某组织成员提供使用“读取”继承角色的自定义角色,然后组织所有者将组织的基本权限设置为“写入”,则拥有此自定义角色的成员将具有写入权限以及自定义角色中包含的任何其他权限。

如果某个人员获得冲突的访问权限,你将在存储库访问页上看到一条警告。 警告显示在具有冲突访问权限的人员旁,带有“ 混合角色”。 若要查看冲突访问权限的来源,请将鼠标悬停在警告图标上,或单击“混合角色”。

要解决冲突的访问权限,您可以调整组织的基本权限或团队的访问权限,或编辑自定义角色。 有关详细信息,请参阅: