Table of contents
TOC
Свернуть оглавление
Развернуть оглавление

Административные единицы (предварительная версия) | Основные понятия API Graph

Bryan Lamos|Последнее обновление: 03.09.2016
|
1 Участник

Область применения: API Graph | Azure Active Directory (AD)

Обзор и необходимые компоненты

Административная единица представляет собой концептуальный контейнер для объектов каталога пользователей и групп, который позволяет делегировать разрешения административным ролям в административной единице с более высокой степенью детализации (т. е. по отделам, регионам и т. д.). В этом разделе приводится описание объявленных свойств и свойств навигации, предоставляемых сущностью AdministrativeUnit, а также операций и функций, которые могут вызываться в ресурсе OData administrativeUnits.

Важно

Доступ к функциональным возможностям API Graph Azure AD можно получить и через Microsoft Graph — универсальный API, который также включает API других служб Майкрософт, таких как Outlook, OneDrive, OneNote, Планировщик и Office Graph, и позволяет получать к ним доступ через единую конечную точку с маркером единого доступа. Обратите внимание на то, что в настоящее время Microsoft Graph не поддерживает административные единицы; для работы с этой функцией необходимо использовать API Graph Azure AD.

Для использования предварительной версии административной единицы также требуется знакомство с конфигурацией приложений и проверкой подлинности Azure AD. Если вы не знакомы с понятиями, связанными с проверкой подлинности Azure AD и (или) процедурой проверки подлинности, необходимой для того, чтобы приложение могло получить доступ к клиенту, см. статью Сценарии проверки подлинности для Azure AD и, в частности, разделы Основы регистрации приложения в Azure AD и Интеграция приложений с Azure Active Directory.

Прежде чем переходить к следующим разделам, изучите основную статью API Graph Azure Active Directory на сайте Azure.com, а также перечисленные ниже статьи об API Graph, где вы найдете дополнительные важные и полезные сведения:

  1. Управление версиями API Graph Azure AD

    Важно. В настоящее время функция административной единицы доступна только в предварительной версии. Чтобы использовать функции предварительной версии, укажите для параметра строки запроса api-version значение beta, например: https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta

    Вы можете создавать и использовать административные единицы, только если включите Azure Active Directory Premium. Дополнительные сведения см. в статье Начало работы с Azure Active Directory Premium.

  2. Краткое руководство по API Graph Azure AD на Azure.com

  3. Общие сведения об операциях API Graph

  4. Поддерживаемые параметры запросов, фильтров и разбиения на страницы

Пространство имен и наследование

Пространство имен: Microsoft.DirectoryServices

Базовый тип: DirectoryObject

Свойства

Сущность AdministrativeUnit поддерживает следующие свойства:

Объявленные свойства

ИмяTypeCreate(POST)Read(GET)Update(PATCH)Описание
descriptionEdm.StringНеобязательноНеобязательноНеобязательное описание для административной единицы.
displayNameEdm.StringОбязательноеФильтруемыйНеобязательноОтображаемое имя административной единицы.

Свойства навигации

ИмяКратность "От"КомуКратность "Кому"Описание
члены*Пользователь или группа*Элементы, назначенные административной единицей. Это могут быть пользователи или группы. Наследуется от DirectoryObject.
scopedAdministrators*ScopedRoleMembership*Администраторы, назначенные заданной роли (ролям) в административной единице.

Примечание. Несмотря на то что сущность DirectoryObject поддерживает другие свойства навигации, включая memberOf, owners и ownedObjects, эти свойства недопустимы для административной единицы. При отправке запроса о любом из этих свойств возвращается ответ 400 — Ошибочный запрос с соответствующими сообщениями об ошибках.

Адресация

Адресация может затрагивать коллекцию административных единиц в каталоге, отдельную административную единицу или связанные ресурсы, доступные через поддерживаемые свойства навигации административной единицы. В примерах из таблицы для обращения используется домен клиента. Другие способы адресации клиента см. в статье Адресация сущностей и операций в API Graph.

АртефактФрагмент URL-адресаПример
Набор ресурсов (все административные единицы)/administrativeUnitshttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta
Один ресурс (административная единица)/administrativeUnits/{objectId}https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/12345678-9abc-def0-1234-56789abcde?api-version=beta
Связанные ресурсы через свойство навигации/administrativeUnits/{objectId}/$links/{property-name}https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/12345678-9abc-def0-1234-56789abcde/$links/members?api-version=beta

