向 Microsoft 标识平台注册应用程序

若要使应用使用标识和访问管理 (IAM) Microsoft Entra ID的功能(包括访问受保护的资源),必须先注册它。 然后,Microsoft 标识平台为已注册的应用程序执行 IAM 函数。 本文介绍如何在Microsoft Entra 管理中心中注册 Web 应用程序。 可以了解有关可在Microsoft 标识平台中注册的应用类型的详细信息。

提示

若要为 Azure AD B2C 注册应用程序,请按照 教程:在 Azure AD B2C 中注册 Web 应用程序中的步骤操作。

先决条件

注册应用程序

注册应用程序会在应用与Microsoft 标识平台之间建立信任关系。 信任是单向的:你的应用信任Microsoft 标识平台,而不是相反。 创建后,应用程序对象不能在不同的租户之间移动。

  1. 登录到 Microsoft Entra 管理中心

  2. 如果有权访问多个租户,请使用顶部菜单中的 “设置” 图标从“ 目录 + 订阅 ”菜单切换到要在其中注册应用程序的租户。

  3. 浏览到“标识>应用程序”>应用注册并选择“新建注册”。

  4. 输入应用程序的显示 名称

  5. 支持的帐户类型 部分中指定谁可以使用该应用程序。

    支持的帐户类型 说明
    仅限此组织目录中的帐户 如果要构建 仅供租户中的 用户 (或来宾) 使用的应用程序,请选择此选项。

    此应用通常称为业务线 (LOB) 应用程序,是Microsoft 标识平台中的单租户应用程序。
    任何组织目录中的帐户 如果希望任何Microsoft Entra租户中的用户使用应用程序,请选择此选项。 例如,如果要构建要提供给多个组织的 SaaS) 应用程序 (软件即服务,则此选项适用。

    这种类型的应用在Microsoft 标识平台称为多租户应用程序。
    任何组织目录中的帐户和 Microsoft 个人帐户 若要面向最广泛的客户,请选择此选项。

    通过选择此选项,你将注册一个 多租户 应用程序,该应用程序也可以支持拥有个人 Microsoft 帐户的用户。 个人 Microsoft 帐户包括 Skype、Xbox、Live 和 Hotmail 帐户。
    个人 Microsoft 帐户 如果仅为拥有个人 Microsoft 帐户的用户生成应用程序,请选择此选项。 个人 Microsoft 帐户包括 Skype、Xbox、Live 和 Hotmail 帐户。
  6. 不要为重定向 URI 输入任何内容 , (可选) 。 你将在下一部分中配置重定向 URI。

  7. 选择“ 注册 ”以完成初始应用注册。

    Microsoft Entra 管理中心的屏幕截图,其中显示了“注册应用程序”窗格。

注册完成后,Microsoft Entra 管理中心将显示应用注册的“概述”窗格。 在此页上,为应用分配了以下值:

  • 应用程序 (客户端) ID ,用于跨所有租户在 Microsoft 云生态系统中唯一标识应用程序。
  • 唯一标识租户中应用程序的对象 ID

Web 浏览器中Microsoft Entra 管理中心的屏幕截图,其中显示了应用注册的“概述”窗格。

配置平台设置

平台设置包括重定向 URI、特定身份验证设置或特定于应用程序平台的字段,例如 Web单页应用程序

  1. “管理”下,选择“ 身份验证”。

  2. “平台配置”下,选择“ 添加平台”。

  3. “配置平台”下,选择应用程序类型的磁贴 (平台) 以配置其设置。

    Microsoft Entra 管理中心中平台配置窗格的屏幕截图。

    平台 “设置”选项
    Web 输入应用的 重定向 URI 。 此 URI 是 Microsoft 标识平台重定向用户客户端并在身份验证后发送安全令牌的位置。

    还可以配置 Front-channel 注销 URL 以及 隐式授权和混合流 属性。

    为在服务器上运行的标准 Web 应用程序选择此平台。
    单页应用程序 输入应用的 重定向 URI 。 此 URI 是 Microsoft 标识平台重定向用户客户端并在身份验证后发送安全令牌的位置。

    还可以配置 Front-channel 注销 URL 以及 隐式授权和混合流 属性。

    如果要使用 JavaScript 或框架(如 Angular、Vue.js、React.js 或 Blazor WebAssembly)生成客户端 Web 应用,请选择此平台。
    iOS /macOS 输入应用 捆绑 ID。 在 “生成设置”Info.plist 的 Xcode 中找到它。

    指定 捆绑 ID 时,会为你生成重定向 URI。
    Android 输入应用 包名称。 在 AndroidManifest.xml 文件中找到它。 同时生成并输入 签名哈希

    指定这些设置时,会为你生成重定向 URI。
    移动和桌面应用程序 选择建议的 重定向 URI 之一。 或者指定或更多 自定义重定向 URI

    对于使用嵌入式浏览器的桌面应用程序,我们建议
    https://login.microsoftonline.com/common/oauth2/nativeclient

    对于使用系统浏览器的桌面应用程序,我们建议
    http://localhost

    对于未使用最新的 Microsoft 身份验证库 (MSAL) 或未使用代理的移动应用程序,请选择此平台。 此外,为桌面应用程序选择此平台。
  4. 选择“ 配置 ”以完成平台配置。

重定向 URI 限制

添加到应用注册的重定向 URI 的格式存在一些限制。 有关这些限制的详细信息,请参阅 重定向 URI (回复 URL) 限制和限制

添加凭据

凭据由访问 Web API 的 机密客户端应用程序 使用。 机密客户端的示例包括 Web 应用、其他 Web API 或服务类型和守护程序类型应用程序。 凭据允许应用程序以自身身份进行身份验证,无需用户在运行时进行交互。

可以将证书、客户端机密 (字符串或密码) ,或联合凭据作为凭据添加到机密客户端应用注册。

Microsoft Entra 管理中心的屏幕截图,其中显示了应用注册中的“证书和机密”窗格。

选项 1:添加证书

证书有时称为 公钥,是推荐的凭据类型,因为它们被认为比客户端机密更安全。 有关在应用程序中使用证书作为身份验证方法的详细信息,请参阅Microsoft 标识平台应用程序身份验证证书凭据

  1. 选择 “证书 & 机密>证书>上传证书”。
  2. 选择要上传的文件。 它必须是以下文件类型之一: .cer.pem.crt
  3. 选择“添加”。

选项 2:添加客户端密码

有时称为 应用程序密码,客户端密码是一个字符串值,你的应用可以使用它来代替证书来标识自身。

客户端机密被认为不如证书凭据安全。 应用程序开发人员有时在本地应用开发期间使用客户端机密,因为它们易于使用。 但是,对于在生产环境中运行的应用程序,应使用证书凭据或联合凭据。

  1. 选择 “证书”& 机密>“”客户端机密>“”新建客户端密码”。
  2. 添加客户端密码的说明。
  3. 选择机密的过期时间或指定自定义生存期。
    • 客户端机密生存期限制为两年 (24 个月) 或更短。 不能指定超过 24 个月的自定义生存期。
    • Microsoft 建议将过期值设置为小于 12 个月。
  4. 选择“添加”。
  5. 记录要在 客户端应用程序代码中使用的机密值。 离开此页面后 ,永远不会再次显示 此机密值。

有关应用程序安全建议,请参阅Microsoft 标识平台最佳做法和建议

如果使用可自动创建服务主体的 Azure DevOps 服务连接,则需要从 Azure DevOps 门户网站更新客户端密码,而不是直接更新客户端密码。 请参阅以下文档,了解如何从 Azure DevOps 门户网站更新客户端密码:排查 Azure 资源管理器服务连接问题

选项 3:添加联合凭据

联合凭据是一种凭据类型,它允许工作负载(如GitHub Actions、Kubernetes 上运行的工作负荷或 Azure 外部计算平台中运行的工作负荷)访问受Microsoft Entra ID保护的资源,而无需管理机密。 联合凭据使用 工作负载联合身份验证

若要添加联合凭据,请执行以下步骤:

  1. 选择 “证书 & 机密>联合凭据>添加凭据”。

  2. “联合凭据方案 ”下拉框中,选择支持的方案之一,并按照相应的指南完成配置。

    • 使用 Azure 密钥保管库另一个租户中的客户托管密钥来加密租户中的数据。
    • GitHub 操作部署 Azure 资源配置 GitHub 工作流 ,以获取应用程序的令牌并将资产部署到 Azure。
    • 访问 Azure 资源的 Kubernetes 配置 Kubernetes 服务帐户 ,以获取应用程序的令牌并访问 Azure 资源。
    • 其他颁发者 用于配置由外部 OpenID Connect 提供程序 管理的标识,以获取应用程序的令牌并访问 Azure 资源。

有关如何获取具有联合凭据的访问令牌的详细信息,请参阅 Microsoft 标识平台 和 OAuth 2.0 客户端凭据流

其他资源

后续步骤