Wyłączanie logowania użytkownika dla aplikacji

Podczas konfigurowania aplikacji lub zarządzania nią mogą wystąpić sytuacje, w których nie chcesz wystawiać tokenów dla aplikacji. Możesz też zablokować aplikację, do której nie chcesz, aby pracownicy próbowali uzyskać dostęp. Aby zablokować dostęp użytkowników do aplikacji, możesz wyłączyć logowanie użytkownika dla aplikacji, co uniemożliwia wystawianie wszystkich tokenów dla tej aplikacji.

Z tego artykułu dowiesz się, jak uniemożliwić użytkownikom logowanie się do aplikacji w usłudze Microsoft Entra ID za pośrednictwem centrum administracyjnego firmy Microsoft Entra i programu PowerShell. Jeśli szukasz sposobu blokowania dostępu określonych użytkowników do aplikacji, użyj przypisania użytkowników lub grup.

Wymagania wstępne

Aby wyłączyć logowanie użytkownika, potrzebne są następujące elementy:

  • Konto użytkownika Microsoft Entra. Jeśli jeszcze go nie masz, możesz bezpłatnie utworzyć konto.
  • Jedna z następujących ról: administrator globalny, administrator aplikacji w chmurze, administrator aplikacji lub właściciel jednostki usługi.

Wyłączanie logowania użytkownika przy użyciu centrum administracyjnego firmy Microsoft Entra

Napiwek

Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako co najmniej Administracja istrator aplikacji w chmurze.
  2. Przejdź do sekcji Identity>Applications Enterprise Applications>Wszystkie aplikacje.>
  3. Wyszukaj aplikację, którą chcesz wyłączyć podczas logowania użytkownika, a następnie wybierz aplikację.
  4. Wybierz Właściwości.
  5. Wybierz pozycję Nie dla opcji Włączone dla użytkowników, aby się zalogować?.
  6. Wybierz pozycję Zapisz.

Wyłączanie logowania użytkownika przy użyciu programu Azure AD PowerShell

Być może znasz identyfikator AppId aplikacji, która nie jest wyświetlana na liście aplikacji dla przedsiębiorstw. Jeśli na przykład usuniesz aplikację lub jednostka usługi nie została jeszcze utworzona, ponieważ firma Microsoft ją wstępnie uwierzytelnia. Jednostkę usługi dla aplikacji można utworzyć ręcznie, a następnie wyłączyć za pomocą następującego polecenia cmdlet programu PowerShell usługi Azure AD.

Upewnij się, że zainstalowano moduł Programu PowerShell usługi Azure AD (użyj polecenia Install-Module -Name AzureAD). Jeśli zostanie wyświetlony monit o zainstalowanie modułu NuGet lub nowego modułu programu Azure AD PowerShell w wersji 2, wpisz Y i naciśnij klawisz ENTER. Musisz zalogować się jako co najmniej Administracja istrator aplikacji w chmurze.

# Connect to Azure AD PowerShell
Connect-AzureAD -Scopes

# The AppId of the app to be disabled
$appId = "{AppId}"

# Check if a service principal already exists for the app
$servicePrincipal = Get-AzureADServicePrincipal -Filter "appId eq '$appId'"
if ($servicePrincipal) {
    # Service principal exists already, disable it
    Set-AzureADServicePrincipal -ObjectId $servicePrincipal.ObjectId -AccountEnabled $false
} else {
    # Service principal does not yet exist, create it and disable it at the same time
    $servicePrincipal = New-AzureADServicePrincipal -AppId $appId -AccountEnabled $false
}

Wyłączanie logowania użytkownika przy użyciu programu Microsoft Graph PowerShell

Być może znasz identyfikator AppId aplikacji, która nie jest wyświetlana na liście aplikacji dla przedsiębiorstw. Jeśli na przykład usuniesz aplikację lub jednostka usługi nie została jeszcze utworzona z powodu aplikacji, ponieważ firma Microsoft ją wstępnie uwierzytelnia. Jednostkę usługi dla aplikacji można utworzyć ręcznie, a następnie wyłączyć za pomocą następującego polecenia cmdlet programu Microsoft Graph PowerShell.

Upewnij się, że zainstalowano moduł Programu Microsoft Graph (użyj polecenia Install-Module Microsoft.Graph). Musisz zalogować się jako co najmniej Administracja istrator aplikacji w chmurze.

# Connect to Microsoft Graph PowerShell
Connect-MgGraph -Scopes "Application.ReadWrite.All"

# The AppId of the app to be disabled  
$appId = "{AppId}"  

# Check if a service principal already exists for the app 
$servicePrincipal = Get-MgServicePrincipal -Filter "appId eq '$appId'"  

# If Service principal exists already, disable it , else, create it and disable it at the same time 
if ($servicePrincipal) { Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AccountEnabled:$false }  

else {  $servicePrincipal = New-MgServicePrincipal -AppId $appId –AccountEnabled:$false } 

Wyłączanie logowania użytkownika przy użyciu interfejsu API programu Microsoft Graph

Być może znasz identyfikator AppId aplikacji, która nie jest wyświetlana na liście aplikacji dla przedsiębiorstw. Jeśli na przykład usuniesz aplikację lub jednostka usługi nie została jeszcze utworzona z powodu aplikacji, ponieważ firma Microsoft ją wstępnie uwierzytelnia. Możesz ręcznie utworzyć jednostkę usługi dla aplikacji, a następnie ją wyłączyć przy użyciu następującego wywołania programu Microsoft Graph.

Aby wyłączyć logowanie do aplikacji, zaloguj się do Eksploratora programu Graph jako co najmniej Administracja istrator aplikacji w chmurze.

Musisz wyrazić zgodę na Application.ReadWrite.All uprawnienie.

Uruchom następujące zapytanie, aby wyłączyć logowanie użytkownika do aplikacji.

PATCH https://graph.microsoft.com/v1.0/servicePrincipals/2a8f9e7a-af01-413a-9592-c32ec0e5c1a7

Content-type: application/json

{
    "accountEnabled": false
}

Następne kroki