애플리케이션 사용자 로그인 사용 안 함
애플리케이션 토큰을 발급하고 싶지 않은 애플리케이션을 구성하거나 관리해야 하는 상황이 있을 수 있습니다. 또는 직원이 액세스하지 못하도록 하려는 애플리케이션을 차단할 수 있습니다. 애플리케이션에 대한 사용자 액세스를 차단하려면 애플리케이션에 대한 사용자 로그인을 사용하지 않도록 설정합니다. 그러면 해당 애플리케이션에 대한 모든 토큰이 발급되지 않습니다.
이 문서에서는 사용자가 Microsoft Entra 관리 센터와 PowerShell을 통해 Microsoft Entra ID의 애플리케이션에 로그인하지 못하도록 방지하는 방법을 알아봅니다. 특정 사용자가 애플리케이션에 액세스하지 못하도록 차단하는 방법을 찾고 있는 경우 사용자 또는 그룹 할당을 사용합니다.
필수 조건
사용자 로그인을 사용하지 않으려면 다음이 필요합니다.
- Microsoft Entra 사용자 계정. 계정이 없다면 무료로 만들 수 있습니다.
- 클라우드 애플리케이션 관리자, 애플리케이션 관리자 또는 서비스 사용자 소유자 역할 중 하나입니다.
Microsoft Entra 관리 센터를 사용하여 사용자 로그인 사용 안 함
팁
이 문서의 단계는 시작하는 포털에 따라 약간 다를 수 있습니다.
- 최소한 클라우드 애플리케이션 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
- ID>애플리케이션>엔터프라이즈 애플리케이션>모든 애플리케이션으로 이동합니다.
- 사용자가 로그인하지 못하도록 설정할 애플리케이션을 검색하고 해당 애플리케이션을 선택합니다.
- 속성을 선택합니다.
- 사용자가 로그인할 수 있도록 설정하시겠습니까?를 아니요로 설정합니다.
- 저장을 선택합니다.
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
}