跳转到主要内容

热门内容

今日:

  • 【数据治理】第一部分:利用联邦治理利用数据的潜力
  • 【人工智能】技术三明治和TRISM技术:构建人工智能集成的未来
  • 【GAN架构】GAN与transformer模型:比较架构和用途
  • 【开源合规】开源软件许可证101:GPL v3
  • 【同态加密】通过同态加密实现可搜索的加密:综合分析
  • 客户
  • 【数据架构】什么是实体关系图(ERD)?
  • 数字化运营
  • 云计算
  • 万物互联

总体:

  • 【数据集成】用于数据集成的10个最佳开源ETL工具
  • 【管理】热尔韦原理综述
  • 【Java框架】2022 年 17 个流行的 Java 框架:优缺点等
  • 【开源许可】从开源到免费和开源,MinIO现在在GNU AGPLv3许可
  • 【SAP】如何开始使用Sap AFS和Sap FMS。
  • 【数据目录】OpenMetadata与DataHub:比较架构、功能、集成等
  • 【数据治理】开源数据治理-2023年需要考虑的7个最佳工具
  • 【开源合规】使用MySQL许可:开源许可与商业许可
  • 【微服务架构】微服务已死——迷你服务万岁
  • 【SAP GUI】什么是SAP GUI(图形用户界面)以及如何使用它

最近浏览:

  • 【数据治理】第一部分:利用联邦治理利用数据的潜力
  • 【人工智能】技术三明治和TRISM技术:构建人工智能集成的未来
  • 【数据架构】什么是实体关系图(ERD)?
  • 【GAN架构】GAN与transformer模型:比较架构和用途
  • 客户
  • 【开源合规】开源软件许可证101:GPL v3
  • 【同态加密】通过同态加密实现可搜索的加密:综合分析
  • 【Microsoft 365】Microsoft 365客户数据的存储位置
  • 数字化
  • 【容器云】K3d vs k3s vs Kind vs Microk8s vs Minikube

热门内容

今日:

  • 【GAN架构】GAN与transformer模型:比较架构和用途
  • 【Rust】用Rust构建微服务
  • 【大语言模型】大语言模型评估器(LLM-as-Judge)效能深度评测
  • 企业架构
  • 【LLM】基础大型语言模型(LLM)和工具环境
  • 客户
  • 【数据治理】第一部分:利用联邦治理利用数据的潜力
  • 【DeepSeek】如何为自定义数据集微调DeepSeek-R1(一步一步)
  • 【应用架构】决策支持系统
  • 【开源合规】开源软件许可证101:GPL v3

总体:

  • 语言和框架
  • 【容器架构】Minikube vs.kind vs.k3s-我应该用哪一个?
  • 【数据集成】用于数据集成的10个最佳开源ETL工具
  • 【Java框架】2022 年 17 个流行的 Java 框架:优缺点等
  • 【技术选型】Keras、TensorFlow和PyTorch的区别
  • 【深度学习】45测试深度学习基础知识的数据科学家的问题(以及解决方案)
  • 【数据架构】什么是实体关系图(ERD)?
  • 【Rust架构】Rust web框架比较
  • 【知识】DIKW(数据,信息,知识,智慧)金字塔
  • 【技术选型】AMQP vs MQTT

最近浏览:

  • 2024年开源数据工程前景
  • 【应用架构】决策支持系统
  • 【数据治理】第一部分:利用联邦治理利用数据的潜力
  • 【大语言模型】大语言模型评估器(LLM-as-Judge)效能深度评测
  • 【人工智能】技术三明治和TRISM技术:构建人工智能集成的未来
  • 【数据架构】什么是实体关系图(ERD)?
  • 【网络技术】TLS 1.2与1.3——握手、性能和其他改进
  • 【容器云】K3d vs k3s vs Kind vs Microk8s vs Minikube
  • 【GAN架构】GAN与transformer模型:比较架构和用途
  • 【Rust】用Rust构建微服务

首页
x

