Я успешно зарегистрировал Устройство (Windows 10 Pro версии 1803) в нашем собственном MDM, выполнив аутентификацию пользователя Azure AD. Затем я должен сообщить Azure AD, что устройство управляется нашим MDM, и именно здесь возникает проблема.
patch
то же, что и в документации https://docs.microsoft.com/en-us/windows/client-management/mdm/azure-active-directory-integration-with-mdm#report-device-compliance-to-azure-ad
Я получил ошибку Ресурс 'xyz' не существует или отсутствует один из запрошенных объектов ссылочного свойства..
Что я сделал до сих пор:
OnPremise
, установил URL-адрес условий использования, URL-адрес обнаружения, сгенерировал секрет. Также настроил область пользователей MDM на Some
и выбрал group
, членами которой являются мои пользователи.Bearer Token
и извлекаю идентификатор устройства (например, xyz), который совпадает с идентификатором на портале Azure AD после успешного управления устройством.PATCH https://graph.windows.net/mytenant.onmicrosoft.com/devices/xyz?api-version=1.0 HTTP/1.1
Authorization: Bearer eyJ0eXAiO………
Accept: application/json
Content-Type: application/json
{ "isManaged":true,
"isCompliant":true
}
Но я получил ошибку, описанную выше.
Я также тестировал различные идентификаторы устройств, такие как
тот, который Windows 10 показывает в Settigns => System => About.
Или тот, который присутствует в атрибуте DeviceID элемента ContextItem в запросе Request Security Token во время регистрации.
bearer token
, который я использую в patch
выше, извлекается из графа Microsoft, когда зарегистрированное приложение MDM (используя свои учетные данные, такие как appid, секрет и т. д.) аутентифицирует себя в Azure AD.
Не могли бы вы помочь мне найти источник этой ошибки или, может быть, дать мне несколько советов, чтобы решить эту проблему. Я бы очень признателен.
Заранее спасибо.
deviceId
объекта Устройство в Azure AD часто путают с атрибутом objectId
объекта. (Последний известен как objectId
в Azure AD Graph и как id
в Microsoft Graph. В обоих случаях deviceId
является свойством разные.)
В запросе GET для одного объекта «Устройство» с помощью Azure AD Graph:
GET https://graph.windows.net/{tenant-id}/devices/{object-id}
Поле, обозначенное {object-id}
, — это нет атрибут deviceId
объекта «Устройство», это атрибут objectId
.
Если у вас еще нет значения objectId
объекта «Устройство», но у вас есть делатьdeviceId
, вы можете использовать либо Azure AD Graph, либо Microsoft Graph для выполнения соответствующего поиска. С графиком Azure AD:
GET https://graph.windows.net/{tenant-id}/devices?$filter=deviceId eq '{device-id}'
С Microsoft Graph вы должны использовать:
GET https://graph.microsoft.com/v1.0/devices?$filter=deviceId eq '{device-id}'
да, я использовал идентификатор объекта вместо идентификатора устройства, и это действительно сработало. Большое спасибо (=