Настройка классификаций разрешений
В этой статье описано, как настроить классификации разрешений в идентификаторе Microsoft Entra. Классификации разрешений позволяют определить влияние различных разрешений на основе политик вашей организации и оценки рисков. Например, можно использовать классификации разрешений в политиках согласия для идентификации набора разрешений, которым разрешено согласие пользователей.
Поддерживаются три классификации разрешений: "Низкий", "Средний" (предварительная версия) и "Высокий" (предварительная версия). В настоящее время можно классифицировать только делегированные разрешения, которые не требуют согласия администратора.
Минимальные разрешения, необходимые для базового входа, — openid
profile
это и email
offline_access
все делегированные разрешения на Microsoft Graph. С этими разрешениями приложение может считывать сведения о профиле вошедшего пользователя и поддерживать этот доступ, даже если пользователь больше не использует приложение.
Необходимые условия
Чтобы настроить классификации разрешений, вам потребуется:
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Одна из следующих ролей: администратор приложений или администратор облачных приложений
Управление классификациями разрешений
Кончик
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
Выполните следующие действия, чтобы классифицировать разрешения с помощью Центра администрирования Microsoft Entra:
- Войдите в Центр администрирования Microsoft Entra как минимум администратор облачных приложений.
- Перейдите к классификациям> разрешений и разрешений приложений>Identity>Applications>Enterprise.
- Выберите вкладку для классификации разрешений, которую вы хотите обновить.
- Выберите " Добавить разрешения" , чтобы классифицировать другое разрешение.
- Выберите API и выберите один или несколько делегированных разрешений.
В этом примере мы классифицируем минимальный набор разрешений, необходимых для единого входа:
Для классификации разрешений можно использовать последнюю версию Azure AD PowerShell. Классификации разрешений настраиваются в объекте ServicePrincipal API, публикующего разрешения.
Выполните следующую команду, чтобы подключиться к Azure AD PowerShell. Чтобы предоставить согласие на необходимые области, войдите по крайней мере администратор облачных приложений.
Connect-AzureAD
Вывод списка текущих классификаций разрешений с помощью Azure AD PowerShell
Получите объект ServicePrincipal для API. Здесь мы извлекаем объект ServicePrincipal для API Microsoft Graph:
$api = Get-AzureADServicePrincipal ` -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
Прочитайте классификации делегированных разрешений для API:
Get-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId | Format-Table Id, PermissionName, Classification
Классификация разрешения как "Низкое влияние" с помощью Azure AD PowerShell
Получите объект ServicePrincipal для API. Здесь мы извлекаем объект ServicePrincipal для API Microsoft Graph:
$api = Get-AzureADServicePrincipal ` -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
Найдите делегированное разрешение, который вы хотите классифицировать:
$delegatedPermission = $api.OAuth2Permissions | Where-Object { $_.Value -eq "User.ReadBasic.All" }
Задайте классификацию разрешений с помощью имени и идентификатора разрешения:
Add-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId ` -PermissionId $delegatedPermission.Id ` -PermissionName $delegatedPermission.Value ` -Classification "low"
Удаление делегированной классификации разрешений с помощью Azure AD PowerShell
Получите объект ServicePrincipal для API. Здесь мы извлекаем объект ServicePrincipal для API Microsoft Graph:
$api = Get-AzureADServicePrincipal ` -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
Найдите делегированную классификацию разрешений, которую вы хотите удалить:
$classifications = Get-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "User.ReadBasic.All"}
Удалите классификацию разрешений:
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
Получите объект servicePrincipal для API:
$api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
Прочитайте классификации делегированных разрешений для API:
Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id
Классификация разрешения как "Низкое влияние" с помощью Microsoft Graph PowerShell
Получите объект servicePrincipal для API:
$api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
Найдите делегированное разрешение, который вы хотите классифицировать:
$delegatedPermission = $api.Oauth2PermissionScopes | Where-Object {$_.Value -eq "openid"}
Задайте классификацию разрешений:
$params = @{ PermissionId = $delegatedPermission.Id PermissionName = $delegatedPermission.Value Classification = "Low" } New-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id -BodyParameter $params
Удаление делегированной классификации разрешений с помощью Microsoft Graph PowerShell
Получите объект servicePrincipal для API:
$api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
Найдите делегированную классификацию разрешений, которую вы хотите удалить:
$classifications = Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "openid"}
Удалите классификацию разрешений:
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