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

适用范围: Azure AD Graph API

概述和先决条件

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

重要

强烈建议使用 Microsoft Graph 代替 Azure AD Graph API 来访问 Azure Active Directory 资源。现在我们的开发工作将重点集中在 Microsoft Graph 上,没有计划对 Azure AD Graph API 进行进一步的改进。Azure AD Graph API 仍适用的方案数量非常有限;有关详细信息,请参阅 Office 开发人员中心中的博客文章 Microsoft Graph 或 Azure AD Graph

必须要熟悉 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 版的查询字符串参数设置为“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) 描述
description Edm.String 可选 可选 管理单元的可选描述。
displayName Edm.String 必需 是否可筛选 可选 显示管理单元的名称。

导航属性

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

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

寻址

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

项目 URL 段 示例
资源集(所有管理单元) /administrativeUnits https://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
POST https://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
GET https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}?api-version=beta
GET https://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
PATCH https://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
POST https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/?api-version=beta

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

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

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

获取管理单元的成员

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

HTTP 方法 请求 URI
GET https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/{memberObjectId}?api-version=beta
GET https://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
POST https://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
GET https://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 资源提供支持。

可以检查 UserGroup 实体以及用户上的操作的完整 GA 文档。

对于下列每个操作:

  • 执行该操作的主体必须有权使用 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
GET https://graph.windows.net/contoso.onmicrosoft.com/users/{objectID}/$links/memberOf?api-version=beta
GET https://graph.windows.net/contoso.onmicrosoft.com/users/{objectID}/memberOf?api-version=beta
GET https://graph.windows.net/contoso.onmicrosoft.com/groups/{objectID}/$links/memberOf?api-version=beta
GET https://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
GET https://graph.windows.net/contoso.onmicrosoft.com/users/{objectId}/$links/scopedAdministratorOf?api-version=beta
GET https://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"
      }
   ]
}```

```json
{
   "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
GET https://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 时,将显示此错误消息。

其他资源