Примечание. В приведенном выше разделе "Свойства навигации" приводится список свойств навигации, которые можно использовать вместо значения {property-name}. Чтобы получить сами объекты, на которые ссылается свойство навигации, а не ссылки на эти объекты, удалите сегмент $links из пути к ресурсу в URI. Для адресации административной единицы можно также использовать стандартные объекты каталога, заменив administrativeUnits в пути к ресурсу в URI на directoryObjects.

Более подробные сведения о запросе объектов каталогов см. в статьях Стандартные запросы Azure AD API Graph и Разностный запрос Azure AD API Graph.

Поддерживаемые операции — administrativeUnits

В этом разделе определяются операции, поддерживаемые в наборе ресурсов administrativeUnits. Как уже говорилось, для начала следует ознакомиться с разделами статьи Обзор и необходимые компоненты и разобраться в основах API Graph, которые относятся ко всем сущностям, таким как правильное форматирование URL-адресов, адресация сущностей и операций, управление версиями и многое другое.

Для каждой из указанных ниже операций:

  • Субъект, выполняющий операцию, должен принадлежать к роли администратора с разрешениями на изменение ресурсов administrativeUnits с помощью запросов PATCH, POST и DELETE, а также на чтение объектов с помощью запросов GET.

  • Заполнитель contoso.onmicrosoft.com следует заменять на домен вашего клиента Azure Active Directory, а {objectId} — на идентификатор типа ресурса, указанный в URL-адресе.

  • Каждый запрос должен включать заголовки HTTP-запроса, указанные в приведенной ниже таблице.

Заголовок запросаОписание
АвторизацияОбязательный параметр. Токен носителя, выданный службой Azure Active Directory. Дополнительные сведения см. в статье Сценарии проверки подлинности в Azure AD.
Content-TypeОбязательный параметр. Тип носителя содержимого для текста запроса, например application/json.
Content-LengthОбязательный параметр. Длина запроса в байтах.


Первые четыре из перечисленных ниже операций используются для управления созданием, извлечением, обновлением и удалением сущностей AdministrativeUnit. В последующих операциях используются свойства навигации members и scopedAdministrators, предназначенные для управления соответственно элементами User/Group сущности AdminstrativeUnit и набором заданных администраторов (с помощью сущности ScopedRoleMembership), имеющих административный контроль над сущностью AdministrativeUnit.

Создать административную единицу

Используется для создания новой сущности AdministrativeUnit.

Метод HTTPURI запроса
POSThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta

В теле запроса указывается необходимый параметр displayName и необязательные свойства description:

{
  "displayName":"Central Region",
  "description":"Administrators responsible for the Central region."
}

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа будет выглядеть следующим образом:

{
   "odata.metadata":https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.AdministrativeUnit/@Element",
   "odata.type":"Microsoft.DirectoryServices.AdministrativeUnit",
   "objectType":"AdministrativeUnit",
   "objectId":"ca1a80f3-ac25-429b-a1e9-0f1eb87cc30b",
   "deletionTimestamp":null,
   "displayName":"Central Region",
   "description":"Administrators responsible for the Central region."
}

Получение административных единиц

Используется для извлечения определенной сущности AdministrativeUnit с помощью {objectId}, подмножества сущностей с помощью фильтрации по свойству displayName (см. статью Поддерживаемые запросы, фильтры и операции разбиения на страницы в API Graph Azure AD) или списка всех доступных сущностей. Приведенные ниже примеры запросов и ответов демонстрируют запросы к определенной и ко всем административным единицам соответственно.

Метод HTTPURI запроса
GEThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}?api-version=beta
GEThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа будет выглядеть как в одном из следующих примеров:

{
   "odata.metadata":https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.AdministrativeUnit/@Element",
   "odata.type":"Microsoft.DirectoryServices.AdministrativeUnit",
   "objectType":"AdministrativeUnit",
   "objectId":"ca1a80f3-ac25-429b-a1e9-0f1eb87cc30b",
   "deletionTimestamp":null,
   "displayName":"Central Region",
   "description":"Administrators responsible for the Central region."
}
{
   "odata.metadata":https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.AdministrativeUnit/",
   "value":
   [
      {
      "odata.type":"Microsoft.DirectoryServices.AdministrativeUnit",
      "objectType":"AdministrativeUnit",
      "objectId":"ca1a80f3-ac25-429b-a1e9-0f1eb87cc30b",
      "deletionTimestamp":null,
      "displayName":"Central Region",
      "description":"Administrators responsible for the Central region."
      },
      {
      "odata.type":"Microsoft.DirectoryServices.AdministrativeUnit",
      "objectType":"AdministrativeUnit",
      "objectId":"455b7304-b245-4d58-95c4-1797c32c80db",
      "deletionTimestamp":null,
      "displayName":"East Coast Region",
      "description":"East Coast Two"
      }
   ]
}