Main navigation

  • 主页
  • 数字化 +
    • 数字业务自动化
    • 数字化方案
    • 数字化转型战略
    • 数字化转型治理
    • 数字化运营
    • 数字化客户
      • 客户
    • 数字化研发
      • 研发
    • 数字化制造
    • 数字化生产
    • 数字化供应链
    • 数字化销售
    • 数字化服务
    • 数字化营销
      • 营销
    • 数字化财务
    • 人力资源
    • 数字化法务
  • 企业架构 +
    • 企业安全架构
    • 企业架构框架
    • 方案架构
  • 企业业务架构
  • 企业技术架构
  • 企业应用架构
  • 企业数据架构
  • 数据应用架构 +
    • 主数据架构
    • 大数据架构
    • 数据仓库架构
    • 数据保护
    • 数据库架构
    • 数据建模
    • 数据枢纽架构
    • 数据湖架构
    • 数据编制架构
    • 数据网格架构
    • 数据虚拟化架构
  • 集成架构 +
  • 架构质量 +
  • 软件架构 +
  • 大数据架构 +
    • Hadoop 生态
    • Saprk生态
    • 大数据战略
  • 数据和分析 +
    • 机器学习
    • 数据分析
    • 数据可视化
    • 数据工程
    • 数据战略
    • 数据挖掘
    • 数据科学
    • 商务智能
  • 数据库架构 +
    • MySql架构
    • PostgreSql架构
    • 云数据库
    • 内存数据库
    • 列式数据库
    • 图形数据库
    • 搜索引擎
    • 文档数据库
  • 数据治理
  • 数据管理 +
    • 数据仓库
    • 数据湖
  • 企业合规管理
  • 企业治理 +
  • 企业风险管理
  • 隐私保护
  • 智能转型 +
  • 云计算 +
    • AWS 平台
    • SaaS云
    • Salesforce
    • 云原生
    • 云架构
    • 云治理
    • 云转型战略
    • 容器云
    • 微软云
    • 私有云
  • 人工智能 +
  • 生成式人工智能 +
    • 多模态模型
    • 大视觉模型
    • 大语言模型
    • 大音频模型
  • 万物互联 +
    • 工业控制系统
    • 工业物联网
    • 物联网(IoT)安全
    • 物联网(IoT)架构
    • 物联网战略
    • 边缘计算
  • 元宇宙
  • 区块链 +
  • 安全 +
    • 云安全
    • 安全工具
    • 安全战略
    • 安全运营
    • 应用安全
    • 数据安全
    • 终端安全
    • 网络安全
    • 隐私保护
  • 基础设施 +
  • 软件开发 +
    • 开发管理
    • 需求分析
    • 低代码开发
  • 软件测试 +
  • 软件设计
  • DevOps +
  • 敏捷
  • 项目 +
  • 平台和工具 +
    • DevOps工具
    • 云计算平台
    • 企业事件枢纽
    • 其他工具
    • 分布式平台
    • 大数据平台
    • 应用中间件
    • 开发工具
    • 数据工具
    • 集成平台
  • 语言和框架 +
    • Go语言
    • Javascript开发
    • Java开发
    • Python开发
    • Rust语言
    • TypeScript开发
    • 前端技术和框架
    • 算法和数据结构
  • 硬件和设备 +
  • 产品 +
    • 产品管理
    • 产品设计
  • 技术 +
    • 技术趋势
    • 技术选型
  • 用户体验 +
  • IT管理 +
  • 商业 +
    • 商业模型
    • 商业管理
    • 商业结构
    • 商业计划
    • 商务沟通
    • 创业
      • 创业管理
    • 国际商务
    • 经济
  • 战略 +
  • 管理 +
  • 解决方案
  • 关注
  • 社区
  • 职业
  • 职业和职位 +
  • 咨询服务
  • 微软专栏

【Microsoft Entra ID】Microsoft Entra ID中的应用程序和服务主体对象

  1. 首页 ⟶
  2. 【Microsoft Entra ID】Microsoft Entra ID中的应用程序和服务主体对象
Chinese, Simplified
SEO Title
Application and service principal objects in Microsoft Entra ID

category

  • 云计算

本文介绍了Microsoft Entra ID中的应用程序注册、应用程序对象和服务主体,它们是什么,如何使用它们,以及它们之间的关系。还提供了一个多租户示例场景,以说明应用程序的应用程序对象和相应的服务主体对象之间的关系。

应用注册


