如何通过Microsoft Graph修改现有条件访问策略的角色与授权控制?
问题
我通过Microsoft Graph创建了如下条件访问策略,目前运行正常:
POST https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies Content-type: application/json { "displayName": "Block access to Application Admins.", "state": "enabled", "conditions": { "clientAppTypes": [ "all" ], "applications": { "includeApplications": [ "appID" ] }, "users": { "includeRoles": [ "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"//ID of Application Admin role ] } }, "grantControls": { "operator": "OR", "builtInControls": [ "block" ] } }
现需修改该现有策略的部分属性:将users.includeRoles改为User administrator对应的角色ID,将grantControls调整为允许访问并要求MFA。已知Azure门户支持编辑操作,请问能否通过Microsoft Graph实现该修改?具体操作步骤是什么?
答案
可以通过Microsoft Graph实现现有条件访问策略的修改,具体操作步骤如下:
获取目标策略的ID
先查询所有条件访问策略,找到目标策略的唯一ID:GET https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies在返回结果中定位
displayName为"Block access to Application Admins."的条目,记录其id字段值。发送PATCH请求更新策略
使用获取到的策略ID,发送PATCH请求修改指定属性:- 将
users.includeRoles替换为User administrator的角色ID(fe930be7-5e62-47db-91af-98c3a49a38b1) - 将
grantControls调整为要求MFA,设置builtInControls为["mfa"]即可
请求示例:
PATCH https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/{policy-id} Content-type: application/json请求体:
{ "conditions": { "users": { "includeRoles": [ "fe930be7-5e62-47db-91af-98c3a49a38b1" // User administrator角色ID ] } }, "grantControls": { "operator": "OR", "builtInControls": [ "mfa" ] } }- 将
验证修改结果
再次查询目标策略,确认属性已更新:GET https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/{policy-id}
注意:调用接口需要具备
Policy.ReadWrite.ConditionalAccess权限,且调用身份需拥有全局管理员、条件访问管理员等足够的Azure AD权限。
内容的提问来源于stack exchange,提问作者NaveenChalla
相关产品推荐
相关产品推荐

