Поделиться через


Настройка классификаций разрешений

В этой статье описано, как настроить классификации разрешений в идентификаторе Microsoft Entra. Классификации разрешений позволяют определить влияние различных разрешений на основе политик вашей организации и оценки рисков. Например, можно использовать классификации разрешений в политиках согласия для идентификации набора разрешений, которым разрешено согласие пользователей.

Поддерживаются три классификации разрешений: "Низкий", "Средний" (предварительная версия) и "Высокий" (предварительная версия). В настоящее время можно классифицировать только делегированные разрешения, которые не требуют согласия администратора.

Минимальные разрешения, необходимые для базового входа, — openidprofileэто и emailoffline_accessвсе делегированные разрешения на Microsoft Graph. С этими разрешениями приложение может считывать сведения о профиле вошедшего пользователя и поддерживать этот доступ, даже если пользователь больше не использует приложение.

Необходимые условия

Чтобы настроить классификации разрешений, вам потребуется:

Управление классификациями разрешений

Кончик

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Выполните следующие действия, чтобы классифицировать разрешения с помощью Центра администрирования Microsoft Entra:

  1. Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
  2. Перейдите к классификациям> разрешений и разрешений приложений>Identity>Applications>Enterprise.
  3. Выберите вкладку для классификации разрешений, которую вы хотите обновить.
  4. Выберите " Добавить разрешения" , чтобы классифицировать другое разрешение.
  5. Выберите API и выберите один или несколько делегированных разрешений.

В этом примере мы классифицируем минимальный набор разрешений, необходимых для единого входа:

Классификации разрешений

Для классификации разрешений можно использовать последнюю версию Azure AD PowerShell. Классификации разрешений настраиваются в объекте ServicePrincipal API, публикующего разрешения.

Выполните следующую команду, чтобы подключиться к Azure AD PowerShell. Чтобы предоставить согласие на необходимые области, войдите по крайней мере администратор облачных приложений.

Connect-AzureAD

Вывод списка текущих классификаций разрешений с помощью Azure AD PowerShell

  1. Получите объект ServicePrincipal для API. Здесь мы извлекаем объект ServicePrincipal для API Microsoft Graph:

    $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. Получите объект ServicePrincipal для API. Здесь мы извлекаем объект ServicePrincipal для API Microsoft Graph:

    $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. Задайте классификацию разрешений с помощью имени и идентификатора разрешения:

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

Удаление делегированной классификации разрешений с помощью Azure AD PowerShell

  1. Получите объект ServicePrincipal для API. Здесь мы извлекаем объект ServicePrincipal для API Microsoft Graph:

    $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. Классификации разрешений настраиваются в объекте ServicePrincipal API, публикующего разрешения.

Выполните следующую команду, чтобы подключиться к Microsoft Graph PowerShell. Чтобы предоставить согласие на необходимые области, войдите по крайней мере администратор облачных приложений.

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

Вывод списка текущих классификаций разрешений для API с помощью Microsoft Graph PowerShell

  1. Получите объект servicePrincipal для API:

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. Прочитайте классификации делегированных разрешений для API:

    Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id 
    

Классификация разрешения как "Низкое влияние" с помощью Microsoft Graph PowerShell

  1. Получите объект servicePrincipal для API:

    $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. Получите объект servicePrincipal для API:

    $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 Explorer как минимум администратор облачных приложений.

Необходимо предоставить согласие на Policy.ReadWrite.PermissionGrant разрешение.

Выполните следующие запросы в обозревателе Microsoft Graph, чтобы добавить делегированную классификацию разрешений для приложения.

Вывод списка текущих классификаций разрешений для API с помощью API Microsoft Graph

Вывод списка текущих классификаций разрешений для API с помощью следующего вызова API Microsoft Graph.

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

Классификация разрешения как "Низкое влияние" с помощью API Microsoft Graph

В следующем примере мы классифицируем разрешение как "низкое влияние".

Добавьте делегированную классификацию разрешений для API, используя следующий вызов API Microsoft Graph.

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

Удаление делегированной классификации разрешений с помощью API Microsoft Graph

Выполните следующий запрос в обозревателе Microsoft Graph, чтобы удалить делегированную классификацию разрешений для API.

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

Дальнейшие действия