Skip to main content

为企业配置 SAML 单点登录

你可以通过强制执行通过身份提供商 (IdP) 的 SAML 单一登录 (SSO),控制和保护对资源(如企业组织中的存储库、问题和拉取请求)的访问。

Who can use this feature

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

注意:如果企业使用 Enterprise Managed Users,则必须遵循不同的过程来配置 SAML 单一登录。 有关详细信息,请参阅“为 Enterprise 托管用户配置 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 进行身份验证。

To access each organization's resources on GitHub Enterprise Cloud, the member must have an active SAML session in their browser. To access each organization's protected resources using the API and Git, the member must use a personal access token or SSH key that the member has authorized for use with the organization. Enterprise owners can view and revoke a member's linked identity, active sessions, or authorized credentials at any time.有关详细信息,请参阅“查看和管理用户对企业帐户 SAML 的访问”。

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

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

支持的身份提供程序

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

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

  • Active Directory 联合身份验证服务 (AD FS)
  • Azure Active Directory (Azure AD)
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

使用 SAML 时的用户名考量因素

如果使用 Enterprise Managed Users,GitHub Enterprise Cloud normalizes a value from your IdP to determine the username for each new personal account in your enterprise on GitHub.com. 有关详细信息,请参阅“外部身份验证的用户名注意事项”。

为企业帐户中的组织强制实施 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.com 的右上角,单击你的个人资料照片,然后单击“你的企业”。 GitHub Enterprise Cloud 上个人资料照片下拉菜单中的“你的企业”

  2. 在企业列表中,单击您想要查看的企业。 企业列表中的企业名称

  3. 在企业帐户侧边栏中,单击 “设置”。 企业帐户侧边栏中的“设置”选项卡

  4. In the left sidebar, click Authentication security. Security tab in the enterprise account settings sidebar

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

  6. 在“SAML 单一登录”下,选择“要求 SAML 身份验证”。 用于启用 SAML SSO 的复选框

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

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

  9. 在“公共证书”下,粘贴证书以验证 SAML 响应。 标识提供程序的公共证书字段

  10. 若要验证来自 SAML 颁发者的请求完整性,请单击 。 然后,在“Signature Method(签名方法)”和“Digest Method(摘要方法)”下拉菜单中,选择 SAML 签发者使用的哈希算法。 SAML 颁发者使用的签名方法和摘要方法哈希算法下拉列表

  11. 在为企业启用 SAML SSO 之前,请单击“测试 SMAL 配置”,以确保已输入的信息正确。 实施前测试 SAML 配置的按钮

  12. 单击“ 保存”。

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

    下载、打印或复制恢复代码的按钮的屏幕截图

延伸阅读