この記事では、Microsoft Entra テナントで論理的に削除されたエンタープライズ アプリケーションを復元する方法について学習します。 論理的に削除されたエンタープライズ アプリケーションは、削除後最初の 30 日以内であればごみ箱から復元できます。 30 日間の期間が経過すると、エンタープライズ アプリケーションは完全に削除され、復元することができません。
Microsoft Entra 管理センターでのアプリ登録によってホーム テナント内のアプリケーションの登録を削除した場合、対応するサービス プリンシパルであるエンタープライズ アプリケーションも削除されます。
削除されたアプリケーションの登録を Microsoft Entra 管理センターから復元すると、対応するサービス プリンシパルも復元されます。 そのため、復元されない条件付きアクセス ポリシーなどの以前のポリシーを除き、サービス プリンシパルの以前の構成を回復できます。
前提条件
エンタープライズ アプリケーションを復元するには、次のものが必要になります。
- Microsoft Entra ユーザー アカウント。 まだアカウントがない場合は、無料でアカウントを作成することができます。
- 次のいずれかのロール:
- クラウド アプリケーション管理者
- アプリケーション管理者
- サービス プリンシパルの所有者。
- テナントで論理的に削除されたエンタープライズ アプリケーション。
最近削除されたエンタープライズ アプリケーションを復元するには、次の手順を実行します。 アプリケーションの削除と回復についてよく寄せられる質問の詳細については、アプリケーションの削除と回復の FAQ に関するページを参照してください。
Microsoft Entra PowerShell を使用して復元可能なエンタープライズ アプリケーションを表示する
Microsoft Entra PowerShell モジュールを使用していることを確認します。
クラウド アプリケーション管理者以上としてサインインする必要があります。
最近削除されたエンタープライズ アプリケーションを表示するには、次のコマンドを実行します。
Connect-Entra -Scopes 'Application.Read.All' Get-EntraDeletedServicePrincipal
ID を、復元するサービス プリンシパルのオブジェクト ID に置き換えます。
Microsoft Graph PowerShell を使用して復元可能なエンタープライズ アプリケーションを表示する
connect-MgGraph -Scopes "Application.ReadWrite.All"
を実行します。 クラウド アプリケーション管理者以上としてサインインする必要があります。最近削除されたエンタープライズ アプリケーションを表示するには、次のコマンドを実行します。
Get-MgDirectoryDeletedItem -DirectoryObjectId <id>
ID を、復元するサービス プリンシパルのオブジェクト ID に置き換えます。
Microsoft Graph API を使用して復元可能なエンタープライズ アプリケーションを表示する
Graph エクスプローラーを使用して、最近削除されたエンタープライズ アプリケーションを表示および復元します。 クラウド アプリケーション管理者以上としてサインインする必要があります。
テナント内の削除されたエンタープライズ アプリケーションの一覧を取得するには、次のクエリを実行します。
GET https://graph.microsoft.com/v1.0/directory/deletedItems/microsoft.graph.servicePrincipal
生成された削除済みサービス プリンシパルの一覧から、復元するエンタープライズ アプリケーションの ID を記録します。
または、削除された特定のエンタープライズ アプリケーションを取得する場合は、削除されたサービス プリンシパルをフェッチし、次の構文を使ってクライアントのアプリケーション ID (appId) プロパティで結果をフィルター処理します。
https://graph.microsoft.com/v1.0/directory/deletedItems/microsoft.graph.servicePrincipal?$filter=appId eq '{appId}'
。 削除されたサービス プリンシパルのオブジェクト ID を取得したら、復元に進みます。
Microsoft Entra PowerShell を使用してエンタープライズ アプリを復元する
論理的に削除されたエンタープライズ アプリケーションを復元するには、次のコマンドを実行します。
Connect-Entra -Scopes 'Application.ReadWrite.All' #get the deleted service principal by filtering by the display name. $deletedServicePrincipal = Get-EntraDeletedServicePrincipal -Filter "DisplayName eq 'test-App1-Deleted'" #assign the value returned to a variable and restore the deleted service principal Id = $deletedServicePrincipal.Id Restore-EntraDeletedDirectoryObject -Id $deletedServicePrincipal.Id
Microsoft Graph PowerShell を使用してエンタープライズ アプリを復元する
エンタープライズ アプリケーションを復元するには、次のコマンドを実行します。
Restore-MgDirectoryDeletedItem -DirectoryObjectId <id>
ID を、復元するサービス プリンシパルのオブジェクト ID に置き換えます。
Microsoft Graph API を使用してエンタープライズ アプリを復元する
エンタープライズ アプリケーションを復元するには、次のクエリを実行します。
POST https://graph.microsoft.com/v1.0/directory/deletedItems/{id}/restore
ID を、復元するサービス プリンシパルのオブジェクト ID に置き換えます。
論理的に削除されたマネージド ID サービス プリンシパルは表示できますが、顧客が復旧または完全に削除することはできません。
警告
エンタープライズ アプリケーションを完全に削除することは、元に戻すことができない操作です。 アプリ上の現在の構成はすべて失われます。 エンタープライズ アプリケーションの詳細を慎重に確認して、完全に削除する必要があるか確認します。
Microsoft Entra PowerShell を使用してエンタープライズ アプリを完全に削除する
論理的に削除されたエンタープライズ アプリケーションを完全に削除するには、次のコマンドを実行します。
Connect-Entra -Scopes 'Application.ReadWrite.All'
#get the deleted service principal by filtering by the display name.
$deletedServicePrincipal = Get-EntraDeletedServicePrincipal -Filter "DisplayName eq 'test-App1-Deleted'"
#assign the value returned to a variable and permanently delete the service principal
$Id = $deletedServicePrincipal.Id
Remove-EntraDeletedDirectoryObject -Id $deletedServicePrincipal.Id
Microsoft Graph PowerShell を使用してエンタープライズ アプリを完全に削除する
論理的に削除されたエンタープライズ アプリケーションを完全に削除するには、次のコマンドを実行します。
Remove-MgDirectoryDeletedItem -DirectoryObjectId <id>
Microsoft Graph API を使用してエンタープライズ アプリを完全に削除する
論理的に削除されたエンタープライズ アプリケーションを完全に削除するには、Microsoft Graph エクスプローラーで次のクエリを実行します。
DELETE https://graph.microsoft.com/v1.0/directory/deletedItems/{object-id}