Обновление административной единицы

Используется для обновления одного или нескольких свойств в сущности AdministrativeUnit.

Метод HTTPURI запроса
PATCHhttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}?api-version=beta

В тексте запроса указывается одно или оба свойства сущности AdministrativeUnit:

{ 
  "displayName":"Central Region Administrators"
}

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа не содержит ответ OData.

Удаление административной единицы

Используется для удаления сущности AdministrativeUnit, указанной с помощью параметра {objectId}.

Метод HTTPURI запроса
DELETEhttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа не содержит ответ OData.

Операции, описанные ниже, реализуются с помощью свойства навигации members, которое позволяет управлять элементами пользователей или групп сущности AdminstrativeUnit. Как уже говорилось, сегмент ресурса $links позволяет обходить или изменять сопоставление (или связь) между двумя ресурсами, например между сущностью administrativeUnit и ресурсом User или Group.

Добавление элементов в административную единицу

Используется для добавления элементов ресурса user или group в сущность AdministrativeUnit.

Метод HTTPURI запроса
POSThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/?api-version=beta

В этом примере в тексте запроса указан URL-адрес элемента, который нужно добавить в сущность administrativeUnit (в данном случае это ресурс users). Можно также указать directoryObjects в сегменте типа ресурса вместо users, так как сущность User наследуется из сущности DirectoryObject. Это верно и при работе с сегментом ресурса groups.

{
  "url":" https://graph.windows.net/contoso.onmicrosoft.com/users/a1daa894-ff32-4839-bb6a-d7a4210fc96a"
}

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа не содержит ответ OData.

Получение элементов административной единицы

Используется для извлечения элементов ресурса user или group из сущности AdministrativeUnit. Обратите внимание на то, что элементы можно получить с помощью любой из указанных ниже операций GET. Первая из них возвращает URL-адреса элементов, а вторая — свойства этих элементов. В обоих случаях сегмент {memberObjectId} можно указывать вне зависимости от того, что вам нужно получить — определенный элемент или набор элементов.

Метод HTTPURI запроса
GEThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/{memberObjectId}?api-version=beta
GEThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/members/{memberObjectId}?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. В первом примере показан текст ответа для операции с использованием сегмента $links, предназначенный для получения всех элементов (т. е. параметр {memberObjectId} не указан) и содержащий два типа ресурсов — User и Group. Во втором показан ответ для того же примера, но без сегмента $links.

