當我們不需要使用某個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旅途愉快。