You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出拥有Exchange Online权限的托管标识及权限角色

问题解答

一、列出拥有Exchange Online访问权限的托管标识

托管标识访问Exchange Online的权限主要有两种授予方式,对应不同的查询方法:

  1. 查询拥有Exchange ManageAsApp API权限的托管标识
    Exchange Online对应的服务主体固定ID为00000002-0000-0ff1-ce00-000000000000,可通过Graph PowerShell查询所有被授予该权限的托管标识:
# 获取Exchange Online服务主体
$exoServicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"

# 筛选出关联的托管标识
Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $exoServicePrincipal.Id | ForEach-Object {
    Get-MgServicePrincipal -ServicePrincipalId $_.PrincipalId | Select-Object DisplayName, Id, AppId
}
  1. 查询拥有Exchange管理角色/角色组权限的托管标识
    如果是通过Exchange角色组(如收件人管理员)分配的权限,需连接Exchange Online PowerShell后执行:
# 连接Exchange Online
Connect-ExchangeOnline

# 查询服务主体类型的角色分配
Get-RoleAssignment -RoleAssigneeType ServicePrincipal | Select-Object RoleAssigneeName, Role, RoleAssigneeId

二、列出Azure Automation托管标识的所有权限和角色

托管标识的权限分为三类,需分别查询:

  1. Entra ID API权限(应用/委派权限)
    使用Graph PowerShell查询托管标识的应用角色分配:
# 替换为目标托管标识的显示名称
$miDisplayName = "你的自动化账户托管标识名称"
$mi = Get-MgServicePrincipal -Filter "DisplayName eq '$miDisplayName'"

Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $mi.Id | Select-Object ResourceDisplayName, AppRoleId, PrincipalDisplayName
  1. Entra ID目录角色(如用户管理角色)
    这类目录角色不会显示在托管标识的"权限"标签页中,需通过角色分配列表查询:
Get-MgRoleAssignment -Filter "principalId eq '$($mi.Id)'" | Select-Object RoleDefinitionDisplayName, PrincipalDisplayName
  1. Exchange Online角色
    连接Exchange Online后查询:
Get-RoleAssignment -RoleAssigneeId $mi.Id | Select-Object Role, RoleAssigneeName

内容的提问来源于stack exchange,提问作者Shawn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 02:44:56