Table of contents

管理单元(预览版) | Graph API 概念

Bryan Lamos|上次更新日期: 2016/9/3
|
1 参与者

适用范围: 图形 API | Azure Active Directory (AD)

概述和先决条件

管理单元为用户和组目录对象提供概念性容器,从而实现以更精细的粒度(即:部门、区域等)将权限指派给作用域为管理单元的管理角色。 本主题介绍 AdministrativeUnit 实体公开的声明属性和导航属性,以及可以在 administrativeUnits OData 资源上调用的操作和功能。

重要事项

Azure AD Graph API 功能也可通过 Microsoft Graph 使用。Microsoft Graph 是一个统一的 API,它还包括其他 Microsoft 服务(如 Outlook、OneDrive、OneNote、Planner 和 Office Graph)的 API,这些都可以使用单个访问令牌通过单个终结点进行访问。 请注意,Microsoft Graph 中目前不支持管理单元;你将需要使用 Azure AD Graph API 来获取此功能。

必须要熟悉 Azure AD 身份验证和应用程序配置,才能使用管理单元预览版。 如果你不熟悉与 Azure AD 身份验证关联的概念,和/或允许应用程序访问你的租户所需的配置步骤,请查看 Azure AD 的身份验证方案一文,特别是标题为在 Azure AD 中注册应用程序的基础知识的一节,其中有到包含更多细节的集成应用程序与 Azure Active Directory 一文的链接。

在继续新的章节之前,请参考 Azure.com 上的主要文章 Azure Active Directory Graph API 和下列 Graph API 文章以获取其他的重要和有用信息:

  1. Azure AD Graph API 版本控制

    重要说明:管理单元功能仅在此时在预览版中可用。 若要使用预览功能,请务必将 api-version 查询字符串参数设置为“beta”,即: https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta

    仅当启用了 Azure Active Directory 高级版,才可以创建和使用管理单元。 有关详细信息,请参阅 Azure Active Directory 高级版入门

  2. Azure.com 上的 Azure AD Graph API 快速入门

  3. Graph API 操作概述

  4. 支持的查询、筛选和分页选项

命名空间和继承

Namespace:Microsoft.DirectoryServices

基类型DirectoryObject

属性

AdministrativeUnit:实体支持下列属性:

声明的属性

Name类型创建(POST)Read(GET)更新(PATCH)描述
descriptionEdm.String可选可选管理单元的可选描述。
displayNameEdm.String必需是否可筛选可选显示管理单元的名称。

导航属性

Name源多重性收件人目标多重性描述
成员*用户或组*分配到管理单元的成员,是用户或是组。 从 DirectoryObject 继承。
scopedAdministrators*ScopedRoleMembership*分配到给定角色的管理员将作用于管理单元。

注意:虽然 DirectoryObject 实体还支持其他导航属性,包括 memberOfownersownedObjects,但这些属性对管理单元无效。 如果发送针对上述任一属性的请求,将返回 400 错误的请求响应以及相应的错误消息。

寻址

寻址可以跨目录中的管理单元集合、单个管理单元或通过管理单元支持的导航属性提供的相关资源。 列表中的示例使用租户域对租户寻址。 有关对租户进行寻址的其他方法,请参阅对 Graph API 中的实体和操作进行寻址

项目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} 的有效导航属性的列表。 从 URI 的资源路径部分移除“$links”段,以返回导航属性引用的实际对象而不是指向它们的链接。 也可以通过在 URI 的资源路径部分中将“administrativeUnits”替换为“directoryObjects”来使用泛型目录对象处理管理单元。

有关查询目录对象的更全面信息,请参阅 Azure AD Graph API 常见查询Azure AD Graph API 差异查询

支持的操作 – administrativeUnits

本部分定义 administrativeUnits 资源集上支持的操作。 如前文所述,应首先查看概述和先决条件部分中的主题,以了解一些适用于所有实体的 Graph API 基础知识,例如正确设置 URL 的格式、对实体和操作进行寻址、使用版本控制等,这一点很重要。

对于下列每个操作:

  • 执行操作的主体必须是有权使用 PATCH、POST 或 DELETE 请求修改 administrativeUnits 资源以及有权使用 GET 请求读取对象的管理员角色。

  • 在适合的情况下,将占位符字符串“contoso.onmicrosoft.com”替换为 Azure Active Directory 租户的域,并将 {objectId} 替换为在 URL 中确定的资源类型的 ID。

  • 下表中的每个请求必须包含以下 HTTP 请求标头。

请求标头描述
授权必需。 Azure Active Directory 颁发的持有者令牌。 有关详细信息,请参阅 Azure AD 的身份验证方案
内容类型必需。 请求正文中内容的媒体类型,如:application/json。
内容长度必需。 请求的长度(以字节为单位)。


下面列出的前四个操作用于管理 AdministrativeUnit 实体的创建、检索、更新和删除。 在此之后的操作将使用 membersscopedAdministrators 导航属性,以分别管理 AdminstrativeUnit 的用户/组成员和具有 AdministrativeUnit 的管理控制权限的已划分了作用域的管理员集(通过 ScopedRoleMembership 实体)。

