本文的目的是向您展示在 GitHub 和 Microsoft Entra ID 中需要执行的步骤,以自动化预配 GitHub Enterprise Cloud 组织成员身份。
注意
Microsoft Entra 预配集成依赖于 GitHub SCIM API,该 API 可供 GitHub Enterprise Cloud 客户在 GitHub Enterprise 计费计划下使用。
先决条件
本文中概述的方案假定你已具有以下项:
- 在 GitHub Enterprise Cloud 中创建的 GitHub 组织,需要 GitHub Enterprise 计费计划
- GitHub 中具有组织的管理员权限的用户帐户
- 为 GitHub Enterprise Cloud 组织配置的 SAML
- 确保已按此处所述为组织提供 OAuth 访问
- 仅在组织级别启用 SSO 时,才支持单个组织的 SCIM 预配
注意
此集成也可以通过 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 的自动用户帐户预配
以至少云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>企业应用。
如果已为 GitHub 配置单一登录,请使用搜索字段搜索 GitHub 实例。
选择 GitHub 实例,并选择“预配”选项卡。
将“预配模式”设置为“自动”。
在 Azure 门户中,输入 租户 URL 并选择 “测试连接 ”,以确保Microsoft Entra ID 可以连接到 GitHub 组织。 如果连接失败,请确保 GitHub 帐户具有管理员权限,且输入的“租户 URL”正确无误,然后再次尝试“授权”步骤(可以按规则: 来编写“租户 URL”,可在 GitHub 帐户:“设置”“组织”下找到你的组织)
https://api.github.com/scim/v2/organizations/<Organization_name>
>。在“ 管理员凭据 ”部分下,选择“ 授权”。 此操作将在新的浏览器窗口中打开“GitHub 授权”对话框。 请注意,需要确保获得批准才能授权访问。 按照 此处所述的说明进行操作。
在新窗口中,使用管理员帐户登录到 GitHub。 在显示的授权对话框中,选择要启用预配的 GitHub 组织,然后选择“授权”。 完成后,返回到 Azure 门户完成预配配置。
在“通知电子邮件”字段中输入应接收预配错误通知的个人或组的电子邮件地址,并选中复选框“发生故障时发送电子邮件通知”。
选择“ 保存”。
在“映射”部分下,选择“将 Microsoft Entra 用户同步到 GitHub”。
在“属性映射”部分,查看从 Microsoft Entra ID 同步到 GitHub 的用户属性。 选为“匹配”属性的特性用于匹配 GitHub 中的用户帐户以执行更新操作。 不要为“预配”部分中的其他默认属性启用“匹配优先”设置,因为可能会出现错误。 选择“保存”,提交所有更改。
若要为 GitHub 启用 Microsoft Entra 预配服务,请在“设置”部分将“预配状态”更改为“开”。
选择“ 保存”。
此操作会对“用户和组”部分中分配到 GitHub 的任何用户和/或组启动初始同步。 初始同步执行的时间比后续同步长,只要服务正在运行,大约每隔 40 分钟就会进行一次同步。 可以使用“同步详细信息”部分监视进度并跟踪指向预配活动日志的链接,这些日志描述了预配服务执行的所有操作。
有关如何读取Microsoft Entra 预配日志的详细信息,请参阅 有关自动用户帐户预配的报告。