본문 바로가기
Azure & Windows/Azure

앱 등록(서비스 주체) 삭제 이슈가 있는 Azure AD 테넌트 삭제 방법

by 강철 벼룩 2022. 1. 28.

실습이나 시험, PoC 등의 목적으로 Azure AD 테넌트를 추가로 만들었다가 다시 제거하려는 경우 자주 접하는 삭제 불가 상황이 있습니다.
테넌트를 삭제할 경우 제일 먼저 삭제 가능한 상태인지 검사 합니다. 

11가지 범주에서 삭제 가능 상태인지 검사하는데, 대부분은 "Required action" 항목의 링크를 통해 해결할 수 있습니다.
특히 다음 그림의 빨간 박스로 표시한 "Enterprise Application"도 해당 테넌트에서 만든 앱 등록이 있다면 쉽게 삭제할 수 있습니다.  여기서 앱 등록은 인증과 권한 부여에 사용되므로 다른 이름으로 "서비스 주체"라고도 합니다.

 

테넌트 삭제 블레이드

하지만, 분명히 모든 앱 등록을 제거했고 다음 그림에서 보인 것처럼 남은 앱 등록 개체가 전혀 없지만 무슨 이유에서인지 이 부분이 계속 조건을 충족하지 못한 상태로 걸립니다.
아마도 추측컨대 여기서 보이지 않는 데이터가 있는 것이라 생각되고 M365와 관련된 부분이 아닐까 생각합니다(이 부분은 저의 뇌피셜입니다. ^^). 

 

등록된 '앱 등록'이 없는 엔터프라이즈 애플리케이션 블레이드

 

그러면 보이지 않는 데이터를 어떻게 정리할 수 있을까요?
그 해결방법은 바로 Azure PowerShell을 사용하는 것입니다. 자세한 작업 절차를 3단계로 정리했습니다.

 

1. PowerShell을 관리자 권한으로 시작합니다.

2. 삭제하려는 테넌트 ID로 Azure에 연결합니다.
Connect-AzAccount -tenant <TENANT_ID>


3. 모든 서비스 주체를 제거 합니다. 

Get-AzADServicePrincipal | ForEach-Object { Remove-AzADServicePrincipal -ObjectId $_.Id}

다음 그림에서 보인 것처럼 내부에서(Microsoft Internal) 사용되는 주체 ID는 제거되지 않습니다.

 

Azure PowerShell을 사용한 Azure 연결 및 서비스 주체 제거

작업을 모두 수행한 후 테넌트 삭제를 시도하면 "Enterprise Application" 리소스의 상태가 조건을 만족하므로 테넌트 삭제 블레이드 하단의 [Delete] 버튼이 활성화 됩니다.

 

앱 등록(서비스 주체) 제거 조건 검사 통과

[Delete] 버튼을 클릭하면 테넌트 삭제가 성공적으로 예약 되었다는 메시지를 표시합니다. 잠시 기다린 후 [디렉터리 + 구독] 필터를 확인해보면 해당 테넌트가 제거 된 것을 확인 할 수 있습니다.

 

테넌트 삭제 예약 성공

[추가적으로 새로 만든 테넌트에서 구독을 제거하지 못해 테넌트를 삭제하지 못하는 경우도 있습니다. ]

기본 디렉터리와 연결된 스폰서 쉽 구독을  새로 만든 Azure AD 테넌트로 옮긴 후, 크레딧을 다 사용해버리거나 구독 사용 기간이 지나게되면 이 구독을 다시 기본 디렉터리 테넌트로 옮기지 못하게 됩니다. 
또한 스폰서 쉽 구독이라서 구독을 다시 활성화 시킬 수도 없습니다. 
이때 새로 만든 테넌트를 삭제할려는 경우 삭제 검사 단계에서 연결된 구독으로 인해 삭제가 불가능해집니다(License-based subscription 검사 실패). 
이런 경우 해결 방법은 마이크로소프트 지원 센터를 통해 해결하거나 시간을 두고 해당 스폰서 쉽 구독 정보가 제거되기를 기다렸다 제거할 수 있습니다.