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

如何通过Graph API创建针对应用管理员角色的条件访问策略?

使用Graph API创建限制Application Administrator角色用户的条件访问策略

前置要求

  • 账号需拥有全局管理员或条件访问管理员权限
  • 可通过Graph Explorer(无需单独注册应用)或自定义应用调用API,需提前授予Policy.ReadWrite.ConditionalAccess和Directory.Read.All权限

步骤1:获取所需ID信息

1.1 拿到Application Administrator角色ID

发送GET请求查询目录角色,定位到目标角色的ID:

GET https://graph.microsoft.com/v1.0/directoryRoles?$filter=displayName eq 'Application Administrator'

从返回结果里提取id字段,记为roleId。

1.2 获取目标应用ID(按需)

如果你的策略是限制用户管理特定应用,需要先拿到这些应用的服务主体ID:

GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '你的目标应用名称'

提取id字段,记为targetAppId。如果是要限制所有应用,这一步可以跳过,后续用["All"]代替。

1.3 获取特定用户ID(按需)

如果只是针对某几位拥有该角色的用户(而非整个角色组),查询这些用户的ID:

GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName in ('user1@yourdomain.com','user2@yourdomain.com')

把每个用户的id收集起来,记为targetUserIds。

步骤2:构造条件访问策略的请求体

根据你在Azure门户配置的逻辑,构造对应的JSON请求体。以下是两种常见场景的示例:

场景1:限制整个Application Administrator角色用户访问指定应用(阻止管理)

{
    "displayName": "限制Application Admin管理指定应用",
    "state": "enabled",
    "conditions": {
        "users": {
            "includeRoles": ["{roleId}"], // 替换为步骤1.1的roleId
            "excludeUsers": [] // 可添加需要豁免的用户ID
        },
        "applications": {
            "includeApplications": ["{targetAppId}"], // 替换为步骤1.2的应用ID,或用["All"]限制所有应用
            "excludeApplications": []
        }
    },
    "grantControls": {
        "operator": "OR",
        "builtInControls": ["block"]
    }
}

场景2:仅针对特定几位Application Admin用户限制应用访问

把users部分替换为指定用户:

"users": {
    "includeUsers": ["user1-id", "user2-id"], // 替换为步骤1.3的targetUserIds
    "excludeUsers": []
}

步骤3:调用API创建策略

发送POST请求到条件访问策略端点:

POST https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies
Content-Type: application/json

// 粘贴上面构造的JSON请求体

验证策略有效性

创建成功后,会返回策略的id,用这个ID查询策略详情确认配置:

GET https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/{policy-id}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 21:25:30