Azure 逻辑应用程序、AzureAD 删除组成员、权限不足
Azure Logic app, AzureAD remove group members, insuficcient permission
我正在创建一个 Azure 逻辑应用来替换已定义的 Azure AD 组的成员。我使用这个博客 (https://geekshangout.com/logic-app-remove-azure-ad-group-members/) 作为我工作的基础,但到目前为止 remove-member 由于权限不足而失败。
基本上逻辑应用程序做:
- 使用特定查询从 Azure SQL table 检索用户列表:OK
- 从 AzureAD 组获取用户列表:确定
- For-each 会员:
从 azure 组 object 中删除 member.objectID ID:: 失败并出现以下错误:
"body": {
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"date": "2022-02-10T07:32:44",
"request-id": "--------------",
"client-request-id": "------------"
}
}
}
到目前为止:我 re-created 逻辑应用程序并负责:
- 如博客中所述,使用全局管理员帐户给予管理员许可。
- 我可以在 'Enterprise Applications' blade 中看到这个 'logic app' 创建的
- 权限应正确:API 名称:Microsoft graph,声明:Directory.readwrite.all、group.readwrite.all、user.readwrite.all、offline_access,截至 Microsoft 文档描述 (https://docs.microsoft.com/en-us/connectors/azuread/)
- 现在等了大约 24 小时,所以 'cloud-lag' 应该没有问题。
这个 'Enterprise Application' 应该有额外的权限吗?如果是,是什么以及在哪里?
- 已尝试使用此处描述的权限创建自定义角色:https://docs.microsoft.com/en-us/azure/active-directory/roles/custom-group-permissions
“生活不是要解决的问题,而是要经历的现实”
~T
假设您为 Azure AD 设置逻辑应用程序连接的用户有权管理该组的成员资格(例如,如果这是全局管理员,情况就是如此),最可能的原因是您尝试更改成员资格的群组是 role-assignable 群组。
Role-assignable 组是可以分配目录角色的特殊组。将成员添加到组相当于为该成员分配目录角色,因此委派权限 Directory.ReadWrite.All 和 Group.ReadWrite.All 都不允许这样做。 (对于常规组,它们中的任何一个都足够了。)该应用程序还需要被授予委派权限 RoleManagement.ReadWrite.Directory.
从表面上看,Azure AD 的 built-in 逻辑应用程序连接器不是为处理 role-assignable 组的组成员资格而构建的。
如果您确实需要能够做到这一点,您可以 update the delegated permissions granted 连接器以包含 RoleManagement.ReadWrite.Directory,但您应该对此非常小心(以及您的整个解决方案,包括SQL 数据库和逻辑应用程序),因为滥用可能会带来重大的安全风险。
我正在创建一个 Azure 逻辑应用来替换已定义的 Azure AD 组的成员。我使用这个博客 (https://geekshangout.com/logic-app-remove-azure-ad-group-members/) 作为我工作的基础,但到目前为止 remove-member 由于权限不足而失败。
基本上逻辑应用程序做:
- 使用特定查询从 Azure SQL table 检索用户列表:OK
- 从 AzureAD 组获取用户列表:确定
- For-each 会员:
从 azure 组 object 中删除 member.objectID ID:: 失败并出现以下错误:
"body": { "error": { "code": "Authorization_RequestDenied", "message": "Insufficient privileges to complete the operation.", "innerError": { "date": "2022-02-10T07:32:44", "request-id": "--------------", "client-request-id": "------------" } } }
到目前为止:我 re-created 逻辑应用程序并负责:
- 如博客中所述,使用全局管理员帐户给予管理员许可。
- 我可以在 'Enterprise Applications' blade 中看到这个 'logic app' 创建的
- 权限应正确:API 名称:Microsoft graph,声明:Directory.readwrite.all、group.readwrite.all、user.readwrite.all、offline_access,截至 Microsoft 文档描述 (https://docs.microsoft.com/en-us/connectors/azuread/)
- 现在等了大约 24 小时,所以 'cloud-lag' 应该没有问题。
这个 'Enterprise Application' 应该有额外的权限吗?如果是,是什么以及在哪里?
- 已尝试使用此处描述的权限创建自定义角色:https://docs.microsoft.com/en-us/azure/active-directory/roles/custom-group-permissions
“生活不是要解决的问题,而是要经历的现实” ~T
假设您为 Azure AD 设置逻辑应用程序连接的用户有权管理该组的成员资格(例如,如果这是全局管理员,情况就是如此),最可能的原因是您尝试更改成员资格的群组是 role-assignable 群组。
Role-assignable 组是可以分配目录角色的特殊组。将成员添加到组相当于为该成员分配目录角色,因此委派权限 Directory.ReadWrite.All 和 Group.ReadWrite.All 都不允许这样做。 (对于常规组,它们中的任何一个都足够了。)该应用程序还需要被授予委派权限 RoleManagement.ReadWrite.Directory.
从表面上看,Azure AD 的 built-in 逻辑应用程序连接器不是为处理 role-assignable 组的组成员资格而构建的。
如果您确实需要能够做到这一点,您可以 update the delegated permissions granted 连接器以包含 RoleManagement.ReadWrite.Directory,但您应该对此非常小心(以及您的整个解决方案,包括SQL 数据库和逻辑应用程序),因为滥用可能会带来重大的安全风险。