停用應用程式的使用者登入
設定或管理應用程式時,可能會有您不想為應用程式發出權杖的情況。 或者,您可能想要封鎖不想讓員工嘗試存取的應用程式。 若要封鎖使用者對應用程式的存取,您可以停用應用程式的使用者登入,這樣可防止對該應用程式發出所有權杖。
在本文中,您會了解如何透過 Microsoft Entra 系統管理中心和 PowerShell,防止使用者登入 Microsoft Entra ID 中的應用程式。 若要尋找如何封鎖特定使用者存取應用程式,請使用使用者或群組指派。
必要條件
若要停用使用者登入,您需要:
- Microsoft Entra 使用者帳戶。 若尚未有帳戶,可以免費建立帳戶。
- 下列其中一個角色:雲端應用程式管理員、應用程式系統管理員或服務主體擁有者。
使用 Microsoft Entra 系統管理中心用使用者登入
提示
根據您開始使用的入口網站,本文中的步驟可能略有不同。
- 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]> [應用程式]> [企業應用程式]> [所有應用程式]。
- 搜尋您想要停用使用者登入的應用程式,然後選取應用程式。
- 選取屬性。
- 為 [啟用使用者登入?] 選取 [否]。
- 選取 [儲存]。
使用 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
}