使用 Microsoft Entra ID 为 GitHub Enterprise Managed User (OIDC) 配置自动用户预配

本文介绍在 GitHub Enterprise Managed User (OIDC) 和 Microsoft Entra ID 中配置自动用户预配所需的步骤。 配置后,Microsoft Entra ID 会使用 Microsoft Entra 预配服务自动将用户和组预配到 GitHub Enterprise Managed User (OIDC) 以及取消预配。 有关此服务的作用、工作原理和常见问题的重要详细信息,请参阅 使用 Microsoft Entra ID 自动预配和取消预配 SaaS 应用程序了解更多信息。

注意

GitHub Enterprise 托管用户(EMU) 是不同类型的 GitHub Enterprise 帐户。 如果你没有特意请求 EMU 实例,则你拥有的是标准 GitHub Enterprise 账户。 在这种情况下,请参阅 文档 以在非 EMU 组织中配置用户预配。 标准 GitHub 企业帐户不支持用户预配,但标准 GitHub 企业帐户下的组织支持用户预配。

支持的功能

  • 在 GitHub Enterprise Managed User (OIDC) 中创建用户
  • 当用户不再需要访问权限时,请删除 GitHub Enterprise Managed User (OIDC) 中的用户
  • 使用户属性在 Microsoft Entra ID 和 GitHub Enterprise Managed User (OIDC) 之间保持同步
  • 在 GitHub Enterprise Managed User (OIDC) 中预配组和组成员身份
  • 单点登录 到 GitHub Enterprise Managed User (OIDC)(推荐)。

先决条件

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

注意

此集成也可以通过 Microsoft Entra 美国政府云环境使用。 你可以在“Microsoft Entra 美国政府云应用程序库”中找到此应用程序,并以公有云相同的方式对其进行配置。

步骤 1:规划预配部署

  1. 了解 预配服务的工作原理
  2. 确定属于预配范围的人。
  3. 确定要在 Microsoft Entra ID 与 GitHub Enterprise Managed User 之间映射的数据。

步骤 2:准备使用 Microsoft Entra ID 配置预配

  1. 识别租户 URL。 这是在 GitHub Enterprise Managed User 应用程序的“预配”选项卡中的“租户 URL”字段中输入的值。

    • 对于 GitHub.com 上的企业,租户 URL 为 https://api.github.com/scim/v2/enterprises/{enterprise}
    • 对于 GHE.com 上的企业,租户 URL 为 https://api.{subdomain}.ghe.com/scim/v2/enterprises/{subdomain}
  2. 确保已为企业设置用户创建了具有 scim:enterprise 范围的令牌。 在 GitHub Enterprise Managed User 应用程序的“预配”选项卡中的“机密令牌”字段输入此值。 请参阅 GitHub Docs 上的 企业托管用户入门

从 Microsoft Entra 应用程序库添加 GitHub Enterprise Managed User (OIDC),以开始管理对 GitHub Enterprise Managed User (OIDC) 的预配。 如果以前为 GitHub Enterprise Managed User (OIDC) 设置过 SSO,则可以使用同一应用程序。 但建议你在最初测试集成时创建一个单独的应用。 在此处详细了解如何 从库中添加应用程序。

步骤 4:定义谁在预配范围内

通过Microsoft Entra 预配服务,你可以根据应用程序分配或用户或组的属性来限定预配的人员的范围。 如果选择根据分配将谁预配到应用,则可以使用 步骤将用户和组分配到应用程序。 如果选择仅根据用户或组的属性来限定预配的人员,则可以 使用范围筛选器

  • 先小部分测试。 在向全员推出之前,请先使用少量的用户和组进行测试。 如果预配范围设置为分配的用户和组,则可以先尝试将一两个用户或组分配到应用。 将范围设置为所有用户和组时,可以指定 基于属性的范围筛选器

  • 如果需要额外的角色,可以 更新应用程序清单 以添加新角色。

步骤 5:为 GitHub Enterprise Managed User (OIDC) 配置自动用户预配