{
   "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/$links/members",
   "value":
   [
      {
      "url":"https://graph.windows.net/contoso.onmicrosoft.com/directoryObjects/a1daa894-ff32-4839-bb6a-d7a4210fc96a/Microsoft.DirectoryServices.User"
      },
      {
      "url":"https://graph.windows.net/contoso.onmicrosoft.com/directoryObjects/a0ab9340-2b20-4b3f-8672-bf1a2f141f91/Microsoft.DirectoryServices.Group"
      }
   ]
}
{
   "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects",
   "value":
   [
      {
      "odata.type":"Microsoft.DirectoryServices.User",
      "objectType":"User",
      "objectId":"a1daa894-ff32-4839-bb6a-d7a4210fc96a",
      "deletionTimestamp":null,
      "acceptedAs":null,
      "acceptedOn":null,
      "accountEnabled":true,
      "alternativeSecurityIds":[],
      "alternativeSignInNames":[admin@contoso.com],
      "alternativeSignInNamesInfo":[],
      "appMetadata":null,
      "assignedLicenses":[],
      "assignedPlans":[],
      "city":"Redmond",
      "cloudSecurityIdentifier":"S-1-12-6-2715461780-1211760434-2765580987-1791561505",
      "companyName":null,
      "country":null,
      "creationType":null,
      "department":null,
      "dirSyncEnabled":null,
      "displayName":"Jon Doe",
      "extensionAttribute1":null,
      "extensionAttribute2":null,
      "extensionAttribute3":null,
      "extensionAttribute4":null,
      "extensionAttribute5":null,
      "extensionAttribute6":null,
      "extensionAttribute7":null,
      "extensionAttribute8":null,
      "extensionAttribute9":null,
      "extensionAttribute10":null,
      "extensionAttribute11":null,
      "extensionAttribute12":null,
      "extensionAttribute13":null,
      "extensionAttribute14":null,
      "extensionAttribute15":null,
      "facsimileTelephoneNumber":null,
      "givenName":"Jon",
      "immutableId":null,
      "invitedOn":null,
      "inviteReplyUrl":[],
      "inviteResources":[],
      "inviteTicket":[],
      "isCompromised":null,
      "jobTitle":null,
      "jrnlProxyAddress":null,
      "lastDirSyncTime":null,
      "mail":null,
      "mailNickname":"admin",
      "mobile":null,
      "netId":"100300008001EE6E",
      "onPremisesSecurityIdentifier":null,
      "otherMails":[jon@doe.com],
      "passwordPolicies":null,
      "passwordProfile":null,
      "physicalDeliveryOfficeName":null,
      "postalCode":"98052",
      "preferredLanguage":"en-US",
      "primarySMTPAddress":null,
      "provisionedPlans":[],
      "provisioningErrors":[],
      "proxyAddresses":[],
      "releaseTrack":null,
      "searchableDeviceKey":[],
      "selfServePasswordResetData":null,
      "sipProxyAddress":null,
      "smtpAddresses":[],
      "state":"WA",
      "streetAddress":
      "One Microsoft Way",
      "surname":"Doe",
      "telephoneNumber":"(123) 456-7890",
      "usageLocation":"US",
      "userPrincipalName":admin@constoso.com,
      "userState":null,
      "userStateChangedOn":null,
      "userType":"Member"      
      },
      { 
      "odata.type":"Microsoft.DirectoryServices.Group",
      "objectType":"Group",
      "objectId":"a0ab9340-2b20-4b3f-8672-bf1a2f141f91",
      "deletionTimestamp":null,
      "appMetadata":null,
      "cloudSecurityIdentifier":"S-1-12-6-2695598912-1262431008-448754310-2434733103",
      "description":null,
      "dirSyncEnabled":null,
      "displayName":"Group for users in Central Region Administrative Unit",
      "exchangeResources":[],
      "groupType":null,
      "isPublic":null,
      "lastDirSyncTime":null,
      "licenseAssignment":[],
      "mail":null,
      "mailEnabled":false,
      "mailNickname":"CentralUsers",
      "onPremisesSecurityIdentifier":null,
      "provisioningErrors":[],
      "proxyAddresses":[],
      "securityEnabled":true,
      "sharepointResources":[],
      "targetAddress":null,
      "wellKnownObject":null     
      }
   ]
}

Удаление элементов из административной единицы

Используется для удаления элементов ресурса user или group из сущности administrativeGroup. Поскольку members — это многозначное свойство навигации, URL-адрес запроса должен содержать {objectId} элемента или ссылки для удаления.

Метод HTTPURI запроса
DELETEhttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/{objectId}?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа не содержит ответ OData.

Для назначения административной единицы администраторы размещаются в роли, выделенной этой административной единице. Остальные операции в этом разделе реализуются с помощью свойства навигации scopedAdministrators, которое обеспечивает управление набором администраторов, имеющих административный контроль над сущностью AdministrativeUnit, с помощью выделенной роли.

Добавление администратора с выделенной ролью в административную единицу

Используется для добавления администратора в роль, которая будет выделена administrativeUnit, с помощью сущности ScopedRoleMembership и свойства навигации scopedAdministrators. В этом примере операция включает два действия:

  1. Заполняет новый элемент ScopedRoleMembership (НЕ представляющий собой адресуемый ресурс OData), который устанавливает связь между сущностью AdministrativeUnit, выделенной административной единице ролью DirectoryRole и элементом user с правами администратора.

  2. Устанавливает связь свойств навигации между сущностью AdministrativeUnit и новым элементом ScopedRoleMembership.

Метод HTTPURI запроса
POSThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/scopedAdministrators?api-version=beta

В теле запроса указываются следующие свойства сущности ScopedRoleMembership:

  • roleObjectId — objectId требуемой роли DirectoryRole. Примечание. В настоящее время допустимы только роли HelpDeskAdministrators и UserAccountAdministrator.

  • roleMemberInfo — структура, которая идентифицирует административного пользователя: objectId – objectId пользователя User с правами администратора.

  • objectId – objectId пользователя User с правами администратора.

