Skip to main content

将企业迁移到新的标识提供者或租户

如果你的企业将在初始配置安全断言标记语言 (SAML) 或 OpenID Connect (OIDC) 和 SCIM 之后,使用新的标识提供者 (IdP) 或租户进行身份验证和预配,则可以迁移到新的配置。

谁可以使用此功能?

Enterprise owners and people with administrative access to your IdP can migrate your enterprise to a new IdP or tenant.

若要使用标识提供者管理企业中的用户,企业必须启用 Enterprise Managed Users,它适用于 GitHub Enterprise Cloud。 有关详细信息,请参阅“关于 Enterprise Managed Users”。

关于 IdP 和租户之间的迁移

使用 Enterprise Managed Users 时,可能需要将企业迁移到你的 IdP 或不同身份管理系统上的新租户。 例如,你可能已准备好从测试环境迁移到生产环境,或者你的公司已决定使用新的身份系统。

在迁移到新的身份验证和预配配置之前,请查看先决条件和指南,以做好充分准备。 准备好迁移后,你要为企业禁用身份验证和预配,然后重新配置两者。 无法编辑用于身份验证和预配的现有配置。

先决条件

  • 开始使用 GitHub Enterprise Cloud 时,必须选择创建 具有托管用户的企业。 有关详细信息,请参阅“为 GitHub Enterprise Cloud 选择企业类型”。
  • 查看并了解从外部身份管理系统与 Enterprise Managed Users 集成的要求。 为了简化配置和支持,可以使用单个合作伙伴 IdP 进行“铺平路径”集成。 或者,也可以使用符合安全断言标记语言 (SAML) 2.0 和跨域身份管理系统 (SCIM) 2.0 标准的系统来配置身份验证。 有关详细信息,请参阅“关于 Enterprise Managed Users”。
  • 必须已为企业配置了身份验证和 SCIM 预配。

准备迁移

若要迁移到用于身份验证和预配的新配置,必须首先为企业禁用身份验证和预配。 在禁用现有配置之前,请了解以下注意事项:

  • GitHub 将重置与企业的 托管用户帐户 相关的 SCIM 记录。 在迁移之前,请确定新环境中的规范化 SCIM userName 属性的值对于 托管用户帐户 是否保持不变。 有关详细信息,请参阅“外部身份验证的用户名注意事项”。

    • 如果在迁移后规范化 SCIM userName 值保持不变,则可以自行完成迁移。
    • 如果规范化 SCIM userName 值在迁移后发生更改,GitHub 将需要帮助你进行迁移。 有关详细信息,请参阅“在规范化 SCIM userName 值更改时迁移”。
  • 在迁移完成之前,不要从身份管理系统上的 Enterprise Managed Users 的应用程序中删除任何用户或组。

  • GitHub Enterprise Cloud 将删除与企业的 托管用户帐户 关联的所有 personal access tokens 和 SSH 密钥。 在重新配置之后,规划迁移窗口,在此期间,你可以创建和提供任何外部集成的新凭据。

  • GitHub Enterprise Cloud 将删除 GitHub 和 IdP 组上的团队之间的连接,而且不会在迁移后恢复连接。 GitHub 还将从团队中删除所有成员,并让团队与 IdP 保持未连接状态。 如果使用身份管理系统上的组,来管理对组织或许可证的访问,则可能遇到中断。 GitHub 建议你在迁移之前使用 REST API 列出团队连接和组成员身份,并在之后恢复连接。 有关详细信息,请参阅 REST API 文档中的“外部组的 REST API 终结点”。

迁移到新的 IdP 或租户

若要迁移到新的 IdP 或租户,你必须完成以下任务。

  1. 验证匹配的 SCIM userName 属性
  2. 下载单一登录恢复代码
  3. 禁用当前 IdP 上的预配
  4. 为你的企业禁用身份验证和预配
  5. 验证企业成员的挂起
  6. 重新配置身份验证和预配

1. 验证匹配的 SCIM userName 属性

若要实现无缝迁移,请确保新 SCIM 提供程序上的 SCIM userName 属性与旧 SCIM 提供程序上的属性相匹配。 如果这些属性不匹配,请参阅“在规范化 SCIM userName 值将更改时迁移”。

2. 下载单一登录恢复代码

如果还没有企业的单一登录恢复代码,请立即下载这些代码。 有关详细信息,请参阅“下载企业帐户的单一登录恢复代码”。

3. 禁用当前 IdP 上的预配

  1. 在当前 IdP 上,在应用程序中停用 Enterprise Managed Users 的预配。
    • 如果使用 Entra ID,请导航到应用程序的“预配”选项卡,然后单击“停止预配”****。
    • 如果使用 Okta,请导航到应用程序的“预配”选项卡,单击“集成”选项卡,然后单击“编辑” 。 取消选择“启用 API 集成”。
    • 如果使用 PingFederate,请导航到应用程序的通道设置。 在“激活和摘要”选项卡中,单击“活动”或“非活动”切换预配状态,然后单击“保存” 。 有关管理预配的详细信息,请参阅 PingFederate 文档中的“查看通道设置”和“管理通道”。
    • 如果使用其他身份管理系统,请参阅系统的文档,咨询支持团队或利用其他资源。

4. 为你的企业禁用身份验证和预配

  1. 使用恢复代码以安装用户身份登录到 GitHub.com,其用户名是企业短代码,后缀为 _admin。 有关设置用户的详细信息,请参阅“关于 Enterprise Managed Users”。
  2. 为你的企业禁用身份验证和预配。 有关详细信息,请参阅“为企业托管用户禁用身份验证和预配”。
  3. 等待 GitHub Enterprise Cloud 最多一小时,以重置企业的 SCIM 记录并挂起企业成员。

5. 验证企业成员的挂起

禁用身份验证和预配后,GitHub Enterprise Cloud 将挂起企业的所有 托管用户帐户。 可以使用 Web 用户界面来验证企业成员的挂起。

  1. 查看企业中的挂起成员。 有关详细信息,请参阅“查看企业中的人员”。

  2. 如果企业成员尚未全部挂起,请继续等待,并查看 SCIM 提供程序上的日志。

    • 如果使用 Entra ID,则成员挂起最多可能需要 40 分钟。 若要加快单个用户的进程,请为 Enterprise Managed Users 单击应用程序的“预配”选项卡中的“按需预配”按钮。

6. 重新配置身份验证和预配

确认企业成员挂起后,重新配置身份验证和预配。

  1. 使用 SAML 或 OIDC SSO 配置身份验证。 有关详细信息,请参阅“为企业托管用户配置身份验证”。
  2. 配置 SCIM 预配。 有关详细信息,请参阅“为 Enterprise Managed User 配置 SCIM 预配”。

若要恢复 托管用户帐户 的访问权限,并允许他们登录到 GitHub Enterprise Cloud,SCIM 提供程序必须重新预配他们的帐户。

在规范化 SCIM userName 值更改时迁移

如果规范化 SCIM userName 值将更改,GitHub 必须为迁移预配新的企业帐户。 请与我们的销售团队联系以获取帮助。