创建一个管理单元

用于创建一个新的 AdministrativeUnit

HTTP 方法请求 URI
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."
}

获取管理单元

用于按 {objectId} 检索特定 AdministrativeUnit、通过筛选 displayName 属性检索子集(请参阅 Azure AD Graph API 中支持的查询、筛选器和分页选项),或检索所有可用项的列表。 下面的请求/响应示例分别展示针对特定管理单元和所有管理单元的查询。

HTTP 方法请求 URI
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 中的一个或多个属性。

HTTP 方法请求 URI
PATCHhttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}?api-version=beta

请求正文指定一个或全部两个 AdministrativeUnit 属性:

{ 
  "displayName":"Central Region Administrators"
}

请参阅下面的 HTTP 响应参考部分以了解响应代码定义。 响应正文中没有 OData 响应。

删除一个管理单元

用于删除由 {objectId} 指定的 AdministrativeUnit

HTTP 方法请求 URI
删除https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}?api-version=beta

没有任何请求正文。

请参阅下面的 HTTP 响应参考部分以了解响应代码定义。 响应正文中没有 OData 响应。

通过 members 导航属性实现以下操作,这将提供针对 AdminstrativeUnit 的用户/组成员的管理。 请回忆前面的内容,$links 资源段使你可以遍历或修改两个资源之间的的关联(又称:链接),如 administrativeUnitUserGroup资源之间的关联。

将成员添加到管理单元

用于将用户资源成员添加到 AdministrativeUnit

HTTP 方法请求 URI
POSThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/?api-version=beta

在此示例中,请求正文将 URL 指定给我们想要添加到 administrativeUnit 的所需成员,此示例中即为用户资源。 将 directoryObjects 用作类型资源段来替代 User 也是有效的,因为 User 实体继承自 DirectoryObject 实体。 这同样适用于使用资源段的情况。

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

请参阅下面的 HTTP 响应参考部分以了解响应代码定义。 响应正文中没有 OData 响应。

获取管理单元的成员

用于从 administrativeUnit 检索用户资源成员。 注意,可以使用下列 GET 操作的任一形式检索成员。 使用第一种形式将返回指向成员的 URL/链接,第二种形式将返回成员的属性。 在这两种情况下,{memberObjectId} 段都是可选的,具体取决于你想返回成员集还是某个特定成员。

HTTP 方法请求 URI
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}),其中有两种类型的资源,用户。 第二个示例展示了第一示例在不使用 $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     
      }
   ]
}

删除管理单元的成员

用于从 administrativeGroup 资源删除用户资源成员。 由于 members 是多值导航属性,因此必须在请求 URL 中包含想要删除的成员/链接的 {objectId}。

HTTP 方法请求 URI
删除https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/{objectId}?api-version=beta

没有任何请求正文。

请参阅下面的 HTTP 响应参考部分以了解响应代码定义。 响应正文中没有 OData 响应。

通过将管理员放入已作用于管理单元的角色中,将管理员分配给该管理单元。 本部分中的其余操作通过 scopedAdministrators 导航属性实现,这将通过作用域角色提供对具有 AdministrativeUnit 的管理控制权限的管理员集的管理。

向管理单元添加作用域角色管理员

用于通过 ScopedRoleMembership 实体和 scopedAdministrators 导航属性,将管理员添加到将作用于 administrativeUnit 的角色。 在此示例中,该操作执行两项操作:

  1. 填充新的 ScopedRoleMembership 项(不可寻址的 OData 资源),这将在 AdministrativeUnit(作用于管理单元的 DirectoryRole)和管理员用户之间建立关系。

  2. AdministrativeUnit 和新的 ScopedRoleMembership 项之间建立导航属性关联/链接。

HTTP 方法请求 URI
POSThttps://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/scopedAdministrators?api-version=beta

请求正文从 ScopedRoleMembership 实体指定下列属性:

  • roleObjectId – 所需的 DirectoryRole 的 objectId。 注意:当前仅 HelpDeskAdministrators 和 UserAccountAdministrator 角色有效。

  • roleMemberInfo – 标识管理用户 objectId 的结构,后者为管理用户的 objectId。

  • objectId – 管理用户的 objectId。

{
   "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} 段是可选的,具体取决于你想要成员集还是某个特定成员。

HTTP 方法请求 URI
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
         }
      }            
   ]
}

从管理单元删除作用域角色管理员。

用于删除由 {scopedRoleMemberId} 段指定的 administrativeUnit 资源的 ScopedRoleMembership

HTTP 方法请求 URI
删除https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/scopedAdministrators/{scopedRoleMemberId}?api-version=beta

没有任何请求正文。

请参阅下面的 HTTP 响应参考部分以了解响应代码定义。 响应正文中没有 OData 响应。

支持的操作 – 用户和组