要将身份和访问管理功能委托给Microsoft Entra ID,必须向Microsoft Entra租户注册应用程序。当您使用Microsoft Entra ID注册应用程序时,您正在为您的应用程序创建一个身份配置,使其能够与Microsoft Entra ID.集成。注册应用程序后,您可以选择是单租户还是多租户,并可以选择设置重定向URI。有关注册应用程序的分步说明,请参阅应用程序注册快速入门【pp registration quickstart.】。

完成应用程序注册后,您将拥有一个全局唯一的应用程序实例(应用程序对象),该实例位于您的home租户或目录中。您的应用程序也有一个全球唯一的ID(应用程序/客户端ID)。您可以添加机密或证书和范围以使您的应用程序正常工作,在登录对话框中自定义应用程序的品牌,等等。

如果注册应用程序,则会在您的主租户中自动创建应用程序对象和服务主体对象。如果使用Microsoft Graph API注册/创建应用程序,则创建服务主体对象是一个单独的步骤。

应用程序对象


Microsoft Entra应用程序由其唯一的应用程序对象定义,该对象位于应用程序注册的Microsoft Entra租户(称为应用程序的“主”租户)中。应用程序对象用作模板或蓝图,以创建一个或多个服务主体对象。在使用应用程序的每个租户中创建服务主体。与面向对象编程中的类类似,应用程序对象具有一些静态属性,这些属性应用于所有创建的服务主体(或应用程序实例)。

应用程序对象描述了应用程序的三个方面:

  • 服务如何发放令牌以访问应用程序
  • 应用程序可能需要访问的资源
  • 应用程序可以采取的操作

您可以使用Microsoft Entra管理中心中的应用程序注册页面列出和管理家庭租户中的应用对象。

应用注册面板

Microsoft Graph Application实体[Application entity]定义了应用程序对象属性的架构。

服务主体对象


要访问由Microsoft Entra租户保护的资源,需要访问的实体必须由安全主体【security principal】表示。这一要求适用于用户(用户主体)和应用程序(服务主体)。安全主体定义了Microsoft Entra租户中用户/应用程序的访问策略和权限。这启用了核心功能,例如在登录期间对用户/应用程序进行身份验证,以及在资源访问期间进行授权。

服务主体有三种类型:

  • 应用程序【Application 】-这种类型的服务主体是单个租户或目录中全局应用程序对象的本地表示或应用程序实例。在这种情况下,服务主体是从应用程序对象创建的具体实例,并继承了该应用程序对象的某些属性。在使用应用程序的每个租户中创建服务主体,并引用全局唯一的应用程序对象。服务主体对象定义了应用程序在特定租户中实际可以做什么,谁可以访问应用程序,以及应用程序可以访问哪些资源。

当应用程序被授予访问租户中资源的权限时(在注册或同意后),将创建服务主体对象。注册应用程序时,会自动创建服务主体。您还可以使用Azure PowerShell、Azure CLI、Microsoft Graph和其他工具在租户中创建服务主体对象。

  • 托管身份【Managed identity】-此类服务主体用于表示托管身份。托管身份消除了开发人员管理凭据的需要。托管身份为应用程序提供了一个身份,以便在连接到支持Microsoft Entra身份验证的资源时使用。启用托管身份后,将在租户中创建表示该托管身份的服务主体。代表托管身份的服务主体可以被授予访问和权限,但不能直接更新或修改。
  • 遗留-这种类型的服务主体代表遗留应用程序,即在引入应用程序注册之前创建的应用程序,或通过遗留体验创建的应用。传统服务主体可以具有授权用户可以编辑的凭据、服务主体名称、回复URL和其他属性,但没有关联的应用程序注册。服务主体只能在创建它的租户中使用。

Microsoft Graph ServicePrincipal【ServicePrincipal entity】实体定义了服务主体对象属性的架构。

您可以使用Microsoft Entra管理中心中的企业应用程序页面列出和管理租户中的服务主体。您可以看到服务主体的权限、用户同意的权限、哪些用户已经同意、登录信息等。

企业应用面板

应用程序对象和服务主体之间的关系


应用程序对象是应用程序的全局表示,供所有租户使用,服务主体是特定租户中使用的本地表示。应用程序对象充当模板,从中派生通用和默认属性,用于创建相应的服务主体对象。

