권한 분류 구성

이 문서에서는 Microsoft Entra ID에서 사용 권한 분류를 구성하는 방법에 대해 알아봅니다. 권한 분류를 사용하면 조직의 정책 및 위험 평가에 따라 서로 다른 권한에 적용되는 영향을 식별할 수 있습니다. 예를 들어 동의 정책에서 권한 분류를 사용하여 사용자가 동의할 수 있는 권한 세트를 식별할 수 있습니다.

"낮음", "중간"(미리 보기) 및 "높음"(미리 보기)의 세 가지 권한 분류가 지원됩니다. 현재는 관리자 동의가 필요하지 않은 위임된 권한만 분류할 수 있습니다.

기본 로그인을 수행하는 데 필요한 최소 권한인 openid, profile, emailoffline_access는 모두 Microsoft Graph에 대한 위임된 권한입니다. 이러한 권한을 사용하면 앱에서 로그인한 사용자의 프로필 세부 정보를 읽을 수 있으며, 사용자가 더 이상 앱을 사용하지 않는 경우에도 이 액세스를 유지할 수 있습니다.

필수 조건

권한 분류를 구성하려면 다음이 필요합니다.

  • 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
  • 전역 관리자, 애플리케이션 관리자 또는 클라우드 애플리케이션 관리자 역할 중 하나

권한 분류 관리

이 문서의 단계는 시작하는 포털에 따라 약간 다를 수 있습니다.

Microsoft Entra 관리 센터를 사용하여 권한을 분류하려면 다음 단계를 따릅니다.

  1. 최소한 클라우드 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.
  2. ID>애플리케이션>엔터프라이즈 애플리케이션>동의 및 권한>권한 분류로 이동합니다. .
  3. 업데이트하려는 권한 분류에 대한 탭을 선택합니다.
  4. 다른 권한을 분류하려면 권한 추가를 선택합니다.
  5. API를 선택한 후 위임된 권한을 선택합니다.

이 예에서는 Single Sign-On에 필요한 최소 권한 세트를 분류했습니다.

Permission classifications

최신 Azure AD PowerShell을 사용하여 권한을 분류할 수 있습니다. 권한 분류는 권한을 게시하는 API의 ServicePrincipal 개체에 구성됩니다.

다음 명령을 실행하여 Azure AD PowerShell에 연결합니다. 필수 범위에 동의하려면 최소한 클라우드 애플리케이션 관리자로 로그인합니다.

Connect-AzureAD

Azure AD PowerShell을 사용하여 현재 권한 분류 나열

  1. API의 ServicePrincipal 개체를 검색합니다. 여기서는 Microsoft Graph API의 ServicePrincipal 개체를 검색합니다.

    $api = Get-AzureADServicePrincipal `
        -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
    
  2. API의 위임된 권한 분류를 읽습니다.

    Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
        -ServicePrincipalId $api.ObjectId | Format-Table Id, PermissionName, Classification
    

Azure AD PowerShell을 사용하여 사용 권한을 "낮은 영향"으로 분류

  1. API의 ServicePrincipal 개체를 검색합니다. 여기서는 Microsoft Graph API의 ServicePrincipal 개체를 검색합니다.

    $api = Get-AzureADServicePrincipal `
        -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
    
  2. 분류하려는 위임된 권한을 찾습니다.

    $delegatedPermission = $api.OAuth2Permissions | Where-Object { $_.Value -eq "User.ReadBasic.All" }
    
  3. 권한 이름 및 ID를 사용하여 권한 분류를 설정합니다.

    Add-AzureADMSServicePrincipalDelegatedPermissionClassification `
       -ServicePrincipalId $api.ObjectId `
       -PermissionId $delegatedPermission.Id `
       -PermissionName $delegatedPermission.Value `
       -Classification "low"
    

Azure AD PowerShell을 사용하여 위임된 권한 분류 제거

  1. API의 ServicePrincipal 개체를 검색합니다. 여기서는 Microsoft Graph API의 ServicePrincipal 개체를 검색합니다.

    $api = Get-AzureADServicePrincipal `
        -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
    
  2. 제거하려는 위임된 권한 분류를 찾습니다.

    $classifications = Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
        -ServicePrincipalId $api.ObjectId
    $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "User.ReadBasic.All"}
    
  3. 권한 분류를 삭제합니다.

    Remove-AzureADMSServicePrincipalDelegatedPermissionClassification `
        -ServicePrincipalId $api.ObjectId `
        -Id $classificationToRemove.Id
    

Microsoft Graph PowerShell을 사용하여 권한을 분류할 수 있습니다. 권한 분류는 권한을 게시하는 API의 ServicePrincipal 개체에 구성됩니다.

다음 명령을 실행하여 Microsoft Graph PowerShell에 연결합니다. 필수 범위에 동의하려면 최소한 클라우드 애플리케이션 관리자로 로그인합니다.

Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant".

Microsoft Graph PowerShell을 사용하여 API에 대한 현재 권한 분류 나열

  1. API의 servicePrincipal 개체를 검색합니다.

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. API의 위임된 권한 분류를 읽습니다.

    Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id 
    

Microsoft Graph PowerShell을 사용하여 사용 권한을 "낮은 영향"으로 분류

  1. API의 servicePrincipal 개체를 검색합니다.

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. 분류하려는 위임된 권한을 찾습니다.

    $delegatedPermission = $api.Oauth2PermissionScopes | Where-Object {$_.Value -eq "openid"} 
    
  3. 권한 분류를 설정합니다.

    $params = @{ 
       PermissionId = $delegatedPermission.Id 
       PermissionName = $delegatedPermission.Value 
       Classification = "Low"
    } 
    
    New-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id -BodyParameter $params 
    

Microsoft Graph PowerShell을 사용하여 위임된 권한 분류 제거

  1. API의 servicePrincipal 개체를 검색합니다.

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. 제거하려는 위임된 권한 분류를 찾습니다.

    $classifications = Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id 
    
    $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "openid"}
    
  3. 권한 분류를 삭제합니다.

Remove-MgServicePrincipalDelegatedPermissionClassification -DelegatedPermissionClassificationId $classificationToRemove.Id   -ServicePrincipalId $api.id 

엔터프라이즈 애플리케이션에 대한 권한 분류를 구성하려면 최소한 클라우드 애플리케이션 관리자Graph 탐색기에 로그인합니다.

Policy.ReadWrite.PermissionGrant 권한에 동의해야 합니다.

Microsoft Graph Explorer에서 다음 쿼리를 실행하여 애플리케이션에 대한 위임된 권한 분류를 추가합니다.

Microsoft Graph API를 사용하여 API에 대한 현재 권한 분류 나열

다음 Microsoft Graph API 호출을 사용하여 API에 대한 현재 권한 분류를 나열합니다.

GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/delegatedPermissionClassifications

Microsoft Graph API를 사용하여 사용 권한을 "낮은 영향"으로 분류

다음 예제에서는 사용 권한을 "낮은 영향"으로 분류합니다.

다음 Microsoft Graph API 호출을 사용하여 API에 대한 위임된 권한 분류를 추가합니다.

POST https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/delegatedPermissionClassifications
Content-type: application/json

{
   "permissionId": "b4e74841-8e56-480b-be8b-910348b18b4c",
   "classification": "low"
}

Microsoft Graph API를 사용하여 위임된 권한 분류 제거

Microsoft Graph Explorer에서 다음 쿼리를 실행하여 API에 대한 위임된 권한 분류를 제거합니다.

DELETE https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/delegatedPermissionClassifications/QUjntFaOC0i-i5EDSLGLTAE

다음 단계