无法使用 Graph API 删除 Azure B2C 中的用户
Cannot delete user in Azure B2C using Graph API
我们正在尝试使用图表 API 删除 Azure B2C 中的用户,但到目前为止还没有成功。此处的文档表明有可能:
https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/users-operations#DeleteUser
我们目前在涉及 creating/updating 用户时没有问题,但是在尝试删除操作时我们收到以下错误:
Authorization_RequestDenied - 权限不足,无法完成操作。
我知道在 B2C 中使用图表 API 有一些限制,但那里的文档表明这不应该是其中之一。
如果您想拥有足够的权限来删除用户,您需要将 Company Administrators
角色分配给您的服务主体。你可以参考this document来做到这一点。
- 使用 AAD Powershell 连接 AAD:
Connect-AzureAD
- 获取公司管理员角色:
$role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'Company Administrator'}
- 将角色分配给您的 SP:
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId $yoursp.ObjectId
- 尝试获取新令牌并在头部使用它再次删除用户。这是我的结果:
我们正在尝试使用图表 API 删除 Azure B2C 中的用户,但到目前为止还没有成功。此处的文档表明有可能: https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/users-operations#DeleteUser
我们目前在涉及 creating/updating 用户时没有问题,但是在尝试删除操作时我们收到以下错误:
Authorization_RequestDenied - 权限不足,无法完成操作。
我知道在 B2C 中使用图表 API 有一些限制,但那里的文档表明这不应该是其中之一。
如果您想拥有足够的权限来删除用户,您需要将 Company Administrators
角色分配给您的服务主体。你可以参考this document来做到这一点。
- 使用 AAD Powershell 连接 AAD:
Connect-AzureAD
- 获取公司管理员角色:
$role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'Company Administrator'}
- 将角色分配给您的 SP:
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId $yoursp.ObjectId
- 尝试获取新令牌并在头部使用它再次删除用户。这是我的结果: