Note
GitHub Enterprise Server 的 SCIM 目前为 公共预览版,可能会更改。 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 个人预览版,则必须确保已按照本指南中的所有说明在版本 3.14 及更高版本中启用 SCIM。
本指南适用于以下任何情况。
- 首次设置 SAML 和 SCIM:你将按照以下说明开始操作。
- 已使用 SAML 身份验证:需要在实例上启用 SCIM,并使用支持自动预配的 IdP 应用程序重新配置 SAML,或设置与 REST API 的 SCIM 集成。
- 已在 SCIM 个人预览版 中注册:需要在实例上重新启用 SCIM,如果使用的是合作伙伴 IdP,请在更新后的 IdP 应用程序中重新配置设置。
先决条件
- 对于身份验证,实例必须使用 SAML SSO,或者混合使用 SAML 和内置身份验证。
- 不能将 SCIM 与其他外部身份验证方法混合使用。 如果使用 CAS 或 LDAP,则需要在使用 SCIM 之前迁移到 SAML。
- 配置 SCIM 后,必须保持 SAML 身份验证处于启用状态才能继续使用 SCIM。
- 你必须对 IdP 具有管理访问权限,才能配置 的用户预配。
- 你必须有权访问 上的管理控制台。
- 如果要在具有现有用户的实例上配置 SCIM,请确保已了解 SCIM 如何识别和更新这些用户。 请参阅 关于在 GitHub Enterprise Server 上使用 SCIM 进行用户预配。
1. 创建内置设置用户
为了确保可以在启用 SCIM 时继续登录和配置设置,你将使用内置身份验证创建企业所有者。
-
以有权访问管理控制台的用户身份登录到 。
-
如果已启用 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 个人预览版 升级,则必须使用新的应用程序重新配置 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 上应用程序中的“角色”属性设置用户在企业中的角色。 有关可分配的角色的详细信息,请参阅“企业中的角色”。
Entra ID 不支持预配嵌套组。 有关详细信息,请参阅 Microsoft Learn 中的应用程序预配在 Microsoft Entra ID 中是如何工作的。