0

因此,我正嘗試在Azure AD上設置一個應用程序,以便刪除用戶。具有全局管理員權限的Azure AD應用程序

我已經註冊了應用程序並使用客戶端ID和secert來獲取訪問令牌。

我能夠給應用程序創建用戶的權限,並且工作正常,但是當我通過圖API刪除時,我得到403個沒有足夠權限來完成操作。

我試圖通過圖rest API。我試圖刪除的用戶也是通過其餘的調用完成的。用戶與應用程序處於同一租戶,因此我不想從多個租戶中刪除用戶。

看來我需要做的是給應用程序或者全局管理員權限或公司管理員權限,但我正在旋轉輪子在哪裏以及如何做到這一點。

任何幫助,將不勝感激。

回答

2

看看我的回答here

您可以通過添加應用程序到Company Administrator Directory角色的服務主體提升訪問的租客 水平的應用程序了。這將爲應用程序提供與公司管理員相同的 權限級別,該管理員可以做任何事情 。對於任何類型的 目錄角色,您都可以遵循這些相同的說明,具體取決於您希望給此應用程序的訪問級別 。

請注意,這隻會影響您的應用在租戶中的訪問。

此外,您還必須是租戶的公司管理員才能遵循這些說明。

爲了進行更改,您需要安裝Azure Active Directory PowerShell Module

一旦你安裝的模塊,驗證您租客 您的管理員帳戶:

Connect-MSOLService 

然後,我們需要得到我們 想要提升雙方服務主體的對象ID,與本公司管理員角色爲您的租戶。

搜索服務主要由應用程序ID GUID:

$sp = Get-MsolServicePrincipal -AppPrincipalId <App ID GUID> 

搜索目錄中作用的名稱

$role = Get-MsolRole -RoleName "Company Administrator" 

現在我們可以使用Add-MsolRoleMember命令這個角色添加到 的服務主體。

Add-MsolRoleMember -RoleObjectId $role.ObjectId -RoleMemberType ServicePrincipal -RoleMemberObjectId $sp.ObjectId 

要檢查一切正常,讓我們回到了 公司管理員角色的所有成員:

Get-MsolRoleMember -RoleObjectId $role.ObjectId 

你應該看到在列表中的應用程序,其中RoleMemberTypeServicePrincipalDisplayName是您的 應用程序的名稱。

現在,您的應用程序應該能夠執行公司管理員可以執行的所有圖形API調用 ,所有這些都不需要用戶登錄, 使用客戶機憑證流程。

讓我知道這是否有幫助!

+1

儘管如此,公司管理員本質上是AAD中的最高角色,允許應用程序執行任何想要的操作。您應該可以使用新的AAD cmdlet執行此操作,無需使用舊的。 – juunas

+0

我認爲這會起作用,但似乎是我無法保持公開會議。我運行connect-azureAD命令,但然後關閉會話。我會更新,當我可以想到這一點,但這看起來很有希望。 –

+0

嘗試使用舊的「MSOL」cmdlet。我發現他們更加一致。 –

相關問題