[英]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.