本部分定义用户资源上新的受支持的操作,这将为 administrativeUnit 资源提供支持。

可查看完整 GA 文档,以了解有关 UserGroup 实体以及用户上的操作。

对于下列每个操作:

  • 执行该操作的主体必须有权使用 GET 请求读取对象。

  • 在适合的情况下,将占位符字符串“contoso.onmicrosoft.com”替换为 Azure Active Directory 租户的域,并将 {objectId} 替换为在 URL 中确定的资源类型的 ID。

  • 每个请求必须包含以下 HTTP 请求标头:

    请求标头描述
    授权必需。 Azure Active Directory 颁发的持有者令牌。 有关详细信息,请参阅 Azure AD 的身份验证方案。
    内容类型必需。 请求正文中内容的媒体类型,如:application/json。
    内容长度必需。 请求的长度(以字节为单位)。

获取用户或组所属的管理单元

预览版允许通过 DirectoryObject 实体上的 memberOf 导航属性检索用户资源的 administrativeUnits 成员身份。 指定“用户”资源段以检索用户资源的成员资格或检索资源的“组”。 指定“$links”资源段以检索资源 URL/链接,或省略以检索属性。

HTTP 方法请求 URI
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 响应参考部分以了解响应代码定义。 下面的第一个示例展示了用户资源的响应正文,其中使用了 $links 段,该资源具有两种资源类型的成员身份:DirectoryRoleAdministrativeUnit。 第二个示例展示了第一示例在不使用 $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"
      }    
   ]  
}

获取其用户之一是管理员的管理单元

用于通过用户实体上的 scopedAdministratorOf 导航属性检索其用户之一是管理员的 adminstrativeUnits 资源。 注意,可以使用下列 GET 操作的任一形式。 第一种形式将检索资源 URL/链接,第二种形式将返回属性。

HTTP 方法请求 URI
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 资源的特定支持。

可查看完整 GA 文档,以了解有关 DirectoryRole 实体和相关操作****的详细信息。

对于下列每个操作:

  • 执行该操作的主体必须有权使用 GET 请求读取对象。

  • 在适合的情况下,将占位符字符串“contoso.onmicrosoft.com”替换为 Azure Active Directory 租户的域,并将 {objectId} 替换为在 URL 中确定的资源类型的 ID。

  • 每个请求必须包含以下 HTTP 请求标头:Request HeaderDescriptionAuthorizationRequired。 Azure Active Directory 颁发的持有者令牌。 有关详细信息,请参阅 Azure AD 的身份验证方案。Content-TypeRequired。 请求正文中内容的媒体类型,如:application/json.Content-LengthRequired。 请求的长度(以字节为单位)。

请求标头描述
授权必需。 Azure Active Directory 颁发的持有者令牌。 有关详细信息,请参阅 Azure AD 的身份验证方案。
内容类型必需。 请求正文中内容的媒体类型,如:application/json。
内容长度必需。 请求的长度(以字节为单位)。

获取被赋予特定角色的管理单元管理员

通过将管理员放入已作用于管理单元的角色中,将管理员分配给该管理单元。 此操作使你可以检索管理员的那些“作用域角色成员身份”,并将它们作为 scopedRoleMemberships 资源集检索。 注意,只有“HelpDeskAdministrators”或“UserAccountAdministrator”角色 {objectId} 有效。 此外请注意,{scopedRoleMemberId} 段是可选的,具体取决于你想要特定角色的所有 scopedRoleMembership 资源还是某一特定资源。

HTTP 方法请求 URI
GEThttps://graph.windows.net/contoso.onmicrosoft.com/directoryRoles/{objectId}/scopedAdministrators/{scopedRoleMemberId}?api-version=beta

没有任何请求正文。

请参阅下面的 HTTP 响应参考部分以了解响应代码定义。 下面的响应正文针对特定管理单元的所有管理员的查询,这些管理员被赋予了 Helpdesk 管理员角色。

{ 
   "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/正常n/a成功查询的正常响应。 响应正文将包含与查询参数中指定的筛选器匹配的数据。
201/已创建n/a成功 POST/创建操作的正常响应。 响应正文将包含新的资源中所填充的数据。
204/无内容n/a针对资源的成功的 PATCH/更新操作或 DELETE 操作,或针对链接的资源的 POST 操作的正常响应。 响应正文将不包含 OData 响应。
400/错误的请求Request_BadRequest这是针对标头、参数或请求正文数据无效或缺失的一般性错误消息。 如果尝试添加已存在的链接的资源,也会收到此错误消息。
401/未授权AuthorizationError如果用户无权查看内容,则会显示此错误消息。 有关保护调用以及获取和指定安全访问令牌的其他详细信息,请参阅主 AD Graph REST 文章。
404/未找到Request_ResourceNotFound当尝试访问的资源不存在时,将显示此错误消息。
405/不允许的方法Request_BadRequest尝试执行针对某个特定资源的操作但未在请求 URL 中提供正确的资源 ID 时,将显示此错误消息。

其他资源

© 2017 Microsoft