如何使用C#的Azure.ResourceManager库删除Azure App Registration
关于使用C#删除Azure App Registration的解决方案
- 你当前使用的
Azure.ResourceManager库仅适用于管理Azure订阅下的基础设施类资源(应用服务、数据库、虚拟机等),App Registration属于Microsoft Entra ID(原Azure AD)的身份资源,不在ARM管控范围内,因此需要引入独立的SDK操作。
步骤1:安装所需NuGet包
以下两个官方包均兼容.NET 5.0环境:
Microsoft.Graph:微软官方的Graph API SDK,封装了所有Entra ID资源的操作接口Azure.Identity:用于身份认证,可复用你现有Azure开发的认证逻辑
步骤2:删除App Registration的代码示例
using Azure.Identity; using Microsoft.Graph; // 初始化Graph客户端,可根据你的实际认证方式替换凭据类(比如ClientSecretCredential等) var scopes = new[] { "https://graph.microsoft.com/.default" }; var credential = new DefaultAzureCredential(); var graphClient = new GraphServiceClient(credential, scopes); // 替换为你要删除的App Registration的对象ID(注意是Entra ID中显示的对象ID,不是应用程序ID/Client ID) var appObjectId = "your-app-registration-object-id"; // 执行删除操作 await graphClient.Applications[appObjectId].DeleteAsync();
注意事项
- 你所使用的认证身份(用户账号、服务主体等)需要提前在Entra ID中分配
Application.ReadWrite.All或更高的Graph API应用权限,并且完成管理员同意才能执行删除操作 - 如果需要通过应用程序ID(Client ID)查找对应的App Registration再删除,可以先调用
graphClient.Applications.GetAsync(filter: $"appId eq '{yourClientId}'")查询到对象ID后再执行删除
内容的提问来源于stack exchange,提问作者Matt Quinn
相关产品推荐
相关产品推荐