{
   "roleObjectId":"4bae1c93-ef8c-4907-83c8-1e1c1fd2e2c1",
   "roleMemberInfo":{
      "objectId":"a142bb2d-df81-4066-af91-f63e4aba9e5f"}
}

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа будет выглядеть следующим образом:

{
   "odata.metadata":https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.AdministrativeUnit/@Element",
   "id":"kxyuS4zvB0mDyB4cH9Liwf2cwDwjVAJAhbgHDWCmP-Itu0Khgd9mQK-R9j5Kup5fU",
   "roleObjectId":"4bae1c93-ef8c-4907-83c8-1e1c1fd2e2c1",
   "administrativeUnitObjectId":"3cc09cfd-5423-4002-85b8-070d60a63fe2",
   "roleMemberInfo":{"objectId":"a142bb2d-df81-4066-af91-f63e4aba9e5f",
      "displayName":"Bryan",
      "userPrincipalName":BryanL@contoso.com
      }
}

Получение администратора с выделенной ролью в административную единицу

Используется для получения списка администраторов в выделенных ролях для ресурса administrativeUnit, таких как сущности ScopedRoleMembership. Обратите внимание на то, что сегмент {scopedRoleMemberId} можно указывать или нет в зависимости от того, что вам нужно получить — определенный элемент или набор элементов.

Метод HTTPURI запроса
GEThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/scopedAdministrators/{scopedRoleMemberId}?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Представленный ниже текст ответа демонстрирует запрос для всех элементов.

{ 
   "odata.metadata":https://graph.windows.net/contoso.onmicrosoft.com /$metadata#scopedRoleMemberships,
   "value":
   [
      {
      "id":"kxyuS4zvB0mDyB4cH9Liwf2cwDwjVAJAhbgHDWCmP-Itu0Khgd9mQK-R9j5Kup5fU",
      "roleObjectId":"4bae1c93-ef8c-4907-83c8-1e1c1fd2e2c1",
      "administrativeUnitObjectId":"3cc09cfd-5423-4002-85b8-070d60a63fe2",
      "roleMemberInfo":
         {
         "objectId":"a142bb2d-df81-4066-af91-f63e4aba9e5f",
         "displayName":"Bryan",
         "userPrincipalName":BryanL@contoso.com
         }
      }            
   ]
}

Удаление администратора с выделенной ролью из административной единицы

Используется для удаления ScopedRoleMembership из ресурса administrativeUnit, заданного с помощью сегмента {scopedRoleMemberId}.

Метод HTTPURI запроса
DELETEhttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/scopedAdministrators/{scopedRoleMemberId}?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Текст ответа не содержит ответ OData.

Поддерживаемые операции — пользователи и группы

В этом разделе описываются новые поддерживаемые операции с ресурсами users и groups, которые обеспечивают поддержку ресурсов administrativeUnit.

См. полную общедоступную документацию по сущностям User и Group и операциям с ресурсами users и groups.

Для каждой из указанных ниже операций:

  • Субъект, выполняющий операцию, должен иметь права на чтение объектов с помощью запросов GET.

  • Заполнитель contoso.onmicrosoft.com следует заменять на домен вашего клиента Azure Active Directory, а {objectId} — на идентификатор типа ресурса, указанный в URL-адресе.

  • Каждый запрос должен включать следующие заголовки HTTP-запроса:

    Заголовок запросаОписание
    АвторизацияОбязательный параметр. Токен носителя, выданный службой Azure Active Directory. Дополнительные сведения см. в статье "Сценарии проверки подлинности в Azure AD".
    Content-TypeОбязательный параметр. Тип носителя содержимого для текста запроса, например application/json.
    Content-LengthОбязательный параметр. Длина запроса в байтах.

Получение административных единиц, в которые входит пользователь или группа

Функция предварительного просмотра позволяет получить членство в administrativeUnits для ресурсов users и groups, используя свойство навигации memberOf в сущности DirectoryObject. Укажите сегмент ресурса users, чтобы получить членство для ресурсов users, или groups, чтобы получить членство для ресурсов groups. Укажите сегмент ресурса $links, чтобы получить URL-адреса ресурсов, или опустите его, чтобы получить свойства.

