共用方式為


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

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

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

必要條件

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

  • Microsoft Entra 使用者帳戶。 若尚未有帳戶,可以免費建立帳戶
  • 下列其中一個角色:雲端應用程式管理員、應用程式系統管理員或服務主體擁有者。

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

提示

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

  1. 以至少 雲端應用程式系統管理員 的身分登入 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。 您必須至少以雲端應用程式管理員的身分登入。

# 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 命令)。 您必須至少以雲端應用程式管理員的身分登入。

# 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 呼叫加以停用。

若要停用應用程式的登入,請至少以雲端應用程式管理員的身分登入 Graph 總管

您必須同意 Application.ReadWrite.All 權限。

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

PATCH https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444

Content-type: application/json

{
    "accountEnabled": false
}

下一步