如何通过Microsoft Graph实现与Azure门户一致的Azure访问包带审批直接分配
如何通过Microsoft Graph发起带审批的访问包直接分配请求
要实现和Azure门户一致的带审批访问包直接分配行为,需要确保以下几个关键步骤:
1. 确认分配策略已配置管理员审批规则
首先,你需要确保目标访问包的分配策略(即请求中assignmentPolicyId对应的策略)已经启用了管理员添加用户时的审批流程:
- 登录Azure门户,导航至
Identity Governance > Access Packages > 你的访问包 > 分配策略 - 找到对应的策略,进入编辑模式,在「审批」环节开启「管理员添加用户或组时需要审批」,并配置审批人、审批流程等规则
- 保存策略配置
2. 修正Graph请求体的参数格式
你从门户抓包的请求中,IsApprovalRequired的value是字符串类型"true",但Microsoft Graph的beta版本需要布尔类型的true才能正确识别。修改后的请求体如下:
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests { "accessPackageAssignment": { "target": { "objectId": "5eaf3cdc-3859-40a1-bd48-583da94d16b3", "type": "User" }, "assignmentPolicyId": "3261eff8-1e91-426d-93dd-55f196a593a4", "accessPackageId": "d14d6f8c-458f-4a1c-926a-38f4c5e63fe8" }, "justification": "testing", "requestType": "AdminAdd", "parameters": [ { "name": "IsApprovalRequired", "value": true } ] }
3. 验证权限配置
确保你使用的Graph调用账号(或应用)拥有足够的权限:
- 至少需要
EntitlementManagement.ReadWrite.All应用权限或委托权限 - 如果是应用权限,需要确保已完成管理员同意;如果是委托权限,当前登录用户需要有访问包管理员的角色权限
额外说明
requestType: AdminAdd是正确的类型,对应门户中的「直接分配」操作- 只有当分配策略本身配置了管理员审批规则时,
IsApprovalRequired参数才会生效;如果策略未配置审批,即使传递该参数也不会触发审批流程
内容的提问来源于stack exchange,提问作者phazlett
相关产品推荐
相关产品推荐