Метод HTTPURI запроса
GEThttps://graph.windows.net/contoso.onmicrosoft.com/users/{objectID}/$links/memberOf?api-version=beta
GEThttps://graph.windows.net/contoso.onmicrosoft.com/users/{objectID}/memberOf?api-version=beta
GEThttps://graph.windows.net/contoso.onmicrosoft.com/groups/{objectID}/$links/memberOf?api-version=beta
GEThttps://graph.windows.net/contoso.onmicrosoft.com/groups/{objectID}/memberOf?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. В первом примере показан текст ответа для ресурса users с сегментом $links и членством в двух типах ресурсов: DirectoryRole и AdministrativeUnit. Во втором показан ответ для того же примера, но без сегмента $links.

{
   "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/$links/memberOf",
   "value":
   [
      {
      "url":"https://graph.windows.net/contoso.onmicrosoft.com/directoryObjects/cbf54c29-6184-484d-92d6-d6af32f896a2/Microsoft.DirectoryServices.DirectoryRole"
      },
      {
      "url":"https://graph.windows.net/contoso.onmicrosoft.com/directoryObjects/3cc09cfd-5423-4002-85b8-070d60a63fe2/Microsoft.DirectoryServices.AdministrativeUnit"
      }
   ]
}
{
   "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects",
   "value":
   [
      {
      "odata.type":"Microsoft.DirectoryServices.DirectoryRole",
      "objectType":"Role",
      "objectId":"cbf54c29-6184-484d-92d6-d6af32f896a2",
      "deletionTimestamp":null,
      "cloudSecurityIdentifier":"S-1-12-6-3421850665-1213030788-2950092434-2727802930",
      "description":"Company Administrator role has full access to perform any operation in the company scope.",
      "displayName":"Company Administrator",
      "isSystem":true,
      "roleDisabled":false,
      "roleTemplateId":"62e90394-69f5-4237-9190-012177145e10"
      },
      {
      "odata.type":"Microsoft.DirectoryServices.AdministrativeUnit",
      "objectType":"AdministrativeUnit",
      "objectId":"3cc09cfd-5423-4002-85b8-070d60a63fe2",
      "deletionTimestamp":null,
      "displayName":"Central Region Administrators",
      "description":"Administrators responsible for the Central Region"
      }    
   ]  
}

Получение административных единиц, в которых пользователь является администратором

Используется для получения ресурсов adminstrativeUnits, в которых пользователь является администратором, с помощью свойства навигации scopedAdministratorOf в сущности User. Можно использовать любую из указанных ниже операций GET. Первая извлекает URL-адрес ресурса, а вторая возвращает свойства.

Метод HTTPURI запроса
GEThttps://graph.windows.net/contoso.onmicrosoft.com/users/{objectId}/$links/scopedAdministratorOf?api-version=beta
GEThttps://graph.windows.net/contoso.onmicrosoft.com/users/{objectId}/scopedAdministratorOf?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. В первом примере показан текст ответа для операции с использованием сегмента $links. Во втором показан ответ для того же примера, но без сегмента $links.

{
   "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/$links/scopedAdministratorOf",
   "value":
   [
      {
      "url":"https://graph.windows.net/contoso.onmicrosoft.com/scopedRoleMemberships/kxyuS4zvB0mDyB4cH9Liwf2cwDwjVAJAhbgHDWCmP-Itu0Khgd9mQK-R9j5Kup5fU"
      }
   ]
}
{
   "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#scopedRoleMemberships",
   "value":
   [
      {
      "id":"kxyuS4zvB0mDyB4cH9Liwf2cwDwjVAJAhbgHDWCmP-Itu0Khgd9mQK-R9j5Kup5fU",
      "roleObjectId":"4bae1c93-ef8c-4907-83c8-1e1c1fd2e2c1",
      "administrativeUnitObjectId":"3cc09cfd-5423-4002-85b8-070d60a63fe2",
      "roleMemberInfo":
         {
         "objectId":"a142bb2d-df81-4066-af91-f63e4aba9e5f",
         "displayName":"Bryan",
         "userPrincipalName":BryanL@contoso.com
         }
      }
   ]  
}

Поддерживаемые операции — directoryRoles

В этом разделе описываются новые поддерживаемые операции с ресурсами directoryRoles, которые обеспечивают поддержку ресурсов administrativeUnits.

Дополнительные сведения о сущности DirectoryRole и соответствующих операциях **** см. в полной общедоступной документации.

