簡體   English   中英

Azure數據庫管理權限

[英]Permissions for Azure database management

我正在開發一個小型應用程序,以連接到Microsoft Azure,列出屬於某個資源組的所有數據庫,並導出所有所述數據庫。 我為此使用Microsoft.WindowsAzure.Management.Sql庫。

遵循本指南 ,我設法在AD中為我的應用程序設置了應用程序注冊,並為其分配了Owner角色(用於測試),向Azure進行身份驗證並獲得了訪問令牌。

但是,當我嘗試使用該令牌對數據庫執行任何操作(例如,使用IServerOperations.List列出所有數據庫)時,出現以下異常:

ForbiddenError: The server failed to authenticate the request. Verify that the certificate is valid and is associated with this subscription.

租戶ID,訂閱ID,客戶ID和客戶機密都是正確的,更改它們中的任何一個都會導致不同的異常,這已經在身份驗證階段。

我怎樣才能解決這個問題? 如果正確的答案是“切換到Microsoft.Azure.Management.Sql ”,那么我很好,但是如果可能的話,我至少想了解為什么會這樣。

如果正確的答案是“切換到Microsoft.Azure.Management.Sql”,我對此表示完全滿意,但如果可能的話,我至少想了解為什么會這樣。

Microsoft.WindowsAzure.Management.Sql實現ASM API(Azure舊API)。

出現此錯誤的原因是,您試圖使用應用程序權限對Azure資源管理器(ASM)API進行身份驗證/授權。 但是Service Management API是委派權限,而不是應用程序權限。

有關如何對ASMARM Rest API進行身份驗證的更多詳細信息,請參考另一個SO線程

我怎樣才能解決這個問題?

Microsoft.Azure.Management.Sql實現ARM API。 如前所述,您可以使用Microsoft.Azure.Management.Sql來理解Microsoft.WindowsAzure.Management.Sql

或者您可以使用基於X509證書的授權來授權您的ASM API請求。 有關如何使用管理證書進行身份驗證的更多信息,請參考本教程

注意 :建議使用Microsoft.Azure.Management.Sql代替Microsoft.WindowsAzure.Management.Sql

暫無
暫無

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

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