«Обновленный» тип уведомления для удаленного пользователя Microsoft Graph - PullRequest
0 голосов
/ 15 января 2019

После удаления пользователь из Active Directory (AD) получил это уведомление (используя подписку Microsoft Graph):

{
  "value": [
{
  "changeType": "updated",
  "clientState": null,
  "resource": "Users/{user-id}",
  "resourceData": {
    "@odata.type": "#Microsoft.Graph.User",
    "@odata.id": "Users/{user-id}",
    "id": "{user-id}",
    "organizationId": "{organisation-id}",
    "sequenceNumber": hidden
  },
  "subscriptionExpirationDateTime": "2019-01-17T12:48:43.7825578+00:00",
  "subscriptionId": "hidden",
  "tenantId": "hidden"
}
]
}

Далее попытался получить этого пользователя из Microsoft Graph

/GET https://graph.microsoft.com/v1.0/users/{user-id}

И получил

{
  "error": {
  "code": "Request_ResourceNotFound",
  "message": "Resource '{user-id}' does not exist or one of its queried reference-property objects are not present.",
  "innerError": {
  "request-id": "{user-id}",
  "date": "2019-01-15T13:41:49"
   }
  }
}

почему пришло уведомление с changeType = "updated", если пользователь не существует?

1 Ответ

0 голосов
/ 15 января 2019

Когда пользователь удаляется из каталога, он «мягко удаляется» (что означает, что к объекту все еще можно получить доступ - см. Ниже и восстановлен). Этот тип изменений моделируется как «обновление». Мы планируем улучшить это в будущих версиях.

Ресурс будет окончательно удален (обычно через 30 дней), и когда это произойдет, вы увидите «удаленное» уведомление.

Пользователям с мягким удалением нельзя получить доступ с помощью users/id - следовательно, вы видите ошибку.

Однако к программно удаленным ресурсам в Azure AD можно получить доступ с помощью специального deletedItems API:

https://docs.microsoft.com/en-us/graph/api/directory-deleteditems-get?view=graph-rest-1.0

...