以编程方式从 Azure 订阅中删除用户 (C#)

Removing the user from Azure subscription programmatically (C#)

我想以编程方式从 Azure 订阅中删除用户。

我们在网络上有很多方法可以删除 AAD 用户,但我找不到从 Azure 订阅中删除用户的来源。

我们能否以编程方式从 Azure 订阅中删除用户?

我们如何做到这一点?

您是否尝试过使用 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/{此处是您的订阅 ID}/providers/Microsoft.Authorization/roleAssignments?api-version=2015 -07-01

以上 URL 将获取所有用户主体 ID(用户 GUID)和 RoleAssigementID。

然后您可以删除您想要的特定用户。同上 URL 参考了从 Susbcription 中删除用户。

上述参考的删除方法示例 URL 是:https://management.azure.com//subscriptions/{此处的订阅 ID}/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