[英]How to pass credentials to use ResourceManagementClient to get all resources from azure resource group c#?
我已经安装了nuget Microsoft.Azure.Management.ResourceManager
并具有以下代码来根据Resource Group Name
获取所有现有资源
var resouceManagementClient = new ResourceManagementClient(credentials) { SubscriptionId = "mySubscriptionId" };
var listResources =
resouceManagementClient.ResourceGroups.ListResources("Demo-ResourceGroup");
我不确定从哪里可以获取credentials
参数值。
我没有Azure Active Directory访问权限,我认为这是必须的,我们可以绕开Azure AD吗?
在我的Azure门户中,我create a Resource Group - Demo-ResourceGroup
并many resources created
。
我只想使用c#代码列出所有现有资源。
一种方法是通过从Azure AD获取访问令牌并将其传递给TokenCredentials
类。
var authContext = new AuthenticationContext(string.Format("https://login.windows.net/{0}", tenantId));
var credential = new ClientCredential(applicationId, password);
AuthenticationResult token = authContext.AcquireTokenAsync("https://management.core.windows.net/", credential).Result;
var credentials = new TokenCredentials(token.AccessToken);
您用于请求acces令牌的凭据集(在本例中为clientId / secret)将确定应用程序是否具有适当的权限来枚举资源。 这是一个不错的MS docs页面,介绍如何向AAD注册您的应用程序 。 在上面的示例中,applicationId和password来自AAD中的应用程序注册
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.