Восстановление удаленного элемента (объекта каталога)
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Восстановите недавно удаленное приложение, externalUserProfile, group, pendingExternalUserProfile, servicePrincipal, административную единицу или объект пользователя из удаленных элементов. Вы можете полностью восстановить случайно удаленный элемент. Это не относится к группам безопасности, которые удаляются без возможности восстановления. Кроме того, восстановление приложения не приводит к автоматическому восстановлению связанного субъекта-службы. Чтобы явно восстановить удаленный субъект-службу, необходимо вызвать этот API.
Недавно удаленный элемент остается доступным в течение 30 дней. Через 30 дней элемент удаляется без возможности восстановления.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
В следующей таблице показаны наименее привилегированные разрешения или разрешения, необходимые для вызова этого API для каждого поддерживаемого типа ресурсов. Следуйте рекомендациям , чтобы запросить разрешения с наименьшими привилегиями. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Поддерживаемый ресурс | Делегированное (рабочая или учебная учетная запись) | Делегированное (личная учетная запись Майкрософт) | Приложение |
---|---|---|---|
administrativeUnit | AdministrativeUnit.ReadWrite.All | Не поддерживается. | AdministrativeUnit.ReadWrite.All |
application | Application.ReadWrite.All | Не поддерживается. | Application.ReadWrite.OwnedBy |
externalUserProfile | ExternalUserProfile.ReadWrite.All | Не поддерживается | ExternalUserProfile.ReadWrite.All |
group | Group.ReadWrite.All | Не поддерживается. | Group.ReadWrite.All |
pendingExternalUserProfile | PendingExternalUserProfile.ReadWrite.All | Не поддерживается | PendingExternalUserProfile.ReadWrite.All |
servicePrincipal | Application.ReadWrite.All | Не поддерживается. | Application.ReadWrite.OwnedBy |
user | User.ReadWrite.All | Не поддерживается. | User.ReadWrite.All |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие роли с наименьшими привилегиями.
- Восстановление удаленных приложений или субъектов-служб: администратор приложений, администратор облачных приложений или администратор гибридных удостоверений.
- Восстановление удаленных пользователей: Администратор пользователей. Однако чтобы восстановить пользователей с привилегированными ролями администратора, выполните следующие действия:
- В делегированных сценариях приложению должно быть назначено делегированное разрешение Directory.AccessAsUser.All , а вызывающему пользователю также должна быть назначена роль администратора с более высоким уровнем привилегий, как указано в разделе Кто может выполнять конфиденциальные действия?.
- В сценариях только для приложений и в дополнение к предоставлению разрешения приложения User.ReadWrite.All приложению должна быть назначена более высокая привилегированная роль администратора, как указано в разделе Кто может выполнять конфиденциальные действия?.
- Чтобы восстановить удаленные группы, Группы администратор. Однако для восстановления групп, назначаемых ролями, вызывающему пользователю должна быть назначена роль администратора привилегированных ролей .
HTTP-запрос
POST /directory/deleteditems/{id}/restore
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json |
Текст запроса
В тексте запроса укажите представление параметров в формате JSON.
В следующей таблице перечислены параметры, необходимые при вызове этого действия.
Параметр | Тип | Описание |
---|---|---|
autoReconcileProxyConflict | Логический | Необязательный параметр. Указывает, следует ли Microsoft Entra ID удалять все конфликтующие прокси-адреса при восстановлении обратимо удаленного пользователя, один или несколько прокси-адресов которого в настоящее время используются для активного пользователя. Используется только для восстановления обратимо удаленного пользователя. Значение по умолчанию для этого параматера — false . |
Отклик
В случае успеха этот метод возвращает код отклика 200 OK
и объект directoryObject в тексте отклика.
Пример
Запрос
POST https://graph.microsoft.com/beta/directory/deleteditems/46cc6179-19d0-473e-97ad-6ff84347bbbb/restore
Отклик
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#directoryObjects/$entity",
"@odata.type":"#microsoft.graph.group",
"id":"46cc6179-19d0-473e-97ad-6ff84347bbbb",
"displayName":"SampleGroup",
"groupTypes":["Unified"],
"mail":"example@contoso.com",
"mailEnabled":true,
"mailNickname":"Example",
"securityEnabled":false,
"visibility":"Public"
}
Запрос
POST https://graph.microsoft.com/beta/directory/deleteditems/78bf875b-9343-4edc-9130-0d3958113563/restore
Content-Type: application/json
{
"autoReconcileProxyConflict": true
}
Отклик
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
"id": "78bf875b-9343-4edc-9130-0d3958113563",
"businessPhones": [],
"displayName": "SampleUser",
"givenName": "Sample",
"jobTitle": "Product Marketing Manager",
"mail": "sampleuser@contoso.com",
"mobilePhone": "+1 425 555 0109",
"officeLocation": "18/2111",
"preferredLanguage": "en-US",
"surname": "Vance",
"userPrincipalName": "sampleuser@contoso.com"
}