アプリケーションの構成または管理中に、アプリケーションへのトークンの発行をi一時的に停止する場合があります。 または、従業員によるアクセスが好ましくないアプリケーションをブロックする場合もあります。 ユーザーによるアプリケーションへのアクセスをブロックするには、アプリケーションへのユーザー サインインを無効にできます。その結果、対象のアプリケーションに対してすべてのトークンが発行されなくなります。
この記事では、Microsoft Entra 管理センターと PowerShell の両方を使用して、Microsoft Entra ID のアプリケーションにユーザーがサインインできないようにする方法について説明します。 特定のユーザーがアプリケーションにアクセスできないようにする方法を探している場合は、ユーザーまたはグループの割り当てを使用してください。
前提条件
ユーザーのサインインを無効にするには、以下が必要です。
- Microsoft Entra ユーザー アカウント。 まだアカウントがない場合は、無料でアカウントを作成することができます。
- 次のいずれかのロール:
- クラウド アプリケーション管理者
- アプリケーション管理者
- サービス プリンシパルの所有者
Microsoft Entra 管理センター を使用してユーザー サインインを無効にする
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- Entra ID>エンタープライズアプリ>すべてのアプリケーションに移動します。
- ユーザーがサインインすることを無効にするアプリケーションを検索し、そのアプリケーションを選択します。
- [プロパティ] を選択します。
- [ユーザーのサインインが有効になっていますか?] では [いいえ] を選択します。
- 保存を選択します。
Microsoft Entra PowerShell を使用してユーザー サインインを無効にする
エンタープライズ アプリの一覧に表示されていなくても、アプリの AppId が既知の場合があります。 たとえば、アプリを削除した場合や、サービス プリンシパルはまだ作成されていないが、Microsoft が事前認証している場合です。 アプリのサービス プリンシパルを手動で作成し、次の Microsoft Entra PowerShell コマンドレットを使用して無効にすることができます。
Microsoft Entra PowerShell モジュールをインストールしてください。 NuGet モジュールまたは新しい Microsoft Entra PowerShell V2 モジュールをインストールするように求められた場合は、「Y」と入力して Enter キーを押します。 クラウド アプリケーション管理者以上としてサインインする必要があります。
# Connect to Microsoft Entra PowerShell
Connect-Entra -scopes "Application.ReadWrite.All"
# The AppId of the service principal to be disabled
$appId = "{AppId}"
# Disable the service principal
$servicePrincipal = Get-EntraServicePrincipal -Filter "appId eq '$appId'"
Set-EntraServicePrincipal -ObjectId $servicePrincipal.ObjectId -AccountEnabled $false
Microsoft Graph PowerShell を使用してユーザー サインインを無効にする
エンタープライズ アプリの一覧に表示されていなくても、アプリの AppId が既知の場合があります。 たとえば、アプリを削除した場合や、サービス プリンシパルはまだ作成されていないが、Microsoft がそのアプリを事前認証している場合です。 次の Microsoft Graph PowerShell コマンドレットを使用して、アプリのサービス プリンシパルを手動で作成し、その後、無効化することができます。
Microsoft Graph モジュールがインストール済みであることを確認します (コマンド Install-Module Microsoft.Graph
を使用)。 クラウド アプリケーション管理者以上としてサインインする必要があります。
# Connect to Microsoft Graph PowerShell
Connect-MgGraph -Scopes "Application.ReadWrite.All"
# Get the AppId of the service principal to be disabled
$appId = "{AppId}"
$servicePrincipal = Get-MgServicePrincipal -Filter "appId eq '$appId'"
# Disable the service principal
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AccountEnabled:$false
Microsoft Graph API を使用してユーザー サインインを無効にする
エンタープライズ アプリの一覧に表示されていなくても、アプリの AppId が既知の場合があります。 たとえば、アプリを削除した場合や、サービス プリンシパルはまだ作成されていないが、Microsoft がそのアプリを事前認証している場合です。 次の Microsoft Graph 呼び出しを使用して、アプリのサービス プリンシパルを手動で作成し、その後、無効化することができます。
アプリケーションへのサインインを無効にするには、クラウド アプリケーション管理者以上として Graph Explorerにサインインします。
Application.ReadWrite.All
アクセス許可に同意する必要があります。
次のクエリを実行して、アプリケーションへのユーザー サインインを無効にします。
PATCH https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
Content-type: application/json
{
"accountEnabled": false
}