Создание ManagedAppPolicies Beta Microsoft Graph API не работает с разрешениями приложения
Я пытаюсь создать политику защиты приложений Intune. Я попытался сделать это из приведенных ниже API, но ни один из них не работает: POST /managedAppPolicies/ - при создании управляемой политики (пробовал как для iOS, так и для Android) - возвращает 401 Unauthorized.
Пример запроса на создание политики управляемого приложения:
POST /managedAppPolicies/
Request Body :
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#managedAppPolicies/$entity",
"@odata.type": "#microsoft.graph.iosManagedAppProtection",
"displayName": "Test IOS Policy",
"description": "test",
"periodOfflineBeforeAccessCheck": "PT12H",
"periodOnlineBeforeAccessCheck": "PT30M",
"allowedInboundDataTransferSources": "allApps",
"allowedOutboundDataTransferDestinations": "allApps",
"organizationalCredentialsRequired": false,
"allowedOutboundClipboardSharingLevel": "allApps",
"dataBackupBlocked": true,
"deviceComplianceRequired": true,
"managedBrowserToOpenLinksRequired": false,
"saveAsBlocked": false,
"periodOfflineBeforeWipeIsEnforced": "P90D",
"pinRequired": true,
"maximumPinRetries": 5,
"simplePinBlocked": false,
"minimumPinLength": 4,
"pinCharacterSet": "any",
"allowedDataStorageLocations": [
"oneDriveForBusiness",
"sharePoint"
],
"contactSyncBlocked": false,
"printBlocked": false,
"fingerprintBlocked": false,
"targetedSecurityGroupIds": [ "valid directory group id 1",
"valid directory group id 2" ],
"appDataEncryptionType": "whenDeviceLocked"
}
Ответ: 401 Несанкционированный
{
"error": {
"code": "UnknownError",
"message": "{\"ErrorCode\":\"Forbidden\",\"Message\":\"An error has occurred - Operation ID (for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: f932cecd-028f-42ea-9464-abf6e04f9ede - Url: https://fef.amsua0502.manage.microsoft.com/MAMAdmin/MAMAdminFEService/managedAppPolicies?api-version=2016-06-16 - CustomApiErrorPhrase: \",\"Target\":null,\"Details\":null,\"InnerError\":null,\"InstanceAnnotations\":[]}",
"innerError": {
"request-id": "f932cecd-028f-42ea-9464-abf6e04f9ede",
"date": "2017-03-03T17:44:10"
}
} }
Я создал веб-приложение на портале Azure, а также дал DeviceManagementApps.ReadWrite.All разрешение для моего приложения. Access_token был программно получен с помощью
https://login.microsoftonline.com/<tenantid>/oauth2/token
где его можно получить в контексте приложения, а не предоставлять учетные данные пользователя в веб-форме (метод предоставления пользователем)
PS Я удостоверился, что access_token, сгенерированный из clientid и secret, является правильным, так как тот же токен работает, когда используется для поиска групп в Azure
GET https://graph.microsoft.com/beta/groups?$filter=startswith(displayName,%27test users%27)
2 ответа
Похоже, что пользователю не дают лицензию Intune. Не могли бы вы попытаться предоставить лицензию вашему пользователю, работающему в RBAC?
Я работаю в команде Microsoft Intune, особенно над интеграцией Microsoft Intune и Microsoft Graph.
Мне удалось найти сообщение об ошибке в нашем журнале, и на основании вашего сообщения выясняется, что вы пытаетесь использовать токен только для приложения (без учетных данных пользователя), в настоящее время API-интерфейсы Microsoft Intune, предоставляемые через Microsoft Graph, поддерживают только приложение. + пользовательские токены (требуются учетные данные пользователя).
Надеюсь это поможет
Питер