All*_* Xu 29 azure-active-directory
据我了解,应用程序注册代表一个可能具有供用户登录的 UI 的应用程序。据我了解,服务主体适用于计划批处理应用程序等应用程序。
但从技术角度来看,在Azure门户应用程序注册列表中,我可以看到它们都在列表中并且看起来相同。
是否存在 SP 可以做而应用程序注册不能做的事情,反之亦然?
Jim*_*Jim 44
这很令人困惑!不幸的是,juunas 指向的链接不仅令人困惑,而且包含错误信息!为了进一步证明它是多么令人困惑,您在这里收到的答案也不完全正确!这真是一团糟,微软并没有很好地阐明这个主题。
AlfredoRevilla 非常接近。不幸的是,他也指出了同样糟糕的文档,这并没有让这个主题变得更加清晰。
首先,企业应用程序不是服务主体。这可以通过使用 CLI (az ad sp create) 创建 SP 来轻松演示。以这种方式创建服务主体后,您将看到相应的应用程序注册...但不会出现“企业应用程序”。同样,为了让事情变得混乱,微软决定在企业应用刀片中添加查看与应用程序对象不关联的服务主体的功能。这是通过使用下拉列表显示错误的“应用程序类型”来完成的(这里不要离题太多,但“应用程序类型==托管身份”是这个下拉列表的命名有多么糟糕的一个明显例子)。稍后会详细介绍这一点。
那么,对于你的问题。是的!有些事情是应用程序注册可以做到而 SP 无法做到的,反之亦然。它们实际上是不同的对象类型,只是看起来和使用方式相同的对象类型(现在一点也不混乱了,不是吗???微软的做法。)
不幸的是,我最终给出的答案从技术角度来看也不太令人满意。我这样做只是为了尝试对一个非常令人困惑的情况做出某种有意义的答案……并避免偏离多租户应用程序和重定向 URL 之类的内容。
服务主体是 Azure Active Directory 中的身份对象,允许将角色分配给各种对象(资源)。因此,SP 可以被分配为存储 Blob 数据读取器或 Key Vault 机密用户。请注意我是如何故意避免使用 Web API 作为示例的?我是故意这样做的,因为 Microsoft 只想在 API 和应用程序的背景下讨论这个主题......对于非 API 用例的主题几乎没有什么清晰度。这里的一个关键概念是,每当您创建应用程序注册或注册现有应用程序对象(例如来自市场或其他租户)时,都会在 AAD 中创建服务主体。
创建应用程序注册本质上是定义应用程序本身。它是应用程序对象的视图。注册实例化应用程序,定义谁可以访问它(单租户/多租户),并定义令牌交换、品牌元素等所需的各种元素。
但是“企业应用程序”呢?它是什么?为什么它与服务主体主题紧密相关?您会发现错误地暗示企业应用程序与服务主体完全相同/是服务主体的信息。但正如上面所指出的,在 Azure 中进行的一些实验很快就会发现情况并非如此。幸运的是,通过认识到不存在“企业应用程序”Azure 这样的东西,很容易解决这部分问题!说真的,它们不存在。微软在 Azure 门户中创建了一个刀片,他们将其命名为“企业应用程序”——非常糟糕的名称选择。此刀片的作用是提供 Azure 中服务主体对象的视图(无论是应用程序对象的服务主体,还是托管身份服务主体)。就是这样!因此,当您看到“企业应用程序”刀片时,只需想到“服务主体身份”,不要误以为还有另一个难题需要解决。
| 归档时间: |
|
| 查看次数: |
15548 次 |
| 最近记录: |