停用應用程式的使用者登入

設定或管理應用程式時,可能會有您不想為應用程式發出令牌的情況。 或者,您可能想要封鎖不想讓員工嘗試存取的應用程式。 若要封鎖使用者對應用程式的存取,您可以停用應用程式的使用者登入,以防止針對該應用程式發出所有令牌。

在本文中,您將瞭解如何防止使用者透過 Microsoft Entra 系統管理中心和 PowerShell 登入 Microsoft Entra ID 中的應用程式。 如果您要尋找如何封鎖特定使用者存取應用程式,請使用 使用者或群組指派

必要條件

若要停用使用者登入,您需要:

  • Microsoft Entra 用戶帳戶。 如果您還沒有帳戶,您可以 免費建立帳戶。
  • 下列其中一個角色:全域管理員、雲端應用程式管理員、應用程式管理員或服務主體的擁有者。

使用 Microsoft Entra 系統管理中心停用使用者登入

提示

本文中的步驟可能會根據您從開始的入口網站稍有不同。

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 流覽至 [身分>識別應用程式>企業應用程式>] [所有應用程式]。
  3. 搜尋您想要停用使用者登入的應用程式,然後選取應用程式。
  4. 選取屬性
  5. 針對 [已啟用] 選取 [否],讓使用者登入?
  6. 選取 [儲存]。

使用 Azure AD PowerShell 停用使用者登入

您可能會知道未出現在企業應用程式清單上的 AppId。 例如,如果您刪除應用程式或服務主體尚未建立,因為 Microsoft 會預先授權它。 您可以手動建立應用程式的服務主體,然後使用下列 Azure AD PowerShell Cmdlet 加以停用。

請確定您已安裝 Azure AD PowerShell 模組 (使用 命令 Install-Module -Name AzureAD)。 如果系統提示您安裝 NuGet 模組或新的 Azure AD PowerShell V2 模組,請輸入 Y,然後按 ENTER。 您必須至少以雲端應用程式 管理員 istrator 身分登入。

# 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
}

使用 Microsoft Graph PowerShell 停用使用者登入

您可能會知道未出現在企業應用程式清單上的 AppId。 例如,如果您刪除應用程式或服務主體尚未建立,因為 Microsoft 會預先授權應用程式。 您可以手動建立應用程式的服務主體,然後使用下列 Microsoft Graph PowerShell Cmdlet 加以停用。

請確定您安裝 Microsoft Graph 模組 (使用 命令 Install-Module Microsoft.Graph)。 您必須至少以雲端應用程式 管理員 istrator 身分登入。

# 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 } 

使用 Microsoft Graph API 停用使用者登入

您可能會知道未出現在企業應用程式清單上的 AppId。 例如,如果您刪除應用程式或服務主體尚未建立,因為 Microsoft 會預先授權應用程式。 您可以手動建立應用程式的服務主體,然後使用下列 Microsoft Graph 呼叫加以停用。

若要停用應用程式的登入,請至少以 Cloud Application 管理員 istrator 身分登入 Graph 總管。

您必須同意 Application.ReadWrite.All 許可權。

執行下列查詢以停用使用者登入應用程式。

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

Content-type: application/json

{
    "accountEnabled": false
}

下一步