解決刪除Azure Active Directory的Enterprise Applications異常
- 2021 年 4 月 11 日
- 筆記
- Azure Active Directory
當我們不需要使用某個Azure Active Directory(以下簡稱AAD)的時候,我們可以刪除它,這個時候Azure會對當前的AAD包含的內容進行檢查,
在所有的檢查項目中有一個名叫「企業應用」,有很多人在刪除AAD的時候都被這一項擋住了去路卻不知道該怎麼解決,下面我們來看一下該如何對症下藥。
通常這一項的檢查不通過有兩種情況:
1.Azure DevOps:在點擊解決連接後,你可能會看到一個名叫「Azure DevOps」的企業應用,這是在你註冊Azure DevOps的時候自動註冊的,而且默認情況下你無法直接通過門戶刪除。這個時候我們需要使用PowerShell的Azure AD組件來刪除:
首先註冊一個AAD管理員用戶,注意不是當前操作刪除的這個微軟賬戶,你需要註冊一個AAD用戶,然後賦予這個用戶管理員許可權;
在本地打開PowerShell,注意這裡需要Windows的PowerShell,不能是跨平台的PowerShell Core,使用管理員許可權執行以下命令:
Install-Module -Name AzureAD
安裝完成後,執行以下命令:
Remove-AzureADServicePrincipal -ObjectId [AzureDevOps ObjectId]
ObjectId可以從應用的屬性裡面獲取,執行完畢後你應該能夠看到Azure DevOps已經被刪除了。
2.Managed Identity:如果在刪除Azure DevOps後仍然無法刪除AAD,而且你應該會注意到在企業應用這一項的檢查是先變成通過後在「Azure AD Domain Service」這一項檢查後又變為不通過,這個時候就是因為當前AAD中還有未刪除的Managed Identity。
1.點擊解決鏈接,切換過濾選項到「Managed Identity」,你會看到當前AAD下面未刪除的系統管理的標識,理論上系統管理標識是會在資源刪除的同時被刪除,但是有時候系統並不會自動刪除它們(多發生於訂閱遷移到了另一個AAD內),這個時候你需要手動刪除。
2.對於Azure WebApp類的標識,你需要在新的AAD內禁用原有標識後重新啟用標識來刪除原有的標識,直接刪除資源並不會刪除標識
3.對於SQL Server,當開啟AAD驗證後也會自動註冊標識,而且在門戶內禁用原有AAD管理員重新配置新的管理員並沒有用,這個時候需要用到Azure CLI,最方便的當然是打開門戶內的Cloud Shell,選擇Bash後,執行以下命令:
az sql server update --assign_identity --resource-group [Your-RG-Name] --name [Your-SQLServer-Name]
這個命令會更新原有的系統分配標識,更新後原有的標識被刪除。
現在你應該可以順利通過檢查刪除當前AAD了,祝大家Azure旅途愉快。