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

如何通过PowerShell获取Azure RBAC角色分配的被授权用户信息?

获取Azure RBAC角色分配变更中的被授权用户信息

你写的脚本已经能抓到基础的操作记录,但被授予权限的用户/主体信息其实藏在日志条目的Properties字段里——这个字段是序列化的JSON格式,里面包含了请求的详细内容,比如角色分配的目标主体信息。

我帮你调整一下脚本,把这部分关键信息提取出来:

Get-AzureRmLog -StartTime (Get-Date).AddDays(-7) | 
Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleAssignments/*'} | 
ForEach-Object {
    # 解析Properties中的JSON内容,获取请求的详细数据
    $requestDetails = $_.Properties | ConvertFrom-Json
    
    # 从请求体中提取被授权的主体ID
    $assignedPrincipalId = $requestDetails.properties.principalId

    # 根据ID查询主体的名称(兼容AD用户、服务主体等多种类型)
    $assignedPrincipalName = try {
        # 优先尝试查询AD用户
        (Get-AzureRmADUser -ObjectId $assignedPrincipalId -ErrorAction Stop).UserPrincipalName
    } catch {
        try {
            # 如果不是用户,查询服务主体
            (Get-AzureRmADServicePrincipal -ObjectId $assignedPrincipalId -ErrorAction Stop).DisplayName
        } catch {
            # 都查不到的话,直接显示ID(比如主体已被删除)
            $assignedPrincipalId
        }
    }

    # 输出整合后的所有信息
    [PSCustomObject]@{
        Caller               = $_.Caller
        Resource             = $_.Authorization.Scope
        Action               = Split-Path $_.Authorization.Action -Leaf
        EventTimestamp       = $_.EventTimestamp
        AssignedPrincipalId  = $assignedPrincipalId
        AssignedPrincipalName= $assignedPrincipalName
    }
}

几个关键点说明:

  • 解析Properties字段:Azure活动日志的Properties字段存储的是请求/响应的JSON字符串,必须用ConvertFrom-Json转成可操作的对象,才能提取内部的主体信息。
  • 兼容多种主体类型:角色分配的主体可能是AD用户、服务主体甚至安全组,脚本里做了多层查询尝试,确保能拿到最直观的名称;如果主体已被删除查不到,就回退显示ID。
  • 权限要求:运行脚本的账号需要有Microsoft.Authorization/roleAssignments/read权限(读取活动日志),以及Microsoft.AzureAD/users/read、Microsoft.AzureAD/servicePrincipals/read权限(查询主体名称)。

另外,如果是删除角色分配的记录,请求体里可能没有主体信息——这种情况可以从Resource字段最后一段的角色分配ID去查询历史快照,但如果角色分配已经被删除,可能只能拿到主体ID了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:13:29