Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  489 随笔 :: 0 文章 :: 417 评论 :: 70万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

  《Windows Azure Platform 系列文章目录

  

  在Azure Active Directory (Azure AD)的上下文中,应用程序的概念可能会被误解。在这里简单介绍Azure AD应用程序集成的概念和具体方面,并举例说明了多租户应用程序的注册和集成。

 

  概述:

  与Azure AD集成的应用程序所具有的含义超出了软件方面。 “应用程序”经常用作概念性术语,不仅指应用程序软件,还指其Azure AD注册以及在运行时在身份验证/授权“对话”中的角色。

   根据定义,应用程序具有以下功能:

  1.客户端角色 (消耗资源)

  2.资源服务器角色 (向客户端公开API)

  3.客户端角色和资源服务器角色

  OAuth 2.0授权授予流定义了会话协议,该协议允许客户端/资源分别访问/保护资源的数据

 

   在以下内容中,我们将看到Azure AD应用程序模型如何在设计时和运行时表示应用程序

 

  应用注册

  我们在Azure AD中注册一个应用程序,我们会创建2个对象

  1.一个应用程序对象

  2.一个服务主体对象

 

  应用程序对象

  Azure AD应用程序由其唯一的应用程序对象定义,该对象位于应用程序注册所在的Azure AD租户中,称为应用程序的“主”租户。 Microsoft Graph Application实体为应用程序对象的属性定义架构。

 

  服务主体对象

  若要访问由Azure AD租户保护的资源,必须由安全主体代表需要访问的实体。对于用户(用户主体)和应用程序(服务主体)都是如此。  

  安全主体定义Azure AD租户中用户/应用程序的访问策略和权限。这启用了核心功能,例如登录期间对用户/应用程序的身份验证以及资源访问期间的授权。

  当一个应用程序被授予访问租户中资源的权限时(注册或同意时),将创建服务主体对象。 Microsoft Graph ServicePrincipal实体为服务主体对象的属性定义架构。

 

  应用程序和服务主体关系

  将应用程序对象视为在所有租户中使用的应用程序的全局表示形式,并将服务主体视为在特定租户中使用的本地表示形式。

  应用程序对象用作模板,从该模板派生通用属性和默认属性以用于创建相应的服务主体对象。因此,应用程序对象与软件应用程序具有1:1关系,与其对应的服务主体对象具有1:1:1关系。

  必须在使用该应用程序的每个租户中创建一个服务主体,使其能够为登录和/或访问由租户保护的资源建立身份。单租户应用程序只有一个服务主体(在其家庭租户中),创建并同意在应用程序注册期间使用。多租户Web应用程序/ API还具有在每个租户中创建的服务主体,来自该租户的用户已同意使用该服务主体。

  

 

  参考文档:

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

 

posted on   Lei Zhang的博客  阅读(803)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示