教程:Microsoft Entra 单一登录 (SSO) 与 GitHub Enterprise Managed User 的集成

本教程介绍如何将 GitHub Enterprise Managed User (EMU) 与 Microsoft Entra ID 相集成。 将 GitHub Enterprise Managed User 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 GitHub Enterprise Managed User。
  • 让用户能够使用其 Microsoft Entra 帐户自动登录到 GitHub Enterprise Managed User。
  • 在中心位置管理帐户。

注意

GitHub Enterprise 托管用户是 GitHub Enterprise Cloud 的一项功能,它不同于 GitHub Enterprise 的标准 SAML SSO 实现。 如果你没有特意请求 EMU 实例,则你拥有标准的 GitHub Enterprise Cloud 计划。 在这种情况下,请参阅相关文档以配置你的非 EMU 组织企业帐户以使用 Microsoft Entra ID 进行身份验证。

先决条件

若要开始操作,需备齐以下项目:

  • 一个 Microsoft Entra 订阅。 如果你没有订阅,可以获取一个免费帐户
  • 已启用 GitHub Enterprise Managed User 单一登录 (SSO) 的订阅。

方案描述

在本教程中,将在测试环境中配置并测试 Microsoft Entra SSO。

  • GitHub Enterprise Managed User 支持 SP 和 IDP 发起的 SSO。
  • GitHub Enterprise Managed User 需要自动用户预配

若要配置 GitHub Enterprise Managed User 与 Microsoft Entra ID 的集成,需要从库中将 GitHub Enterprise Managed User 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
  3. 在搜索框中键入“GitHub Enterprise 托管用户”。
  4. 从结果面板中选择“GitHub Enterprise 托管用户”,然后单击“创建”按钮。 在该应用添加到租户时等待几秒钟。

或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。

配置并测试 GitHub Enterprise Managed User 的 Microsoft Entra SSO

若要配置并测试 GitHub Enterprise Managed User 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 在 Microsoft Entra 租户中启用 SAML 单一登录。
  2. 配置 GitHub Enterprise Managed User SSO - 在 GitHub Enterprise 中配置单一登录设置。

配置 Microsoft Entra SSO

按照以下步骤启用 Microsoft Entra SSO。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“GitHub Enterprise Managed User”>“单一登录”。

  3. 在“选择单一登录方法”页上选择“SAML” 。

  4. 在“设置 SAML 单一登录”页面上,单击“基本 SAML 配置”旁边的铅笔图标以编辑设置 。

    显示如何编辑基本 SAML 配置的屏幕截图。

  5. 在开始之前,请确保已准备好你的企业 URL。 下面提到的“实体”字段是启用了 EMU 的企业 URL 的企业名称。 例如, https://github.com/enterprises/contoso - contoso 就是实体。 如果要在“IDP”发起的模式下配置应用程序,请在“基本 SAML 配置”部分中输入以下字段的值 :

    a. 在“标识符”文本框中,使用以下模式键入 URL:

    注意

    请注意,标识符格式不同于应用程序的建议格式 - 请遵循上述格式。 此外,请确保标识符不包含尾部斜杠。

    b. 在“回复 URL”文本框中,使用以下模式键入 URL:https://github.com/enterprises/<ENTITY>/saml/consume

  6. 如果要在 SP 发起的模式下配置应用程序,请单击“设置其他 URL” ,并执行以下步骤:

    在“登录 URL” 文本框中,使用以下模式键入 URL:https://github.com/enterprises/<ENTITY>/sso

  7. 在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中,找到“证书 (PEM)”,选择“PEM 证书下载”以下载该证书并将其保存到计算机上

    显示证书下载链接的屏幕截图。

  8. 在“设置 GitHub Enterprise Managed User”部分,复制并保存以下 URL,供稍后在配置 GitHub 时使用。

    显示复制配置 URL 的屏幕截图。

分配 Microsoft Entra 测试用户

在本部分,你要将自己的帐户分配到 GitHub Enterprise Managed User 以完成 SSO 设置。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“GitHub Enterprise Managed User”。
  3. 在应用的概述页中,找到“管理”部分,选择“用户和组” 。
  4. 选择“添加用户”,然后在“添加分配”对话框中选择“用户和组”。
  5. 在“用户和组”对话框的“用户”列表中选择你的帐户,然后单击屏幕底部的“选择”按钮 。
  6. 在“选择角色”对话框中选择“企业所有者”角色,然后单击屏幕底部的“选择”按钮 。 在下一篇教程中预配你的帐户时,该帐户将分配为 GitHub 实例的企业所有者。
  7. 在“添加分配”对话框中,单击“分配”按钮。

配置 GitHub Enterprise Managed User SSO

若要在 GitHub Enterprise Managed User 一端配置单一登录,需要指定以下各项:

  1. 上述 Microsoft Entra Enterprise Managed User 应用程序中的 URL:登录 URL;Microsoft Entra 标识符;注销 URL
  2. GitHub Enterprise 的第一个管理员用户的帐户名和密码。 这些凭据是通过 GitHub 解决方案工程联系人所发送的密码重置电子邮件提供的。

启用 GitHub Enterprise Managed User SAML SSO

在本部分,你将采用 Microsoft Entra ID 提供的上述信息,并将其输入到企业设置中以启用 SSO 支持。

  1. 转到 https://github.com
  2. 单击右上角的“登录”
  3. 输入第一个管理员用户帐户的凭据。 登录句柄应采用以下格式:<your enterprise short code>_admin
  4. 导航到 https://github.com/enterprises/<your enterprise name>。 此信息应由解决方案工程联系人提供。
  5. 在左侧导航菜单中,选择“设置”,然后选择“身份验证安全性”。
  6. 单击“需要 SAML 身份验证”复选框
  7. 输入“登录 URL”。 此 URL 是前面从 Microsoft Entra ID 复制的“登录 URL”。
  8. 填写“颁发者”。 此 URL 是前面从 Microsoft Entra ID 复制的 Microsoft Entra 标识符。
  9. 填写“公共证书”。 请打开前面下载的 base64 证书,并将该文件的文本内容粘贴到此对话框中。
  10. 单击“测试 SAML 配置”。 此时会打开一个对话框,可在其中使用 Microsoft Entra 凭据登录,以验证 SAML SSO 是否已正确配置。 使用 Microsoft Entra 凭据登录。 成功验证后,你将收到消息“已通过: 已成功对你的 SAML SSO 标识进行身份验证”。
  11. 单击“保存”以保存这些设置。
  12. 请在安全的位置保存(下载、打印或复制)恢复代码。
  13. 单击“启用 SAML 身份验证”。
  14. 此时,只有使用 SSO 的帐户才能登录到你的企业。 请按照以下文档中的预配说明来预配 SSO 支持的帐户。

后续步骤

GitHub Enterprise Managed User 还要求通过自动用户预配创建所有帐户,在此处可以找到有关如何配置自动用户预配的更多详细信息。