Настройка классификации разрешений
В этой статье описано, как настроить классификации разрешений в идентификаторе 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