Skip to main content

为企业配置 SAML 单点登录

您可以通过标识提供者 (IdP) 强制 SAML 单点登录 (SSO),从而控制和保护对企业组织内的资源(例如存储库、问题和拉取请求)的访问。

谁可以使用此功能?

Enterprise owners can configure SAML SSO for an enterprise on GitHub Enterprise Cloud.

在按照本文中的步骤操作之前,请确保企业使用个人帐户。 可以通过检查企业视图的屏幕顶部是否具有“ACCOUNT NAME 管理的用户”标题栏来执行此操作。

如果你看到这些信息,你的企业使用托管用户,则必须遵循不同的过程来配置 SAML 单一登录。 请参阅“为企业托管用户配置 SAML 单一登录”。

关于 SAML SSO

SAML 单一登录 (SSO) 为使用 GitHub Enterprise Cloud 的组织所有者和企业所有者提供了一种控制安全访问存储库、问题和拉取请求等组织资源的方法。

如果配置了 SAML SSO,组织成员将继续在 GitHub.com 上登录到其个人帐户。 当成员访问组织内的大部分资源时,GitHub 会将成员重定向到你的 IdP 以进行身份验证。 身份验证成功后,IdP 将该成员重定向回 GitHub。 有关详细信息,请参阅“关于使用 SAML 单点登录进行身份验证”。

注意: SAML SSO 不会取代 GitHub 的正常登录过程。 除非使用 Enterprise Managed Users,否则成员将继续在 GitHub.com 上登录到其个人帐户,并且每个个人帐户都将链接到 IdP 中的外部标识。

有关详细信息,请参阅“关于使用 SAML 单一登录进行的标识和访问管理”。

企业所有者可以通过 SAML IdP 跨企业帐户拥有的所有组织启用 SAML SSO 和集中式身份验证。 为企业帐户启用 SAML SSO 后,默认情况下会为您的企业帐户拥有的所有组织实施 SAML SSO。 所有成员都需要使用 SAML SSO 进行身份验证才能访问其所属的组织,并且企业所有者在访问企业帐户时需要使用 SAML SSO 进行身份验证。

若要访问 GitHub Enterprise Cloud 上的每个组织资源,成员必须在其浏览器中具有活动的 SAML 会话。若要使用 API 和 Git 访问每个组织的受保护资源,成员必须使用成员已授权用于组织的 personal access token 或 SSH 密钥。企业所有者可以随时查看和撤销成员的链接标识、活动会话或授权凭据。有关详细信息,请参阅“查看和管理用户对企业的 SAML 访问”。

注意:无法为企业帐户配置 SCIM,除非已为 Enterprise Managed Users 创建帐户。 有关详细信息,请参阅“关于 Enterprise Managed Users”。

如果不使用 Enterprise Managed Users,并且想要使用 SCIM 预配,则必须在组织级别而不是企业级别配置 SAML SSO。 有关详细信息,请参阅“关于使用 SAML 单一登录进行的标识和访问管理”。

禁用 SAML SSO 后,所有关联的外部标识将从 GitHub Enterprise Cloud 中删除。

启用 SAML SSO 后,可能需要撤销 OAuth app 和 GitHub App 授权并重新授权,然后才能访问组织。 有关详细信息,请参阅“授权 OAuth 应用”。

支持的身份提供程序

GitHub Enterprise Cloud 支持 SAML SSO 与采用 SAML 2.0 标准的 IdP 一起使用。 有关详细信息,请参阅 OASIS 网站上的 SAML Wiki

GitHub 官方支持和内部测试以下 IdP。

  • Microsoft Active Directory 联合身份验证服务 (AD FS)
  • Microsoft Entra ID(以前称为 Azure AD)
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

有关将 Microsoft Entra ID(以前称为 Azure AD)连接到企业的详细信息,请参阅 Microsoft Docs 中的教程:Microsoft Entra SSO 与 GitHub Enterprise Cloud - Enterprise Account 的集成

为企业帐户中的组织强制实施 SAML 单一登录

为您的企业实施 SAML SSO 时,企业配置将覆盖任何现有的组织级 SAML 配置。 如果企业帐户拥有的任何组织已配置为使用 SAML SSO,则为企业帐户启用 SAML SSO 时,有一些特殊注意事项。 有关详细信息,请参阅“将你的 SAML 配置从组织切换到企业帐户”。

当你为组织强制实施 SAML SSO 时,GitHub 会删除未通过 SAML IdP 成功进行身份验证的任何组织成员。 当为企业强制实施 SAML SSO 时,GitHub 不会删除未通过 SAML IdP 成功进行身份验证的企业成员。 下一次当某个成员访问企业资源时,该成员必须使用 SAML IdP 进行身份验证。

有关如何使用 Okta 启用 SAML 的详细信息,请参阅“使用 Okta 为企业配置 SAML 单点登录”。

  1. 在 GitHub 的右上角,单击你的个人资料照片。

  2. 根据环境,单击“你的企业”,或单击“你的企业”,然后单击要查看的企业********。

  3. 在页面左侧的企业帐户边栏中,单击 设置”。

  4. 在“ 设置”下,单击“身份验证安全性” 。

  5. (可选)若要在更改设置之前查看企业帐户中所有组织的当前配置,请单击“ 查看组织的当前配置”。

    企业设置中某策略的屏幕截图。 用橙色边框突出显示了标记为“查看组织的当前配置”的链接。

  6. 在“SAML 单一登录”下,选择“要求 SAML 身份验证”。

  7. 在“登录 URL”字段中,为单一登录请求键入 IdP 的 HTTPS 终结点。 此值可在 IdP 配置中找到。

  8. (可选)在“颁发者”字段中,键入 SAML 颁发者 URL 以验证已发送消息的真实性。

  9. 在“公共证书”下,粘贴证书以验证 SAML 响应。 这是 SAML 响应签名所用私钥对应的公钥。

    要查找证书,请参阅 IdP 的文档。 某些 IdP 将此称为 X.509 证书。

  10. 在你的公共证书下,在当前签名和摘要方法的右侧,单击

    SAML 设置中当前签名方法和摘要方法的屏幕截图。 铅笔图标以橙色轮廓突出显示。

  11. 选择“签名方法”和“摘要方法”下拉菜单,然后单击 SAML 颁发者使用的哈希算法。

  12. 在为企业启用 SAML SSO 之前,单击“测试 SMAL 配置”,以确保已输入的信息正确。 此测试使用服务提供商发起(SP 发起的)身份验证,并且必须先成功,然后才能保存 SAML 设置。

  13. 单击“ 保存”。

  14. 若要确保身份提供程序将来不可用时仍可在 GitHub 上访问企业,请单击“下载”、“打印”或“复制”以保存恢复代码。 有关详细信息,请参阅“下载企业帐户的单一登录恢复代码”。

延伸阅读