教程: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
若要配置 GitHub Enterprise Managed User 与 Microsoft Entra ID 的集成,需要从库中将 GitHub Enterprise Managed User 添加到托管 SaaS 应用列表。
- 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
- 在搜索框中键入“GitHub Enterprise 托管用户”。
- 从结果面板中选择“GitHub Enterprise 托管用户”,然后单击“创建”按钮。 在该应用添加到租户时等待几秒钟。
或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。
配置并测试 GitHub Enterprise Managed User 的 Microsoft Entra SSO
若要配置并测试 GitHub Enterprise Managed User 的 Microsoft Entra SSO,请执行以下步骤:
- 配置 Microsoft Entra SSO - 在 Microsoft Entra 租户中启用 SAML 单一登录。
- 配置 GitHub Enterprise Managed User SSO - 在 GitHub Enterprise 中配置单一登录设置。
配置 Microsoft Entra SSO
按照以下步骤启用 Microsoft Entra SSO。
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“企业应用程序”>“GitHub Enterprise Managed User”>“单一登录”。
在“选择单一登录方法”页上选择“SAML” 。
在“设置 SAML 单一登录”页面上,单击“基本 SAML 配置”旁边的铅笔图标以编辑设置 。
在开始之前,请确保已准备好你的企业 URL。 下面提到的“实体”字段是启用了 EMU 的企业 URL 的企业名称。 例如, https://github.com/enterprises/contoso - contoso 就是实体。 如果要在“IDP”发起的模式下配置应用程序,请在“基本 SAML 配置”部分中输入以下字段的值 :
a. 在“标识符”文本框中,使用以下模式键入 URL:
注意
请注意,标识符格式不同于应用程序的建议格式 - 请遵循上述格式。 此外,请确保标识符不包含尾部斜杠。
b. 在“回复 URL”文本框中,使用以下模式键入 URL:
https://github.com/enterprises/<ENTITY>/saml/consume
如果要在 SP 发起的模式下配置应用程序,请单击“设置其他 URL” ,并执行以下步骤:
在“登录 URL” 文本框中,使用以下模式键入 URL:
https://github.com/enterprises/<ENTITY>/sso
。在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中,找到“证书 (PEM)”,选择“PEM 证书下载”以下载该证书并将其保存到计算机上。
在“设置 GitHub Enterprise Managed User”部分,复制并保存以下 URL,供稍后在配置 GitHub 时使用。
分配 Microsoft Entra 测试用户
在本部分,你要将自己的帐户分配到 GitHub Enterprise Managed User 以完成 SSO 设置。
- 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到“标识”>“应用程序”>“企业应用程序”>“GitHub Enterprise Managed User”。
- 在应用的概述页中,找到“管理”部分,选择“用户和组” 。
- 选择“添加用户”,然后在“添加分配”对话框中选择“用户和组”。
- 在“用户和组”对话框的“用户”列表中选择你的帐户,然后单击屏幕底部的“选择”按钮 。
- 在“选择角色”对话框中选择“企业所有者”角色,然后单击屏幕底部的“选择”按钮 。 在下一篇教程中预配你的帐户时,该帐户将分配为 GitHub 实例的企业所有者。
- 在“添加分配”对话框中,单击“分配”按钮。
配置 GitHub Enterprise Managed User SSO
若要在 GitHub Enterprise Managed User 一端配置单一登录,需要指定以下各项:
- 上述 Microsoft Entra Enterprise Managed User 应用程序中的 URL:登录 URL;Microsoft Entra 标识符;注销 URL
- GitHub Enterprise 的第一个管理员用户的帐户名和密码。 这些凭据是通过 GitHub 解决方案工程联系人所发送的密码重置电子邮件提供的。
启用 GitHub Enterprise Managed User SAML SSO
在本部分,你将采用 Microsoft Entra ID 提供的上述信息,并将其输入到企业设置中以启用 SSO 支持。
- 转到 https://github.com
- 单击右上角的“登录”
- 输入第一个管理员用户帐户的凭据。 登录句柄应采用以下格式:
<your enterprise short code>_admin
- 导航到
https://github.com/enterprises/
<your enterprise name>
。 此信息应由解决方案工程联系人提供。 - 在左侧导航菜单中,选择“设置”,然后选择“身份验证安全性”。
- 单击“需要 SAML 身份验证”复选框
- 输入“登录 URL”。 此 URL 是前面从 Microsoft Entra ID 复制的“登录 URL”。
- 填写“颁发者”。 此 URL 是前面从 Microsoft Entra ID 复制的 Microsoft Entra 标识符。
- 填写“公共证书”。 请打开前面下载的 base64 证书,并将该文件的文本内容粘贴到此对话框中。
- 单击“测试 SAML 配置”。 此时会打开一个对话框,可在其中使用 Microsoft Entra 凭据登录,以验证 SAML SSO 是否已正确配置。 使用 Microsoft Entra 凭据登录。 成功验证后,你将收到消息“已通过: 已成功对你的 SAML SSO 标识进行身份验证”。
- 单击“保存”以保存这些设置。
- 请在安全的位置保存(下载、打印或复制)恢复代码。
- 单击“启用 SAML 身份验证”。
- 此时,只有使用 SSO 的帐户才能登录到你的企业。 请按照以下文档中的预配说明来预配 SSO 支持的帐户。
后续步骤
GitHub Enterprise Managed User 还要求通过自动用户预配创建所有帐户,在此处可以找到有关如何配置自动用户预配的更多详细信息。