教程:将应用程序从 Okta 迁移到 Microsoft Entra ID

本教程将介绍如何将应用程序从 Okta 迁移到 Microsoft Entra ID。

先决条件

如果要在 Microsoft Entra ID 中管理应用程序,需要:

  • 一个 Microsoft Entra 用户帐户。 如果还没有帐户,可以免费创建一个帐户
  • 以下角色之一:云应用程序管理员、应用程序管理员或服务主体的所有者。

创建当前 Okta 应用程序的清单

在开始迁移之前,记录当前环境和应用程序设置。 可以使用 Okta API 来收集这些信息。 请使用某个 API 资源管理器工具,例如 Postman

如果要创建应用程序清单,请执行以下操作:

  1. 使用 Postman 应用,从 Okta 管理控制台生成 API 令牌。

  2. 在 API 仪表板上的“安全性”下,选择“令牌”>“创建令牌”

    “安全性”下的“令牌”和“创建令牌”选项的屏幕截图。

  3. 输入令牌名称,然后选择“创建令牌”

    “创建令牌”下的“名称”条目的屏幕截图。

  4. 记录并保存令牌值。 在选择“好的,知道了”之后,该值不再可供访问。

    “令牌值”字段和“好的,知道了”选项的屏幕截图。

  5. 在 Postman 应用的工作区中,选择“导入”

  6. 在“导入”页上选择“链接”。 如果要导入 API,请插入以下链接:

https://developer.okta.com/docs/api/postman/example.oktapreview.com.environment

“导入”上的“链接”和“继续”选项的屏幕截图。

注意

请不要使用你的租户值修改该链接。

  1. 选择“导入”

    “导入”上的“导入”选项的屏幕截图。

  2. 导入 API 后,将“环境”选择更改为“{yourOktaDomain}”

  3. 如果要编辑你的 Okta 环境,请选择眼睛图标。 然后选择“编辑”

    “概述”上的眼睛图标和“编辑”选项的屏幕截图。

  4. 在“初始值”和“当前值”字段中更新 URL 和 API 密钥的值。 更改名称以反映你的环境。

  5. 保存值。

    “概述”上的“初始值”和“当前值”字段的屏幕截图。

  6. 将 API 加载到 Postman 中

  7. 选择“应用”>“获取应用列表”>“发送”

注意

你可以输出你的 Okta 租户中的应用程序。 列表采用 JSON 格式。

“发送”选项和“应用”列表的屏幕截图。

建议复制此 JSON 列表并将其转换为 CSV 格式:

注意

如果要保留 Okta 租户中应用程序的记录,请下载 CSV。

将 SAML 应用程序迁移到 Microsoft Entra ID

如果要将 SAML 2.0 应用程序迁移到 Microsoft Entra ID,请在 Microsoft Entra 租户中配置应用程序以供应用程序访问。 在此示例中,我们将转换一个 Salesforce 实例。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“所有应用程序”,然后选择“新建应用程序”

  3. 在“Microsoft Entra 库”中,搜索“Salesforce”,选择该应用程序,然后选择“创建”。

    Microsoft Entra 库中的应用程序的屏幕截图。

  4. 创建应用程序后,在“单一登录”(SSO) 选项卡选择“SAML”。

    “单一登录”上的“SAML”选项的屏幕截图。

  5. 下载要导入到 Salesforce 的“证书(原始)”和“联合元数据 XML”

  6. 在 Salesforce 管理控制台上,选择“标识”>“单一登录设置”>“从元数据文件新建”

    “单一登录设置”下的“从元数据文件新建”选项的屏幕截图。

  7. 上传从 Microsoft Entra 管理中心下载的 XML 文件。 然后选择“创建”

  8. 上传你从 Azure 下载的证书。 选择“保存”。

  9. 记录以下字段中的值。 这些值位于 Azure 中。

    • 实体 ID
    • 登录 URL
    • 注销 URL
  10. 选择“下载元数据”

  11. 如果要将该文件上传到 Microsoft Entra 管理中心,请在 Microsoft Entra“企业应用程序”页的“SAML SSO 设置”中选择“上传元数据文件”。

  12. 请确保导入的值与记录的值匹配。 选择“保存”。

    “基于 SAML 的登录”和“基本 SAML 配置”条目的屏幕截图。

  13. 在 Salesforce 管理控制台中,选择“公司设置”>“我的域”。 转到“身份验证配置”,然后选择“编辑”

    “我的域”下的“编辑”选项的屏幕截图。

  14. 对于登录选项,请选择你配置的新 SAML 提供程序。 选择“保存”。

    “身份验证配置”下的“身份验证服务”选项的屏幕截图。

  15. 在 Microsoft Entra 中的“企业应用程序”页上,选择“用户和组”。 然后添加测试用户。

    包含测试用户列表的“用户和组”的屏幕截图。

  16. 如果要测试配置,请以某个测试用户的身份登录。 转到 Microsoft 应用库,然后选择“Salesforce”

    “我的应用”上的“所有应用”下的“Salesforce”选项的屏幕截图。

  17. 如果要登录,请选择配置的标识提供者 (IdP)。

    Salesforce 登录页面的屏幕截图。

