使用企业托管用户配置 GitHub 企业版,以便使用 Microsoft Entra ID 进行 SAML 单一登录

本文介绍如何使用 Microsoft Entra ID 为 GitHub 企业的“Enterprise Managed Users”设置 SAML 集成。 对于具有企业托管用户的 GitHub 企业,除了设置 SCIM 预配之外,还需要设置 SAML 或 OIDC 身份验证集成。 使用企业托管用户为 GitHub 企业设置身份验证和 SCIM 预配,从而允许管理员:

  • 在 Microsoft Entra ID 中控制谁有权访问具有企业托管用户的 GitHub 企业。
  • 让用户通过 SSO 登录到 GitHub Enterprise 托管用户帐户。
  • 将用户和群组预配到企业中(一旦完成身份验证和 SCIM 预配集成的设置)。 GitHub 团队可以映射到 SCIM 预配的组。
  • 在一个中心位置(Entra ID)中管理帐户和组。

注意

具有企业托管用户的 GitHub.com 企业帐户是特定类型的企业。 这由你请求或是在 GitHub.com 创建新的 GitHub 企业帐户所决定。 可以在 本 GitHub 文章中详细了解不同类型的 GitHub 企业。 如果您没有设置为企业托管用户的企业,请参阅这篇 GitHub 文章以了解更多详细信息和链接。

先决条件

本文中概述的方案假定你已具备以下先决条件:

  • 已启用 GitHub Enterprise Managed User 单一登录 (SSO) 的订阅。
  • 为企业托管用户设置的 GitHub 企业。

方案描述

本文中,您将在测试环境中配置并测试 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. 浏览到 Entra ID>企业应用>新建应用程序
  3. 在搜索框中键入“GitHub Enterprise 托管用户”
  4. 从结果面板中选择 GitHub Enterprise Managed User ,然后选择“ 创建 ”按钮。 等待几秒钟,以便将该应用添加到租户。

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

配置和测试 Microsoft Entra SAML SSO,以支持 GitHub 企业的企业托管用户

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

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

配置 Microsoft Entra SAML SSO

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

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

  2. 浏览到 Entra ID>企业应用>GitHub Enterprise Managed User>单一登录

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

  4. “使用 SAML 设置单一登录 ”页上,选择 基本 SAML 配置的 铅笔图标以编辑设置。

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

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

    a。 在“标识符”文本框中,使用以下模式键入 URL:https://github.com/enterprises/{enterprise}

    注意

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

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

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

    在“登录 URL”文本框中,使用以下模式键入 URL:https://github.com/enterprises/{enterprise}/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. 浏览到 Entra ID>企业应用>GitHub Enterprise 托管用户
  3. 在应用的概述页中找到管理部分,然后选择用户和组
  4. 选择“添加用户”,然后在“添加分配”对话框中选择“用户和组”。
  5. 在“ 用户和组 ”对话框中,从“用户”列表中选择你的帐户,然后选择屏幕底部的 “选择 ”按钮。
  6. “选择角色 ”对话框中,选择 “企业所有者 ”角色,然后选择屏幕底部的 “选择 ”按钮。 在下一篇文章中预配你的帐户时,该帐户将分配为 GitHub 实例的企业所有者。
  7. 在“添加分配”对话框中,选择“分配”按钮 。

配置 GitHub Enterprise Managed User SSO

若要在 GitHub Enterprise Managed User 端配置单一登录,需要 Entra ID 应用中的以下项:

  1. 上述Microsoft Entra Enterprise Managed User Application 中的 URL: Login URLMicrosoft Entra Identifier.
  2. 下载的 base64 证书。
  3. GitHub 企业 设置用户帐户的 用户名和密码。

启用 GitHub Enterprise Managed User SAML SSO

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

  1. 按照 本 GitHub 文档中 的步骤为企业配置 SAML 身份验证。
  2. 在输入 Sign-on URL 时,请注意,这是您之前从 Microsoft Entra ID 复制的登录 URL。
  3. 在输入Issuer时,请注意,这是您从上面复制的 Microsoft Entra ID 的Microsoft Entra Identifier
  4. 输入公共证书时,打开上面下载的 base64 证书,并将该文件的文本内容粘贴到此对话框中。
  5. 完成 GitHub 文档中为企业配置 SAML 身份验证的步骤后,只有 SCIM 预配的企业托管用户才能访问企业(除了使用设置用户帐户登录和使用企业恢复代码除外)。 完成以下预配教程中的步骤,为 GitHub 企业配置 SCIM 预配,以便预配企业托管用户和组。 在完成这些步骤并在其用户帐户已在企业中预配 SCIM 之前,用户将无法登录并访问企业。

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