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

如何以编程方式检查Azure用户/安全主体是否具备指定权限?求等效AWS方案

实现Azure中类似AWS simulate-principal-policy的权限验证

核心方案:Microsoft Graph API validatePermissions 端点

这个API可以直接传入用户ID和权限列表,批量验证用户是否拥有指定权限,完全匹配你需要的功能。

REST API 请求示例

POST https://graph.microsoft.com/v1.0/users/{user-id}/validatePermissions
Content-Type: application/json

{
  "permissions": [
    {
      "permissionId": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", // User.Read.All 权限ID
      "resourceAppId": "00000003-0000-0000-c000-000000000000" // Microsoft Graph 应用ID
    },
    {
      "permissionId": "19dbc75e-c2e2-444c-a770-ec69d8559fc7", // Directory.ReadWrite.All 权限ID
      "resourceAppId": "00000003-0000-0000-c000-000000000000"
    }
  ]
}

响应解析

返回结果会针对每个权限给出isGranted字段,直接标记该权限是否已授予用户,同时附带权限来源(如直接分配、组继承)等信息。

Azure CLI 快速验证

如果用命令行操作,可使用az ad user permission check命令:

az ad user permission check --id {user-object-id} --permissions @permissions.json

permissions.json的格式与上述Graph API请求体一致。

关键注意点

  • 调用API需要持有Directory.Read.All或Directory.AccessAsUser.All权限的令牌。
  • 权限ID和资源应用ID需准确匹配:资源应用ID是目标服务的客户端ID(例如Microsoft Graph固定为00000003-0000-0000-c000-000000000000),权限ID可通过az ad sp show --id {resource-app-id} --query "oauth2Permissions[].{id:id, name:name}"获取。
  • 支持验证应用权限和委派权限,只需在请求体中添加permissionType字段,可选值为Application或Delegated。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:06:18