若要在 GitHub 上为企业成员创建、管理和停用用户帐户,IdP 必须实施 SCIM,以便与 GitHub 通信。 SCIM 是一种管理不同系统间用户标识的开放规范。 不同的 IdP 提供不同的 SCIM 预配配置体验。
如果使用合作伙伴 IdP,则可以使用合作伙伴 IdP 的应用程序简化 SCIM 预配的配置。 如果不使用合作伙伴 IdP 进行预配,则可以通过调用适用于 SCIM 的 GitHub REST API 来实现 SCIM。 有关详细信息,请参阅 关于 Enterprise Managed Users。
关于使用 SCIM 进行用户生命周期管理
使用 SCIM,可从 IdP 管理用户帐户的生命周期:
- 在为 Enterprise Managed Users 配置预配后,IdP 将使用 SCIM 在 GitHub 上预配用户帐户并将这些帐户添加到企业。如果在 IdP 中为应用程序分配一个组,则 IdP 将为该组的所有成员预配帐户。
- 在 IdP 上更新与用户标识关联的信息时,IdP 将在 GitHub 上更新用户的帐户。
- 从 IdP 应用程序取消分配用户或停用 IdP 上的用户帐户时,IdP 将与 GitHub 进行通信,以使任何会话失效并禁用该成员的帐户。 已禁用帐户的信息会保留,其用户名将更改为原始用户名的哈希,并追加短代码(如适用)。
- 如果将用户重新分配给 IdP 应用程序或在 IdP 上重新激活其帐户,则将重新激活该用户帐户,并将还原用户名。
若要配置团队和组织成员身份、仓库访问权限以及权限,可以使用 IdP 上的组。 有关详细信息,请参阅“使用标识提供者组管理团队成员身份”。
先决条件
如果要为新企业配置 SCIM 预配,请确保完成初始配置过程中的所有先前步骤。 请参阅“Enterprise Managed Users 入门”。
为 Enterprise Managed Users
配置用户预配
完成 GitHub 上的设置后,可以在 IdP 上配置预配。 你应该遵循的说明各不相同,具体取决于你是否使用合作伙伴 IdP 的应用程序来进行身份验证和预配。
如果使用合作伙伴 IdP 的应用程序,请配置预配
要使用合作伙伴 IdP 的应用程序进行身份验证和预配,请查看下表链接中合作伙伴的配置预配说明。
| IdP | SSO 方法 | 说明 |
|---|---|---|
| Microsoft Entra ID(以前称为Azure AD) | OIDC |
[Tutorial: 在 Microsoft Learn 上配置 GitHub Enterprise 托管用户(OIDC)进行自动用户配置](https://docs.microsoft.com/azure/active-directory/saas-apps/github-enterprise-managed-user-oidc-provisioning-tutorial) |
| Entra ID | SAML | 教程:在 Microsoft Learn 上配置 GitHub Enterprise Managed User 以实现自动用户预配 | | Okta | SAML | 使用 Okta 配置 SCIM预配 | | PingFederate | SAML | “先决条件”和“2. 使用 PingFederate 配置身份验证和预配 中的“配置 SCIM”部分 |
为其他身份管理系统配置预配
如果不使用合作伙伴 IdP,或者仅使用合作伙伴 IdP 进行 SAML 身份验证,则可以使用 GitHub 的 REST API 终结点来管理用户帐户的生命周期并进行 SCIM 预配。 请参阅“使用 REST API 通过 SCIM 预配用户和组”。
注意
启用 OIDC 的企业不支持使用 REST API 进行 SCIM 预配。
GitHub 没有明确支持混合合作伙伴 IdP 来进行身份验证和预配,而且未测试所有身份管理系统。 GitHub 的支持团队可能无法协助你解决与混合或未测试的系统相关的问题。 如果需要帮助,必须咨询系统的文档、支持团队或其他资源。
重要
用于 SSO 和 SCIM 的 Okta 与 Entra ID 的组合显式不受支持********。 如果配置这种组合,GitHub的 SCIM API 将在预配尝试时向标识提供者返回错误。
-
使用用户名“SHORTCODE_admin”(将 SHORTCODE 替换为你企业的短代码)作为企业设置用户登录。****
注意
如果需要重置设置用户的密码,请通过 GitHub 支持 联系 GitHub 支持门户。 提供电子邮件地址时,通常的密码重置选项将不起作用。
-
导航到您的企业。 例如,从 GitHub.com 上的 公司 页面。
-
在页面顶部,单击“Identity provider”****。
-
在“Identity Provider”下,单击“Single sign-on configuration”********。
-
在“打开 SCIM 配置”下,选择“启用开放式 SCIM 配置”。
-
通过调用 REST API 终结点进行 SCIM 预配,从而管理用户的生命周期。 请参阅“使用 REST API 通过 SCIM 预配用户和组”。
分配用户和组
配置身份验证和预配后,可以通过将用户或组分配到 GitHub 应用程序来在 GitHub Enterprise Managed User 上预配新用户。
当分配用户时,可以使用 IdP 上应用程序中的“角色”属性设置用户在企业中的角色。 有关可分配的角色的详细信息,请参阅“企业中角色的能力”。
Entra ID 不支持预配嵌套组。 有关详细信息,请参阅 Microsoft Learn 上的