本部分逐步介绍了如何配置 Microsoft Entra 预配服务,以根据 Microsoft Entra ID 中的用户和/或组分配在 TestApp 中创建、更新和禁用用户和/或组。

在 Microsoft Entra ID 中为 GitHub Enterprise Managed User (OIDC) 配置自动用户预配的方法:

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

  2. 浏览到 Entra ID>企业应用

    企业应用程序模块

  3. 在应用程序列表中,选择“GitHub Enterprise Managed User (OIDC)”。

    应用程序列表中的 GitHub Enterprise Managed User (OIDC) 链接

  4. 选择“预配”选项卡。

    “配置”选项卡

  5. 将“预配模式”设置为“自动”。

    预配选项卡自动化

  6. 在“管理员凭据”部分,输入 GitHub Enterprise Managed User (OIDC) 租户 URL 和机密令牌。 选择 “测试连接 ”,确保Microsoft Entra ID 可以连接到 GitHub Enterprise Managed User (OIDC)。 如果连接失败,请确保 GitHub Enterprise Managed User (OIDC) 帐户已将机密令牌创建为企业所有者并重试。

    • 对于“租户 URL”,请键入前面标识的租户 URL。

      例如,如果企业帐户的 URL 为 https://github.com/enterprises/octo-corp,则企业帐户的名称为 octo-corp。

    • 对于“机密令牌”,请粘贴之前创建的 GitHub 个人访问令牌。

      令 牌

  7. 在“通知电子邮件”字段中,输入应接收预配错误通知的个人或组的电子邮件地址,并选中“发生故障时发送电子邮件通知”复选框 。

    通知电子邮件

  8. 选择“保存”。

  9. 在“映射”部分下,选择“预配 Microsoft Entra ID 用户”

  10. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 GitHub Enterprise Managed User (OIDC) 的用户属性。 选为“匹配”属性的属性用于匹配 GitHub Enterprise Managed User (OIDC) 中进行更新操作的用户帐户。 如果选择更改 匹配的目标属性,则需要确保 GitHub Enterprise Managed User (OIDC) API 支持基于该属性筛选用户。 选择“保存”按钮以提交任何更改。

    特征 类型 支持筛选
    externalId 字符串
    用户名 字符串
    活动 布尔型
    角色 字符串
    显示名称 字符串
    名字.给定名 字符串
    姓名.姓氏 字符串
    姓名.已格式化 字符串
    emails[type eq "工作"].value 字符串
    emails[type eq “home”].value 字符串
    emails[type eq “other”].value 字符串
  11. 在“映射”部分下,选择“预配 Microsoft Entra ID 组”

  12. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 GitHub Enterprise Managed User (OIDC) 的组属性。 选为“匹配”属性的属性用于匹配 GitHub Enterprise Managed User (OIDC) 中的组以执行更新操作。 选择“保存”按钮以提交任何更改。

    特征 类型 支持筛选
    externalId 字符串
    显示名称 字符串
    成员 参考
  13. 若要配置范围筛选器,请参阅 范围筛选器文章中提供的以下说明。

  14. 要为 GitHub Enterprise Managed User (OIDC) 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“启用”。

    预配状态已切换为打开

  15. 通过在“设置”部分的“范围”中选择所需的值,定义要预配到 GitHub Enterprise Managed User (OIDC) 的用户和/或组。

    预配范围

  16. 准备好预配时,选择“保存”。

    保存预配配置

此操作会对“设置”部分的“范围”中定义的所有用户和组启动初始同步周期 。 初始周期执行的时间比后续周期长,只要 Microsoft Entra 预配服务正在运行,后续周期大约每 40 分钟就会进行一次。

步骤 6:监视部署

配置预配后,请使用以下资源来监视部署:

  1. 使用 预配日志 确定哪些用户已成功或未成功预配
  2. 检查 进度栏 以查看预配周期的状态及其完成程度
  3. 如果怀疑预配配置处于非正常状态,则应用程序将进入隔离状态。 了解有关隔离状态的详细信息,了解 应用程序预配隔离状态 文章。

更多资源