跳至主要内容

关于 OAuth 应用访问限制

组织可以通过启用 OAuth 应用访问限制来选择哪些 OAuth 应用可以访问其存储库和其他资源。

关于 OAuth 应用访问限制

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

组织所有者可以选择是否允许外部协作者请求未经批准的 OAuth 应用和 GitHub 应用的访问权限。有关更多信息,请参阅 "限制 OAuth 应用和 GitHub 应用访问请求。"。

即使您在组织中限制了 OAuth 应用的访问权限,用户仍然可以授权内部 OAuth 应用并使用它们访问组织中的数据。有关更多信息,请参阅 "内部 OAuth 应用。"。

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

提示:当组织未设置 OAuth 应用访问限制时,任何由组织成员授权的 OAuth 应用也可以访问组织的私有资源。

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

设置 OAuth 应用访问限制

当组织所有者首次设置 OAuth 应用访问限制时

  • 组织拥有的应用程序将自动获得对组织资源的访问权限。
  • OAuth 应用将立即失去对组织资源的访问权限。
  • 2014 年 2 月之前创建的 SSH 密钥将立即失去对组织资源的访问权限(包括用户和部署密钥)。
  • 2014 年 2 月或之后由 OAuth 应用创建的 SSH 密钥将立即失去对组织资源的访问权限。
  • 来自私有组织存储库的钩子交付将不再发送到未经批准的 OAuth 应用。
  • 对私有组织资源的 API 访问对于未经批准的 OAuth 应用不可用。此外,对公共组织资源没有特权的创建、更新或删除操作。
  • 用户创建的钩子和 2014 年 5 月之前创建的钩子不受影响。
  • 组织拥有存储库的私有分支受组织访问限制的约束。

解决 SSH 访问失败

当 2014 年 2 月之前创建的 SSH 密钥失去对启用了 OAuth 应用访问限制的组织的访问权限时,后续的 SSH 访问尝试将失败。用户将遇到错误消息,指示他们访问一个 URL,在那里他们可以批准密钥或上传可信密钥来代替它。

Webhooks

当 OAuth 应用在启用限制后被授予对组织的访问权限时,该 OAuth 应用创建的任何预先存在的 Webhook 将恢复调度。

当组织从先前批准的 OAuth 应用中删除访问权限时,该应用程序创建的任何预先存在的 Webhook 将不再调度(这些钩子将被禁用,但不会被删除)。

重新启用访问限制

如果组织禁用 OAuth 应用访问应用程序限制,然后重新启用它们,先前批准的 OAuth 应用将自动获得对组织资源的访问权限。

进一步阅读