Azure 中“企业应用”与“应用注册”的区别

谁能告诉我在 Azure 中“企业应用程序”和“应用程序注册”有什么区别。

如果你能给我一个例子,为什么一些应用程序不能注册在刀片“企业应用程序”,反之亦然。

70698 次浏览

应用程序注册是一种通过 Azure AD 保留应用程序和 URL 的方式,允许它与 Azure AD 进行通信,连接您的回复 URL,并在其上启用 AAD 服务。当你有一个正在开发的应用程序并且想要与 Azure 集成时,你需要在应用程序注册中注册你的应用程序,如果需要的话,你可以在那里配置你的回复 URL,注销 URL 和 API 访问。当您注册应用程序时,Azure AD 为其分配一个惟一的 Application ID,并允许您添加某些功能,如凭据、权限和登录。默认设置只允许您的应用程序注册所在的租户的用户登录到您的应用程序中。

企业应用程序刀片可能会与应用程序注册混淆,因为企业应用程序刀片包含服务主体的列表。但是,术语 企业应用程序通常指的是 AAD 库中其他公司发布的可在组织内使用的应用程序。例如,如果希望在组织中集成 Facebook并管理 SSO,可以从应用程序刀片中的 Enterprise Applications 下拉列表集成它。你自己的申请将在企业应用程序刀片中以服务主体的形式表示 还有,服务主体是您在租户中的应用程序的实例化。

应用程序注册: https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-add-azure-ad-app

集成企业应用程序(G-Suite) : https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/google-apps-tutorial

Shorter way to understand is... 应用程序注册基本上是租户/组织本地的应用程序,它们在其中注册以生成唯一的应用程序 ID。 企业应用程序刀片显示全局应用程序(属于其他租户) ,可以在租户/组织中配置和使用。

工作流是在您的租户中创建应用程序注册(Application) ,它也在您的租户中创建企业应用程序(服务主体)。然后,当其他租户用户想要登录到您的应用程序时,他们会授予您的应用程序所需的权限,并在他们的租户中创建企业应用程序(服务主体)。这有效地反映了您在其租户中的应用程序。

我同意,这可能会使新到 AAD 的开发人员或管理员感到困惑。Nitin 的回答很好地总结了这一点,但是我想添加一个带有文档参考的答案。

https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals表示:

应用程序对象是您的 应用程序供所有租户使用,服务主体是 在特定租户中使用的 本地表示形式。

然后,在 https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-how-applications-are-added,它表示:

您可以通过 应用程序注册经验。 应用程序对象描述应用程序 到 Azure AD,可以被认为是应用程序的定义, allowing the service to know how to issue tokens to the application 基于它的设置。

还有

您可以通过 Enterprise Applications experience. Service principals are what govern an application connecting to Azure AD and can be considered the 应用程序的实例。对于任何给定的 应用程序,它最多只能有一个应用程序对象(即 注册在“ home”目录中)和一个或多个服务主体 对象,这些对象表示每个目录中的应用程序实例 在其中起作用。

因此,对于第三方应用程序,您只有 企业应用程序中的服务主体。对于内部的第一方应用程序,两个地方都会有一些东西——一个用来定义应用程序(App registrations) ,另一个用来允许应用程序实际登录 Azure AD (企业应用程序)。在应用程序注册中定义第一方应用程序时,还会自动在企业应用程序中创建一个条目。如果查看这两个条目,您将看到 Application ID将两者连接在一起。

此外,在应用程序注册中,您可以配置基于 OpenId-Connect (OpenID/OAuth)的身份验证

Simple put: 应用程序注册创建一个全局应用程序对象,该对象允许应用程序为资源访问委托用户身份,而企业应用程序是每个 AD 租户中的应用程序身份(服务原则)