跳至主要内容

关于 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 密钥 将立即失去对组织资源的访问权限。
  • 来自私有组织仓库的 Hook 交付 将不再发送到未批准的 OAuth 应用。
  • API 访问 对私有组织资源对未批准的 OAuth 应用不可用。此外,公共组织资源上不存在特权的创建、更新或删除操作。
  • 由用户创建的 Hook 和在 2014 年 5 月之前创建的 Hook 不受影响。
  • 组织拥有仓库的私有分叉 受组织访问限制的约束。

解决 SSH 访问失败

当 2014 年 2 月之前创建的 SSH 密钥因组织启用了 OAuth 应用访问限制而失去访问权限时,后续的 SSH 访问尝试将失败。用户会看到一条错误信息,指向一个 URL,用户可以在该页面批准该密钥或上传一个受信任的密钥来替代。

Webhook

在启用限制后,如果 OAuth 应用被授予组织访问权限,之前该 OAuth 应用创建的所有现有 webhook 将恢复发送。

当组织撤销先前已批准的 OAuth 应用的访问权限时,该应用之前创建的所有现有 webhook 将不再发送(这些 hook 会被禁用,但不会被删除)。

重新启用访问限制

如果组织禁用 OAuth 应用访问限制,随后再次启用,那么先前已批准的 OAuth 应用将自动获得组织资源的访问权限。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.