Note
GitHub Enterprise Server 的 SCIM 目前为 beta 版本,可能随时更改。 GitHub 建议首先使用暂存实例进行测试。 请参阅“设置暂存实例”。
若要在 GitHub 上为企业成员创建、管理和停用用户帐户,IdP 可以实施 SCIM,以便与 GitHub 通信。 SCIM 是一种管理不同系统间用户标识的开放规范。 不同的 IdP 提供不同的 SCIM 预配配置体验。
如果使用合作伙伴 IdP,则可以使用合作伙伴 IdP 的应用程序简化 SCIM 预配的配置。 如果不使用合作伙伴 IdP 进行预配,则可以通过调用适用于 SCIM 的 GitHub REST API 来实现 SCIM。 有关详细信息,请参阅 关于在 GitHub Enterprise Server 上使用 SCIM 进行用户预配。
谁需要遵循这些说明?
即使实例已使用 SAML 身份验证,或者你在之前的 GitHub Enterprise Server 版本上注册了 SCIM 个人 beta 版本,则必须确保已按照本指南中的所有说明在版本 3.14 及更高版本中启用 SCIM。
本指南适用于以下任何情况。
- 首次设置 SAML 和 SCIM:你将按照以下说明开始操作。
- 已使用 SAML 身份验证:需要在实例上启用 SCIM,并使用支持自动预配的 IdP 应用程序重新配置 SAML,或设置与 REST API 的 SCIM 集成。
- 已在 SCIM 个人 beta 版本 中注册:需要在实例上重新启用 SCIM,如果使用的是合作伙伴 IdP,请在更新后的 IdP 应用程序中重新配置设置。
先决条件
- 对于身份验证,实例必须使用 SAML SSO,或者混合使用 SAML 和内置身份验证。
- 不能将 SCIM 与其他外部身份验证方法混合使用。 如果使用 CAS 或 LDAP,则需要在使用 SCIM 之前迁移到 SAML。
- 配置 SCIM 后,必须保持 SAML 身份验证处于启用状态才能继续使用 SCIM。
- 你必须对 IdP 具有管理访问权限,才能配置 GitHub Enterprise Server 的用户预配。
- 你必须有权访问 GitHub Enterprise Server 上的管理控制台。
- 如果要在具有现有用户的实例上配置 SCIM,请确保已了解 SCIM 如何识别和更新这些用户。 请参阅 关于在 GitHub Enterprise Server 上使用 SCIM 进行用户预配。
1. 创建内置设置用户
为了确保可以在启用 SCIM 时继续登录和配置设置,你将使用内置身份验证创建企业所有者。
-
以有权访问管理控制台的用户身份登录到 GitHub Enterprise Server。
-
如果已启用 SAML 身份验证****,请确保设置允许你创建和升级内置设置用户。 转到管理控制台的“身份验证”部分并启用以下设置:
- 选择“允许创建具有内置身份验证的帐户”****,以便可以创建用户。
- 选择“禁用管理员降级/升级”****,以便可以在 SAML 提供程序之外授予管理员权限。
有关查找这些设置的帮助,请参阅 为企业配置 SAML 单点登录。
-
创建内置用户帐户,对实例执行预配操作。 请参阅 允许对提供程序覆盖范围之外的用户进行内置身份验证。
Note
确保用户的电子邮件和用户名与你计划通过 SCIM 预配的任何用户不同。 如果电子邮件提供商支持,可以通过添加
+admin
来修改电子邮件地址,例如johndoe+admin@example.com
。 -
将用户升级至企业所有者。 请参阅 升级或降级站点管理员。
2. 创建 personal access token
-
以在上一部分中创建的内置设置用户**** 身份登录到实例。
-
创建 personal access token (classic)。 有关说明,请参阅 管理个人访问令牌。
- 令牌的范围必须为
scim:enterprise
。 - 令牌必须没有过期。 如果指定过期日期,则 SCIM 在到期日期过后将不再有效。
- 令牌的范围必须为
-
将令牌安全地存储在密码管理器中,直到你稍后在设置过程中再次需要该令牌。 需要令牌才能在 IdP 上配置 SCIM。
3. 在实例上启用 SAML
Note
如果以下任一情况适用,请完成本部分:
- 如果尚未启用 SAML 身份验证****,则需要先执行此操作,然后才能启用 SCIM。
- 如果已使用 SAML 身份验证,并且想要将合作伙伴 IdP 用于身份验证和预配,或者要从 SCIM 个人 beta 版本 升级,则必须使用新的应用程序重新配置 SAML。
-
以有权访问管理控制台的用户身份登录到实例。
-
转到管理控制台的“身份验证”部分。 有关说明,请参阅 为企业配置 SAML 单点登录。
-
选择“SAML”。
-
根据你的要求和所使用的 IdP 配置 SAML 设置。
- 因此,内置设置用户可以继续进行身份验证,请确保选择以下设置:
- 允许创建具有内置身份验证的帐户****
- 禁用管理员降级/升级****
- 如果使用合作伙伴 IdP,要查找配置设置所需的信息,请按照相关指南的“配置 SAML”部分进行操作。
- 因此,内置设置用户可以继续进行身份验证,请确保选择以下设置:
-
(可选)在 IdP 中的应用程序内完成 SAML 设置的配置。 或者,可以将此步骤留到以后再执行。
4. 在实例上启用 SCIM
-
以之前创建的内置设置用户**** 身份登录到实例。
-
在 GitHub 的右上角,单击你的个人资料照片,然后单击“你的企业”****。
-
在页面左侧的企业帐户边栏中,单击 “设置”。
-
在“ 设置”下,单击“身份验证安全性” 。
-
在“SCIM 配置”下,选择“启用 SCIM 配置”****。
5. 配置标识提供者
完成 GitHub 上的设置后,可以在 IdP 上配置预配。 你应该遵循的说明各不相同,具体取决于你是否使用合作伙伴 IdP 的应用程序来进行身份验证和预配。
如果使用合作伙伴 IdP 的应用程序,请配置预配
要使用合作伙伴 IdP 的应用程序进行身份验证和预配,请查看下面链接的说明。 完成启用 SCIM 的步骤以及尚未执行的任何 SAML 配置。
为其他身份管理系统配置预配
如果不使用合作伙伴 IdP,或者仅使用合作伙伴 IdP 进行身份验证,则可使用 GitHub 的 REST API 终结点来管理用户帐户的生命周期,以便进行 SCIM 预配。 请参阅 使用 REST API 通过 SCIM 预配用户和组。
6. 禁用可选设置
完成配置过程后,可以在管理控制台中禁用以下设置:
- 允许创建具有内置身份验证的帐户****:如果想要从 IdP 预配所有用户,请禁用此设置。
- 禁用管理员降级/升级****:如果想要能够通过 SCIM 授予企业所有者角色,请禁用此设置。
7。 分配用户和组
配置身份验证和预配后,可以通过将用户或组分配到 IdP 中的相关应用程序来在 GitHub 上预配新用户。
在分配用户时,可以使用 IdP 上的应用程序中的“角色”属性在 GitHub Enterprise Server 上设置用户在企业中的角色。 有关可分配的角色的详细信息,请参阅“企业中的角色”。
Entra ID 不支持预配嵌套组。 有关详细信息,请参阅 Microsoft Learn 中的应用程序预配在 Microsoft Entra ID 中是如何工作的。