本文介绍在 GitHub Enterprise Server 和 Microsoft Entra ID 中配置自动用户预配所需的步骤。 配置后,Microsoft Entra ID 使用 Microsoft Entra 预配服务自动将用户和/或组预配到 GitHub Enterprise Server 并取消预配。 要了解有关此服务的作用、工作原理和常见问题的重要详细信息,请查看 Microsoft Entra ID 自动化用户预配和取消预配到 SaaS 应用程序。
支持的功能
- 在 GitHub Enterprise Server 中创建用户
- 当用户不再需要访问权限时,请删除 GitHub Enterprise Server 中的用户
- 使用户属性在 Microsoft Entra ID 和 GitHub Enterprise Server 之间保持同步
- 在 GitHub Enterprise Server 中配置组及组成员资格
- 单一登录 GitHub Enterprise Server (建议)
先决条件
本文中概述的方案假定你已具备以下先决条件:
步骤 1:规划预配部署
- 了解 预配服务的工作原理。
- 确定哪些对象在预配范围内。
- 确定 在 Microsoft Entra ID 和 GitHub Enterprise Server 之间映射哪些数据。
步骤 2:配置 GitHub Enterprise Server 以支持使用 Microsoft Entra ID 进行预配
了解如何为 GitHub Enterprise Server 启用预配,请访问此处。
步骤 3:从 Microsoft Entra 应用程序库中添加 GitHub Enterprise Server
从 Microsoft Entra 应用程序库中添加 GitHub Enterprise Server,开始管理对 GitHub Enterprise Server 的预配。 如果之前已设置 GitHub Enterprise Server for SSO,则可以使用相同的应用程序。 但是,我们建议在最初测试集成时创建单独的应用。 在此处详细了解如何 从库中添加应用程序。
步骤 4:定义谁在预配范围内
通过Microsoft Entra 预配服务,你可以根据应用程序分配或用户或组的属性来限定预配的人员的范围。 如果您选择根据分配范围决定将哪些人员预配到您的应用程序,您可以使用 步骤将用户和组分配到应用程序中。 如果选择仅根据用户或组的属性来限定预配的人员,则可以 使用范围筛选器。
从小开始。 在向所有人推出之前,先使用一小部分用户和组进行测试。 将预配范围设置为已分配的用户和组时,可以通过向应用分配一两个用户或组来控制此设置。 将范围设置为所有用户和组时,可以指定 基于属性的范围筛选器。
如果需要额外的角色,可以 更新应用程序清单 以添加新角色。
步骤 5:配置 GitHub Enterprise Server 的自动用户预配
本部分将指导你完成配置 Microsoft Entra 配置服务的步骤,以基于 Microsoft Entra ID 中的用户和/或组分配,在 TestApp 中创建、更新和禁用用户和/或组。
若要在 Microsoft Entra ID 中为 GitHub Enterprise Server 配置自动用户预配,请执行以下作:
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>企业应用
在应用程序列表中,选择 “GitHub Enterprise Server”。
选择“预配”选项卡。
设置 + 新建配置。
在 “管理员凭据 ”部分下,输入 GitHub Enterprise Server 租户 URL 和 机密令牌。 字段的值采用以下格式:
-
租户 URL:
https://<your-github-server-domain>/api/v3/scim - 机密令牌:为 GitHub Enterprise Server 实例中的预配帐户创建的个人访问令牌(PAT)。
选择 “测试连接 ”以确保Microsoft Entra ID 可以连接到 GitHub Enterprise Server。 如果连接失败,请确保 GitHub Enterprise Server 帐户具有管理员权限,然后重试。
-
租户 URL:
选择 “创建 ”以创建配置。
在“概述”页中选择“属性”。
选择铅笔以编辑属性。 启用通知电子邮件并提供电子邮件以接收隔离电子邮件。 启用意外删除预防。 选择“应用”保存更改。
在左侧面板中选择 “属性映射 ”,然后选择 用户。
在“ 属性映射 ”部分中查看从 Microsoft Entra ID 同步到 GitHub Enterprise Server 的用户属性。 选择为 “匹配 ”属性的属性用于匹配 GitHub Enterprise Server 中的用户帐户以执行更新作。 如果选择更改 匹配的目标属性,则需要确保 GitHub Enterprise Server API 支持基于该属性筛选用户。 选择“保存”按钮以提交任何更改 。
Attribute 类型 userNameString externalIdString emails[type eq "work"].valueString active布尔 name.givenNameString name.familyNameString n ame.formattedString displayNameString 选择“组”。
在“ 属性映射 ”部分中查看从 Microsoft Entra ID 同步到 GitHub Enterprise Server 的组属性。 选择为“匹配”属性的属性用于匹配 GitHub Enterprise Server 中的组以执行更新操作。 选择“保存”按钮以提交任何更改 。
Attribute 类型 displayNameString externalIdString membersReference 若要配置范围筛选器,请参阅 范围筛选器文章中提供的以下说明。
在组织中更广泛地部署之前,使用 按需预配 来验证与少数用户的同步。
准备好预配后,从“概述”页中选择“开始预配”。
第6步:监控您的部署
配置预配后,请使用以下资源来监视部署:
- 使用 预配日志 确定哪些用户已成功或未成功预配
- 检查 进度栏 以查看预配周期的状态及其完成程度
- 如果预配配置似乎处于不正常状态,则应用程序进入隔离状态。 您可以在应用程序预配隔离状态一文中了解有关隔离状态的更多信息。
更改日志
- 2021/02/18 - 添加了对群组配置的支持。
- 2025/08/19 - 修改了“GitHub AE”的链接和提及,改为“GitHub Enterprise Server”,以反映当前产品名称。