本文介绍如何将 GitHub Enterprise Server 与 Microsoft Entra ID 集成。 将 GitHub Enterprise Server 与 Microsoft Entra ID 集成后,可以:
- 通过 Microsoft Entra ID 控制谁能访问 GitHub Enterprise Server。
- 让用户使用其Microsoft Entra 帐户自动登录到 GitHub Enterprise Server。
- 在一个中心位置管理帐户。
先决条件
若要开始,需要以下项:
- Microsoft Entra 订阅。 如果没有订阅,可以获取 免费帐户。
- GitHub Enterprise Server,已准备好 初始化。
- 除了云应用程序管理员,应用程序管理员还可以在 Microsoft Entra ID 中添加或管理应用程序。 有关详细信息,请参阅 Azure 内置角色。
方案说明
本文中,您将在测试环境中配置并测试 Microsoft Entra SSO。
- GitHub Enterprise Server 支持 SP 和 IDP 发起的 SSO。
- GitHub Enterprise Server 支持 实时 用户预配。
- GitHub Enterprise Server 支持 自动用户预配。
从图库中添加 GitHub Enterprise Server
若要配置 GitHub Enterprise Server 与 Microsoft Entra ID 的集成,需要从库中将 GitHub Enterprise Server 添加到托管 SaaS 应用列表。
- 以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到 Entra ID>企业应用>新应用。
- 在 “从库中添加 ”部分的搜索框中键入 GitHub Enterprise Server 。
- 从结果面板中选择 “GitHub Enterprise Server ”,然后添加该应用。 等待几秒钟,将应用添加到租户。
或者,也可以使用 企业应用配置向导。 在此向导中,还可以将应用程序添加到租户、将用户/组添加到应用、分配角色以及演练 SSO 配置。 详细了解 Microsoft 365 向导。
为 GitHub Enterprise Server 配置并测试 Microsoft Entra SSO
使用名为 B.Simon 的测试用户,配置和测试 Microsoft Entra SSO 与 GitHub Enterprise Server。 若要运行 SSO,需要在 Microsoft Entra 用户与 GitHub Enterprise Server 中的相关用户之间建立链接关系。
要配置和测试 Microsoft Entra SSO 与 GitHub Enterprise Server,请执行以下步骤:
-
配置 Microsoft Entra SSO - 使用户能够使用此功能。
- 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
- 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra 单一登录。
-
配置 GitHub Enterprise Server SSO - 在应用程序端配置单一登录设置。
- 创建 GitHub Enterprise Server 测试用户 - 在 GitHub Enterprise Server 中配置一个与 Microsoft Entra 用户 B.Simon 对应的账户,该账户链接到 Microsoft Entra 中的用户表示形式。
- 测试 SSO - 验证配置是否正常工作。
配置 Microsoft Entra SSO
按照以下步骤启用 Microsoft Entra SSO。
以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>Enterprise 应用>GitHub Enterprise Server>单点登录。
在“选择单一登录方法”页上选择“SAML” 。
在 “使用 SAML 设置单一登录 ”页上,选择 基本 SAML 配置的 铅笔图标以编辑设置。
在 “基本 SAML 配置 ”部分中,如果要在 IDP 发起的模式下配置应用程序,请执行以下步骤:
一个。 在 “标识符”(实体 ID) 文本框中,使用以下模式键入 URL:
https://<YOUR-GITHUB-ENTERPRISE-SERVER-HOSTNAME>
b. 在“回复 URL”文本框中,使用以下模式键入 URL:
若要在 SP 启动模式下配置应用程序,请选择“设置其他 URL”,并执行以下步骤:
在 “登录 URL ”文本框中,使用以下模式键入 URL:
https://<YOUR-GITHUB-ENTERPRISE-SERVER-HOSTNAME>/sso
注意
这些值不是真实的。 使用实际标识符、回复 URL 和登录 URL 更新这些参数。 请联系 GitHub Enterprise Server 客户端支持团队 获取这些值。 还可以参考 “基本 SAML 配置 ”部分中显示的模式。
GitHub Enterprise Server 应用程序需要特定格式的 SAML 断言,这要求向 SAML 令牌属性配置添加自定义属性映射。 以下屏幕截图显示了默认属性的列表。
编辑 用户属性和声明。
选择“ 添加新声明 ”,并在文本框中以 管理员 身份输入名称( 管理员 值区分大小写)。
展开声明条件,然后从用户类型中选择成员。
选择 “选择组 ”并搜索要包含此声明的 组 ,其中其成员应是 GHES 的管理员。
选择属性用于源,并在值中输入true(不含引号)。
选择“ 保存”。
注意
若要了解如何添加声明的说明,请点击 链接。
在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中,找到“证书(Base64)”,选择“下载”以下载该证书并将其保存到计算机上 。
在 “设置 GitHub Enterprise Server ”部分中,根据要求复制相应的 URL。
创建和分配 Microsoft Entra 测试用户
在创建和分配用户帐户快速入门中遵循准则,以创建名为 B.Simon 的测试用户帐户。
配置 GitHub Enterprise Server SSO
若要在 GitHub Enterprise Server 端配置 SSO,需要按照此处 所述的说明进行作。
创建 GitHub Enterprise Server 测试用户
在本部分中,将在 GitHub Enterprise Server 中创建一个名为 B.Simon 的用户。 GitHub Enterprise Server 支持默认启用的实时用户预配。 本节中没有需要你完成的事项。 如果 GitHub Enterprise Server 中尚不存在用户,身份验证后会创建一个新用户。
GitHub Enterprise Server 还支持自动用户预配,有关如何配置自动用户预配的更多详细信息,请参阅此处 。
测试 SSO
在本部分中,将使用以下选项测试 Microsoft Entra 单一登录配置。
SP 发起:
选择“ 测试此应用程序”,此选项将重定向到 GitHub Enterprise Server 登录 URL,可在其中启动登录流。
直接转到 GitHub Enterprise Server 登录 URL,并从那里启动登录流。
IDP 已启动:
- 选择“ 测试此应用程序”,应会自动登录到为其设置了 SSO 的 GitHub Enterprise Server。
还可以使用Microsoft“我的应用”在任何模式下测试应用程序。 在“我的应用”中选择 GitHub Enterprise Server 磁贴时,如果是在 SP 模式下配置的,你会重定向到应用程序登录页来启动登录流;如果是在 IDP 模式下配置的,则应会自动登录到为其设置了 SSO 的 GitHub Enterprise Server。 有关详细信息,请参阅 Microsoft Entra My Apps。
相关内容
配置 GitHub Enterprise Server 后,可以强制实施会话控制,实时防止组织的敏感数据外泄和渗透。 会话控制从条件访问扩展。 了解如何使用 Microsoft Defender for Cloud Apps 强制实施会话控制。