Для каждой из указанных ниже операций:

  • Субъект, выполняющий операцию, должен иметь права на чтение объектов с помощью запросов GET.

  • Заполнитель contoso.onmicrosoft.com следует заменять на домен вашего клиента Azure Active Directory, а {objectId} — на идентификатор типа ресурса, указанный в URL-адресе.

  • Каждый запрос должен содержать следующие заголовки HTTP-запросов: Request HeaderDescriptionAuthorizationRequired. Токен носителя, выданный службой Azure Active Directory. Дополнительные сведения см. в статье "Сценарии проверки подлинности в Azure AD". .Content-TypeRequired. Тип носителя для содержимого текста запроса, например application/json. Content-LengthRequired. Длина запроса в байтах.

Заголовок запросаОписание
АвторизацияОбязательный параметр. Токен носителя, выданный службой Azure Active Directory. Дополнительные сведения см. в статье "Сценарии проверки подлинности в Azure AD".
Content-TypeОбязательный параметр. Тип носителя содержимого для текста запроса, например application/json.
Content-LengthОбязательный параметр. Длина запроса в байтах.

Получение администраторов административной единицы, выделенных определенной роли

Для назначения административной единицы администраторы размещаются в роли, выделенной этой административной единице. Эта операция позволяет получать данные о членстве администратора в выделенной роли, такие как набор ресурсов scopedRoleMemberships. Обратите внимание на то, что допустим только {objectId} ролей HelpDeskAdministrators и UserAccountAdministrator. Кроме того, сегмент {scopedRoleMemberId} можно использовать или нет в зависимости от того, что вам нужно получить — определенный ресурс или все ресурсы scopedRoleMembership.

Метод HTTPURI запроса
GEThttps://graph.windows.net/contoso.onmicrosoft.com/directoryRoles/{objectId}/scopedAdministrators/{scopedRoleMemberId}?api-version=beta

Текста запроса нет.

Определения кода ответа см. ниже, в разделе Ссылка на HTTP-ответ. Представленный ниже текст ответа демонстрирует запрос для получения всех администраторов в определенной административной единице, которым присвоена роль администратора службы технической поддержки.

{ 
   "odata.metadata":https://graph.windows.net/contoso.onmicrosoft.com /$metadata#scopedRoleMemberships,
   "value":[
   {
      "id":"kxyuS4zvB0mDyB4cH9Liwf2cwDwjVAJAhbgHDWCmP-Itu0Khgd9mQK-R9j5Kup5fU",
      "roleObjectId":"4bae1c93-ef8c-4907-83c8-1e1c1fd2e2c1",
      "administrativeUnitObjectId":"3cc09cfd-5423-4002-85b8-070d60a63fe2",
      "roleMemberInfo":
      {
         "objectId":"a142bb2d-df81-4066-af91-f63e4aba9e5f",
         "displayName":"Bryan",
         "userPrincipalName":BryanL@contoso.com
      }
   ]
}

Ссылка на HTTP-ответ

Ниже приведен список возможных кодов HTTP-ответов:

Код состояния HTTPКод ошибки ODataОписание
200/OKн/дОбычный ответ на успешный запрос. Текст ответа будет содержать данные, соответствующие фильтрам, которые заданы в параметрах запроса.
201/Созданон/дОбычный ответ на успешный запрос POST/create. Текст ответа будет содержать данные, содержащиеся в новом ресурсе.
204/Нет содержимогон/дОбычный ответ на успешный запрос PATCH/update, операцию DELETE с ресурсом или запрос POST к связанному ресурсу. Текст ответа не будет содержать ответ OData.
400/Ошибочный запросRequest_BadRequestЭто общее сообщение об ошибке, связанной с недопустимым или отсутствующим заголовком, параметром или данными в теле запроса. Эта ошибка также возникает при попытке добавить связанный ресурс, который уже существует.
401/Ошибка проверки подлинностиAuthorizationErrorОтображается, если пользователь не авторизован для доступа к содержимому. Дополнительные сведения о защите вызовов, а также получении и указании маркера безопасного доступа см. в основной статье о REST AD Graph.
404/Объект не найденRequest_ResourceNotFoundОтображается, если ресурса, к которому вы пытаетесь получить доступ, не существует.
405/Недопустимый методRequest_BadRequestОтображается, если вы пытаетесь выполнить операцию, предназначенную для определенного ресурса, указав неверный идентификатор ресурса в URL-адресе запроса.

Дополнительные ресурсы

© 2017 Microsoft