有关 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 密钥 会立即失去对组织资源的访问权限。
- 来自私有组织仓库的 Hook 传递将不再发送到未经批准的OAuth apps。
- 对专用组织资源的 API 访问不适用于未经批准OAuth apps。 此外,也没有在公共资源资源上执行创建、更新或删除操作的权限。
- 用户创建的挂钩和 2014 年 5 月之前创建的挂钩不受影响。
- 组织拥有的存储库的专用复刻需遵守组织的访问限制。
解决 SSH 访问失败
在 2014 年 2 月之前创建的 SSH 密钥失去对启用了访问限制的组织 OAuth app 的访问权限时,后续的 SSH 访问尝试将失败。 用户将会收到错误消息,将他们导向至可以批准密钥或在其位置上传可信密钥的 URL。
Webhook
启用限制后,当 OAuth app 被授予对该组织的访问权限时,由该 OAuth app 创建的任何先前已存在的 webhook 都将恢复发送。
当组织撤销某个先前已获批准的 OAuth app 的访问权限时,该应用程序之前创建的任何现有 webhook 都将不再被触发(这些 webhook 将被禁用,但不会被删除)。
重新启用访问限制
如果组织禁用 OAuth app 访问应用程序限制,然后重新启用它们,则以前批准的 OAuth app 系统会自动授予对组织资源的访问权限。