Skip to main content

关于 OAuth 应用访问限制

组织可通过启用 OAuth apps 访问限制,选择哪些 OAuth app 可以访问其仓库及其他资源。

关于 OAuth app 访问限制

当 OAuth app 访问限制启用后,组织成员和外部协作者无法授权 OAuth app 访问组织资源。 组织成员可以申请所有者批准他们想使用的 OAuth apps,并且组织所有者会收到待处理申请的通知。

作为组织所有者,可以选择是否允许外部协作者请求访问未经审批的 OAuth apps 和 GitHub Apps。 有关详细信息,请参阅“限制 OAuth 应用和 GitHub 应用访问请求”。

即使限制组织中的 OAuth apps 访问,用户仍可授权内部 OAuth apps 应用并使用它们访问组织中的数据。 有关详细信息,请参阅“内部 OAuth 应用”。

创建新组织时,默认启用 OAuth app 访问限制。 组织所有者可以随时禁用 OAuth app 访问限制

提示:当组织尚未设置 OAuth app 访问限制时,组织成员授权的任何 OAuth app 也可访问组织的专用资源。

为了进一步保护你的组织资源,你可以升级到 GitHub Enterprise Cloud,其中包括安全功能,如 SAML 单点登录。 有关如何免费试用 GitHub Enterprise Cloud 的详细信息,请参阅“设置 GitHub Enterprise Cloud 的试用版”。

设置 OAuth app 访问限制

当组织所有者第一次设置 OAuth app 访问限制时:

  • 组织拥有的应用程序会自动获得对组织资源的访问权限。
  • OAuth apps 会立即失去对组织资源的访问权限。
  • 2014 年 2 月之前创建的 SSH 密钥会立即失去对组织资源(包括用户和部署密钥)的访问权限。
  • OAuth apps 在 2014 年 2 月期间或以后创建的 SSH 密钥会立即失去对组织资源的访问权限。
  • 来自专用组织存储库的挂钩不再发送到未批准的 OAuth apps。
  • 对专用组织资源的 API 访问不适用于未批准的 OAuth apps。 此外,也没有在公共资源资源上执行创建、更新或删除操作的权限。
  • 用户创建的挂钩和 2014 年 5 月之前创建的挂钩不受影响。
  • 组织拥有的存储库的专用复刻需遵守组织的访问限制。

解决 SSH 访问失败

当 2014 年 2 月之前创建的 SSH 密钥因 OAuth app 访问限制启用而失去对组织的访问权限时,后续 SSH 访问尝试就会失败。 用户将会收到错误消息,将他们导向至可以批准密钥或在其位置上传可信密钥的 URL。

Webhook

当 OAuth app 在限制启用后被授予对组织的访问权限时,该 OAuth app 创建的任何原有 web 挂钩会继续分发。

当组织从之前批准的 OAuth app 删除访问权限时,该应用程序创建的任何原有 web 挂钩不再分发(这些挂钩将被禁用,但不会删除)。

重新启用访问限制

如果组织禁用 OAuth app 访问应用程序限制,后来又重新启用它们,则之前批准的 OAuth app 会被自动授予访问组织资源的权限。

延伸阅读