应用程序对象具有:

  • 与软件应用程序的一对一关系,以及
  • 与其对应服务主体对象的一对多关系

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

列出与应用程序关联的服务主体


您可以找到与应用程序对象关联的服务主体。

浏览器


在Microsoft Entra管理中心,导航到应用程序注册概述。在本地目录中选择托管应用程序。

概览中显示本地目录中托管应用程序选项的屏幕截图。

PowerShell

Using Microsoft Graph PowerShell:

Azure PowerShell
Get-MgServicePrincipal -Filter "appId eq '{AppId}'"


Azure命令行界面

Using Azure CLI:

Azure CLI
az ad sp list --filter "appId eq '{AppId}'"

 

修改和删除应用程序的后果


您对应用程序对象所做的任何更改也只反映在应用程序主租户(注册它的租户)中的服务主体对象中。这意味着删除应用程序对象也将删除其主租户服务主体对象。但是,通过应用程序注册UI还原该应用程序对象不会还原其相应的服务主体。有关删除和恢复应用程序及其服务主体对象的详细信息,请参阅删除和恢复适用程序和服务主体对象。

例子


下图说明了在名为HR app的示例多租户应用程序的上下文中,应用程序的应用程序对象和相应的服务主体对象之间的关系。此示例场景中有三个Microsoft Entra租户:

  • Adatum-开发人力资源应用程序的公司使用的租户
  • Contoso-Contoso组织使用的租户,该组织是HR应用程序的使用者
  • STATE-STATE组织使用的租户,该租户也使用HR应用程序

应用对象和服务主体对象之间的关系

在此示例场景中:

Step Description
1 The process of creating the application and service principal objects in the application's home tenant.
2 When Contoso and Fabrikam administrators complete consent, a service principal object is created in their company's Microsoft Entra tenant and assigned the permissions that the administrator granted. Also note that the HR app could be configured/designed to allow consent by users for individual use.
3 The consumer tenants of the HR application (Contoso and Fabrikam) each have their own service principal object. Each represents their use of an instance of the application at runtime, governed by the permissions consented by the respective administrator.


下一步


了解如何创建服务主体:


  • Using the Microsoft Entra admin center
  • Using Azure PowerShell
  • Using Azure CLI
  • Using Microsoft Graph and then use Microsoft Graph Explorer to query both the application and service principal objects.
 
 

本文地址
https://architect.pub
  • 登录 发表评论
  • 22 次浏览
发布日期
星期一, 八月 5, 2024 - 22:10
最后修改
星期一, 八月 5, 2024 - 22:10

Tags

  • Microsoft Entra ID
  • 服务主体对象
  • 应用程序对象
Article
Read more

最新内容

  • 【DeepSeek】如何为自定义数据集微调DeepSeek-R1(一步一步)
    4 days 6 hours ago
  • 【UI开发】为AI应用程序构建UI的3个最佳Python框架
    1 week 5 days ago
  • 【前端开发】🚀🔥 改变编码方式的10个前端开发AI助手
    1 week 6 days ago
  • 【前端开发】生成式AI革新前端开发:传统开发模式的颠覆
    1 week 6 days ago
  • 【CNN架构】解释不同类型的CNN架构:示例
    1 week 6 days ago
  • 【信息设计】设计模式指南:学习指南
    1 week 6 days ago
  • 【设计思维】什么是设计思维?
    1 week 6 days ago
  • 【Gen UI】生成式用户界面与结果导向设计的范式革命​
    1 month ago
  • 测试Bolt.new:开发者亲测AI应用构建工具​
    1 month ago
  • 生成式用户界面(Gen UI)是什么?它重要吗?
    1 month ago

网站备案号:京ICP备2022026098号-2

友情链接

  • CPO宝典
  • 全球IT瞭望
  • 开发者开聊
  • 智能化转型智库
  • 架构师研究会

知识星球

知识星球:首席架构师圈

 

抖音直播

抖音:cea_cio(超级架构师)
干货直播,干货分享

 

微信小号

超级架构师
超级架构师小号:加群,私聊

 

微信公众号

超级架构师公众号

 

QQ群:超级架构师

QQ Group

Tags

Tags

  • Microsoft Entra ID
  • 服务主体对象
  • 应用程序对象
© 2025 架构师研究会, All rights reserved.
↑