【发布时间】:2019-01-14 19:13:18
【问题描述】:
我想以编程方式从 Azure 订阅中删除用户。
我们在网络上有很多方法可以删除 AAD 用户,但我找不到从 Azure 订阅中删除用户的来源。
我们可以通过编程方式从 Azure 订阅中删除用户吗?
我们怎样才能做到这一点?
【问题讨论】:
标签: c# azure azure-management-api
我想以编程方式从 Azure 订阅中删除用户。
我们在网络上有很多方法可以删除 AAD 用户,但我找不到从 Azure 订阅中删除用户的来源。
我们可以通过编程方式从 Azure 订阅中删除用户吗?
我们怎样才能做到这一点?
【问题讨论】:
标签: c# azure azure-management-api
您是否尝试过使用 Azure API 参考?具体authorization?
您可能对Role Assignments API感兴趣。
这是一篇关于这些任务以及如何使用 API 的支持文章:https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-rest
【讨论】:
我终于找到了答案。我们必须执行多个步骤才能将用户从订阅中删除。
在我们开始执行以下步骤之前,您需要创建客户端 ID 和客户端密码,并使用这些客户端 ID 和密码创建身份验证令牌。
首先,我通过以下 GET API 获取所有用户。这里是URL 供参考。
上述参考的示例获取方法 URL 为:https://management.azure.com/subscriptions/{your subscription id here}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01
以上 URL 将获取所有用户主体 ID(用户 GUID)和 RoleAssigementID。
然后您可以删除您想要的特定用户。与上面相同的URL 引用了从订阅中删除用户的参考。
上述参考的删除方法示例 URL 为:https://management.azure.com//subscriptions/{您的订阅 id here}/providers/Microsoft.Authorization/roleAssignments/{用户角色分配 id}/providers/Microsoft.Authorization/roleAssignments/{用户角色分配 id }?api-version=2015-07-01
您可以从第一步中找到角色分配 ID。
额外信息: 第一步将获取主体 ID 和角色 ID,但如果您需要用户的其他信息(例如:电子邮件 ID、姓名等),您可以使用 Graph API 获取用户的所有信息。这是URL 供参考。
在调用此 API 之前,您需要为此创建另一个身份验证令牌(与上述身份验证令牌不同)。
https://graph.windows.net/{您的租户 id}/getObjectsByObjectIds?api-version=1.6
【讨论】: