簡體   English   中英

自動授予對Azure Active Directory Web應用程序的權限

[英]Granting permissions to Azure Active Directory Web Application automatically

我們公司正在開發基於Azure組件和連接到Azure的客戶端桌面應用程序的系統。 我們的安裝代碼通過Azure API和Azure部署自動化功能自動部署Azure組件。 正在部署的這些組件之一是我們在Azure Active Directory中注冊的Web App / API。 我們的部署代碼通過Azure API在Azure中創建此應用,並在Azure中為此應用設置“所需權限”。 所需的權限是:

在此處輸入圖片說明

使用Azure設置應用程序后,便有了客戶端桌面應用程序。 在我們的客戶端桌面應用程序中,用戶可以登錄到Azure,然后我們要訪問創建的應用程序。 因此,我們的客戶端桌面應用程序基本上會顯示Azure登錄框以登錄到Azure,然后嘗試訪問Azure中的Web應用程序,我們得到了以下信息:

在此處輸入圖片說明

是的,所以我可以手動解決它:如果我以管理員身份登錄Azure並通過單擊“授予權限”按鈕手動授予權限,則上面顯示的消息將不再顯示,並且一切都會順利進行。 我單擊的“授予權限”按鈕是這樣的:

在此處輸入圖片說明

但是不幸的是,我們不能采用這種手動授予權限的方式,我們需要找到一種通過C#代碼以編程方式實現權限的方式。 這是我們的業務要求。 因此,現有的C#代碼在Azure AD中創建應用程序,為其設置所需的權限,而缺少的部分是一個C#代碼段,該代碼段將自動授予權限-這樣用戶就不會看到上面的警告消息。 我一直在研究各種在線資源,但還沒有找到一種通過C#代碼來實現的方法-不幸的是。 有沒有一種方法可以自動授予權限? 任何C#代碼段? Azure API調用? 電源外殼? 什么?

關於我們的應用程序請求的權限的詳細信息:對於Microsoft Graph,我們需要這些權限作為“應用程序權限”:

在此處輸入圖片說明

以及那些被委派的權限:

在此處輸入圖片說明

對於Windows Azure Active Directory,所需的權限是:

在此處輸入圖片說明

上面@Saca和@Nan Yu回答了這個問題。 現在可以關閉了。 基於為正在創建的應用程序的ServicePrincipal創建OAuth2PermissionGrant和AppRoleAssignment對象的解決方案是解決此問題的正確方法,我已經設法解決了這一問題。

暫無
暫無

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

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