注意

如果配置正确,测试用户将登陆到 Salesforce 主页。 如需故障排除帮助,请参阅调试指南

  1. 在“企业应用程序”页上,将具有正确角色的其余用户分配到 Salesforce 应用程序。

注意

将其余用户添加到 Microsoft Entra 应用程序后,这些用户可以测试连接,以确保能够正常访问。 在继续下一步之前测试连接。

  1. 在 Salesforce 管理控制台上,选择“公司设置”>“我的域”

  2. 在“身份验证配置”下,选择“编辑”。 对于身份验证服务,取消选择 Okta

    “身份验证配置”下的“保存”选项和“身份验证服务”选项的屏幕截图。

将 OpenID Connect 或 OAuth 2.0 应用程序迁移到 Microsoft Entra ID

提示

本文中的步骤可能因开始使用的门户而略有不同。

如果要将 OpenID Connect (OIDC) 或 OAuth 2.0 应用程序迁移到 Microsoft Entra ID,请在 Microsoft Entra 租户中配置应用程序以进行访问。 在此示例中,我们将转换一个自定义 OIDC 应用。

如果要完成迁移,请对 Okta 租户中的所有应用程序重复配置步骤。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“所有应用程序”。

  3. 选择“新建应用程序”

  4. 选择“创建自己的应用程序”

  5. 在显示的菜单中,为该 OIDC 应用命名,然后选择“注册所用的应用程序以便与 Microsoft Entra ID 集成”。

  6. 选择“创建”。

  7. 在下一页上,设置应用程序注册的租户。 有关详细信息,请参阅 Microsoft Entra ID 中的租户。 转到“任何组织目录中的帐户(任何 Microsoft Entra 目录 - 多租户)”>“注册”。

    “任何组织目录(任何 Microsoft Entra 目录 - 多租户)中的帐户”选项的屏幕截图。

  8. 在“应用注册”页上的“Microsoft Entra ID”下,打开创建的注册。

注意

根据应用程序方案的不同,存在各种配置操作。 大多数方案需要一个应用客户端密码。

  1. 在“概述”页上,记录“应用程序(客户端) ID”。 你将在应用程序中使用此 ID。

  2. 在左侧选择“证书和机密”。 然后选择“+ 新建客户端密码”。 为客户端密码命名并设置其过期时间。

  3. 请记下该机密的值和 ID。

注意

如果你将客户端密码放错位置,则无法检索它。 在那种情况下,请重新生成一个机密。

  1. 在左侧选择“API 权限”。 然后向应用程序授予对 OIDC 堆栈的访问权限。

  2. 选择“+ 添加权限”>“Microsoft Graph”>“委托的权限”

  3. 在“OpenId 权限”部分,添加“电子邮件”、“openid”和“配置文件”。 然后选择“添加权限”

  4. 为了改善用户体验并消除用户同意提示,请选择“为租户域名授予管理员同意”。 等待“已授予”状态出现。

    “API 权限”下的“已成功授予对所需权限的管理员同意”消息的屏幕截图。

  5. 如果你的应用程序具有重定向 URI,请输入该 URI。 如果回复 URL 依次以“身份验证”选项卡、“添加平台”和“Web”为目标,请输入 URL。

  6. 选择“访问令牌”和“ID 令牌”

  7. 选择“配置”。

  8. 如果需要,请在“身份验证”菜单中的“高级设置”和“允许公共客户端流”下,选择“是”

    “身份验证”上的“是”选项的屏幕截图。

  9. 在测试之前,请在配置了 OIDC 的应用程序中,导入应用程序 ID 和客户端密码。

注意

按照前面的步骤,为应用程序配置客户端 ID、机密和范围等设置。

将自定义授权服务器迁移到 Microsoft Entra ID

Okta 授权服务器一对一地映射到公开 API 的应用程序注册。

将默认 Okta 授权服务器映射到 Microsoft Graph 范围或权限。

“公开和 API”上的“添加范围”选项的屏幕截图。

后续步骤