如何使用 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 用户了。
我正在使用 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 用户了。