在 Microsoft Entra ID 中为 GitHub 配置自动用户预配

本文的目的是向您展示在 GitHub 和 Microsoft Entra ID 中需要执行的步骤,以自动化预配 GitHub Enterprise Cloud 组织成员身份。

注意

Microsoft Entra 预配集成依赖于 GitHub SCIM API,该 API 可供 GitHub Enterprise Cloud 客户在 GitHub Enterprise 计费计划下使用。

先决条件

本文中概述的方案假定你已具有以下项:

注意

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

将用户分配到 GitHub

Microsoft Entra ID 使用名为“分配”的概念来确定哪些用户应收到对所选应用的访问权限。 在自动用户帐户预配的上下文中,只同步已“分配”到 Microsoft Entra ID 中的应用程序的用户和组。

在配置和启用预配服务之前,需要确定 Microsoft Entra ID 中哪些用户和/或组表示需要访问 GitHub 组织的用户。 确定后,可以按照此处的说明分配这些用户:

有关详细信息,请参阅 向企业应用分配用户或组

将用户分配到 GitHub 的重要提示

  • 建议将单个 Microsoft Entra 用户分配到 GitHub 以测试预配配置。 其他用户和/或组可以稍后分配。

  • 如果将用户分配到 GitHub,必须在分配对话框中选择“用户”角色或其他特定于应用程序的有效角色(如果有)默认访问角色不适用于预配,因此这些用户被跳过。

为 GitHub 配置用户预配

本部分会指导你将 Microsoft Entra ID 连接到 GitHub 的 SCIM 预配 API,来自动预配 GitHub 组织成员身份。 此集成利用 OAuth 应用,根据 Microsoft Entra ID 中的用户和组分配自动添加、管理和删除成员对 GitHub Enterprise Cloud 组织的访问权限。 通过 SCIM 将用户预配到 GitHub 组织时,会将电子邮件邀请发送到用户的电子邮件地址。

在 Microsoft Entra ID 中配置 GitHub 的自动用户帐户预配

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

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

  3. 如果已为 GitHub 配置单一登录,请使用搜索字段搜索 GitHub 实例。

  4. 选择 GitHub 实例,并选择“预配”选项卡

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

  6. 在 Azure 门户中,输入 租户 URL 并选择 “测试连接 ”,以确保Microsoft Entra ID 可以连接到 GitHub 组织。 如果连接失败,请确保 GitHub 帐户具有管理员权限,且输入的“租户 URL”正确无误,然后再次尝试“授权”步骤(可以按规则: 来编写“租户 URL”,可在 GitHub 帐户:“设置”“组织”下找到你的组织)https://api.github.com/scim/v2/organizations/<Organization_name>>

    屏幕截图显示了 GitHub 中的“组织”页。

  7. 在“ 管理员凭据 ”部分下,选择“ 授权”。 此操作将在新的浏览器窗口中打开“GitHub 授权”对话框。 请注意,需要确保获得批准才能授权访问。 按照 此处所述的说明进行操作。

    截图显示了 GitHub 配置。

  8. 在新窗口中,使用管理员帐户登录到 GitHub。 在显示的授权对话框中,选择要启用预配的 GitHub 组织,然后选择“授权”。 完成后,返回到 Azure 门户完成预配配置。

    屏幕截图显示了 GitHub 的登录页。

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

  10. 选择“ 保存”。

  11. 在“映射”部分下,选择“将 Microsoft Entra 用户同步到 GitHub”。

  12. 在“属性映射”部分,查看从 Microsoft Entra ID 同步到 GitHub 的用户属性。 选为“匹配”属性的特性用于匹配 GitHub 中的用户帐户以执行更新操作。 不要为“预配”部分中的其他默认属性启用“匹配优先”设置,因为可能会出现错误。 选择“保存”,提交所有更改。

  13. 若要为 GitHub 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“开”。

  14. 选择“ 保存”。

此操作会对“用户和组”部分中分配到 GitHub 的任何用户和/或组启动初始同步。 初始同步执行的时间比后续同步长,只要服务正在运行,大约每隔 40 分钟就会进行一次同步。 可以使用“同步详细信息”部分监视进度并跟踪指向预配活动日志的链接,这些日志描述了预配服务执行的所有操作

有关如何读取Microsoft Entra 预配日志的详细信息,请参阅 有关自动用户帐户预配的报告

其他资源