簡體   English   中英

如何通過憑據使用ResourceManagementClient從Azure資源組C#獲取所有資源?

[英]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-ResourceGroupmany 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中的應用程序注冊

Microsoft的頁面描述了從AAD獲取令牌的其他方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM