如何使用 Azure Mgmt SDK fluent 获取 Active Directory 用户总数

How to get total count of Active Directory users by using of Azure Mgmt SDK fluent

我正在使用 https://www.nuget.org/packages/Microsoft.Azure.Management.Fluent 以编程方式(C# .NET-Core Web 应用程序)在 Azure 中获取资源,并尝试通过提供如下服务主体来获取资源信息....

string subscriptionId="XXX"; 
   AzureCredentials cred = new 
             AzureCredentialsFactory().FromServicePrincipal(UIConstants.ClientID, 
             UIConstants.Secret, UIConstants.Tenant,AzureEnvironment.AzureGlobalCloud);                      
            
    var azure = Azure.Configure()
                     .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic) 
                     .Authenticate(cred) 
                     .WithSubscription(subscriptionId);

当我尝试像这样获取 Active Directory 用户总数时:

int identity = azure.AccessManagement.ActiveDirectoryUsers.List().ToArray().Length;

我在代码中遇到了这个异常:

Operation returned an invalid status code 'Forbidden'

请帮我解决以上问题..

谢谢, 图图尔

Azure 资源,如 VM、存储存储在订阅下。但是AAD用户是存放在目录下的。

您需要为服务主体分配 Directory readers 角色。

转到 Azure 门户 -> Azure Active Directory -> 角色和管理员 - > 目录读者 -> +添加分配,输入服务主体的客户端ID。

现在服务主体应该可以访问 Azure AD 用户了。