Skip to main content

为企业托管用户配置 SAML 单一登录

可以通过配置安全断言标记语言 (SAML) 单一登录 (SSO) 来自动管理对 GitHub 上企业帐户的访问。

谁可以使用此功能?

Enterprise Managed Users 可用于 GitHub Enterprise Cloud 上的新企业帐户。 请参阅“关于 Enterprise Managed Users”。

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

如果企业使用个人帐户,则必须遵循不同的过程配置 SAML 单一登录。 请参阅“为企业配置 SAML 单点登录”。

关于 Enterprise Managed Users 的 SAML SSO

使用 Enterprise Managed Users 时,必须通过标识提供者 (IdP) 访问 GitHub.com 或 GHE.com 上的企业资源。 你的企业成员将通过 IdP 登录,而不是使用 GitHub 用户名和密码登录。

配置 SAML SSO 后,我们建议存储恢复代码,以便在 IdP 不可用时恢复对企业的访问权限。

如果目前使用 SAML SSO 进行身份验证,并且更希望使用 OIDC 并受益于 CAP 支持,则可以遵循迁移路径。 有关详细信息,请参阅“从 SAML 迁移到 OIDC”。

先决条件

  • 了解对 IdP 的集成要求和支持级别。

    • 如果使用合作伙伴 IdP 进行身份验证和预配,GitHub 提供了“预设”集成和全面支持。
    • 也可以使用符合 SAML 2.0 和 SCIM 2.0 的任何系统或系统组合。 但是,对于此类系统的问题排查的支持可能较为有限。

    有关详细信息,请参阅“关于 Enterprise Managed Users”。

  • IdP 必须遵循 SAML 2.0 规范。 请参阅 OASIS 网站上的 SAML Wiki

  • 必须对 IdP 具有租户管理访问权限。

  • 如果要为新企业配置 SAML SSO,请确保完成初始配置过程中的所有先前步骤。 请参阅“Enterprise Managed Users 入门”。

为 Enterprise Managed Users 配置 SAML SSO

要为 具有托管用户的企业 配置 SAML SSO,必须在 IdP 上配置应用程序,然后在 GitHub 上配置企业。 配置 SAML SSO 后,可以配置用户预配。

  1. 配置 IdP
  2. 配置企业
  3. 启用预配

配置 IdP

  1. 如果使用合作伙伴 IdP,请单击你的 IdP 和环境对应的链接来安装 GitHub Enterprise Managed User 应用程序。

    标识提供者GitHub.com 的应用GHE.com 的应用
    Microsoft Entra IDGitHub Enterprise Managed UserGitHub Enterprise Managed User
    OktaGitHub Enterprise Managed UserGitHub Enterprise Managed User - ghe.com
    PingFederatePingFederate 下载网站(导航到“加载项”选项卡,然后选择“GitHub EMU 连接器 1.0”)********PingFederate 下载网站(导航到“加载项”选项卡,然后选择“GitHub EMU 连接器 1.0”)********
  2. 要在合作伙伴 IdP 上配置 Enterprise Managed Users 的 SAML SSO,请阅读你的 IdP 和环境对应的文档。

    标识提供者GitHub.com 的文档GHE.com 的文档
    Microsoft Entra IDMicrosoft LearnMicrosoft Learn
    Okta使用 Okta 为企业托管用户配置 SAML 单一登录使用 Okta 为企业托管用户配置 SAML 单一登录
    PingFederate使用 PingFederate 配置身份验证和预配(“先决条件”和“1. 配置 SAML”部分)使用 PingFederate 配置身份验证和预配(“先决条件”和“1. 配置 SAML”部分)

    或者,如果不使用合作伙伴 IdP,可以使用 GitHub Enterprise Cloud 的 SAML 配置参考在 IdP 上创建和配置通用 SAML 2.0 应用程序。 请参阅“SAML 配置参考”。

  3. 要测试和配置企业,请将自己或在 GitHub 上为企业配置 SAML SSO 的用户分配给在 IdP 上为 Enterprise Managed Users 配置的应用程序。

    Note

    为了在配置时测试成功的身份验证连接,必须至少为 IdP 分配一个用户。

  4. 要继续在 GitHub 上配置企业,请找到并记下在 IdP 上安装的应用程序的以下信息。

    其他名称说明
    IdP 登录 URL登录 URL、IdP URLIdP 上的应用程序的 URL
    IdP 标识符 URL颁发者用于 SAML 身份验证的服务提供商的 IdP 标识符
    签名证书,Base64 编码公用证书IdP 用于对身份验证请求进行签名的公共证书

配置企业

在 IdP 上为 Enterprise Managed Users 配置 SAML SSO 后,可以在 GitHub 上配置企业。

初始配置 SAML SSO 后,可以在 GitHub 上为现有 SAML 配置更新的唯一设置是 SAML 证书。 如果需要更新登录 URL 或颁发者 URL,必须首先禁用 SAML SSO,然后使用新设置重新配置 SAML SSO。 有关详细信息,请参阅“为企业托管用户禁用身份验证和预配”。

  1. 使用用户名 SHORT-CODE_admin 登录为企业的设置用户,需将 SHORT-CODE 替换为企业的短代码****。

    Note

    如果需要重置设置用户的密码,请通过 GitHub 支持门户 联系 GitHub 支持。 提供电子邮件地址时,通常的密码重置选项将不起作用。

  2. 如果在启用 SAML 之前使用非合作伙伴 IdP(Okta、PingFederate 或 Entra ID 以外的 IdP),必须更新设置,以便能够使用 REST API 设置 SCIM。**** 请参阅“为企业托管用户配置 SCIM 预配”。

  3. 在 GitHub 的右上角,单击你的个人资料照片,然后单击“你的企业”****。

  4. 在页面左侧的企业帐户边栏中,单击“Identity provider”****。

  5. 在“Identity Provider”下,单击“Single sign-on configuration”********。

  6. 在“SAML single sign-on”下,选择“Add SAML configuration”****。

  7. 在“登录 URL”**** 下,键入在配置 IdP 时记下的用于 SSO 请求的 IdP 的 HTTPS 端点。

  8. (可选)在“颁发者”字段下,输入在配置 IdP 时记下的 SAML 颁发者 URL,以验证发送的消息的真实性。

  9. 在“公共证书”下,粘贴在配置 IdP 时记下的证书以验证 SAML 响应。

  10. 在“Public Certificate”下,选择“Signature Method”和“Digest Method”下拉菜单,然后单击 SAML 颁发者使用的哈希算法************。

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

  12. 单击“保存 SAML 设置” 。

    Note

    如果需要在企业实施 SAML SSO 并且保存了 SAML 设置后,设置用户将继续有权访问企业,并将与 IdP 预配的 托管用户帐户 一起登录到 GitHub,该用户也将有权访问企业。

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

启用预配

启用 SAML SSO 后,启用预配。 有关详细信息,请参阅“为企业托管用户配置 SCIM 预配”。

启用来宾协作者

你可以使用来宾协作者的角色向企业中的供应商和承包商授予有限的访问权限。 与企业成员不同,来宾协作者只能访问其所属组织内部的存储库。

如果使用 Entra ID 或 Okta 进行 SAML 身份验证,可能需要更新 IdP 应用程序以使用来宾协作者。 有关详细信息,请参阅“启用来宾协作者”。