管理単位 (プレビュー) | Graph API の概念

適用対象: Azure AD Graph API

概要と前提条件

管理単位には、ユーザーとグループのディレクトリ オブジェクトの概念的なコンテナーがあり、管理単位にスコープされている管理者ロールに対して、細かいレベル (部門、地域など) でアクセス許可をデリゲートできます。 このトピックでは、AdministrativeUnit エンティティが公開している宣言されたプロパティとナビゲーション プロパティと、administrativeUnits OData リソースで呼び出すことができる操作と関数について説明します。

重要

Azure Active Directory のリソースにアクセスするには、Azure AD Graph API ではなく Microsoft Graph を使用することを強くお勧めします。現在は Microsoft Graph を中心にして開発が進められており、Azure AD Graph API の今後の機能強化は予定されていません。Azure AD Graph API の使用が適切である場合もありますが、非常にまれです。詳細については、Office Dev Center の 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-version クエリ文字列パラメーターを "beta" に設定してください (例: https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta)。

    Azure Active Directory Premium が有効な場合にのみ、管理単位を作成および使用することができます。 詳細については、「Microsoft Azure Active Directory ライセンスとは」を参照してください。

  2. Azure.com の Azure AD Graph API のクイックスタート

  3. Graph API 操作の概要

  4. サポートされているクエリ、フィルター、およびページング オプション

名前空間と継承

名前空間: Microsoft.DirectoryServices

基本データ型: DirectoryObject

プロパティ

AdministrativeUnit エンティティは、次のプロパティをサポートしています。

宣言されたプロパティ

名前 作成 (POST) 読み取り (GET) 更新 (PATCH) 説明
description Edm.String 省略可能 省略可能 管理単位の説明 (省略可能)。
displayName Edm.String 必須 フィルター可能 省略可能 管理単位の表示名。

ナビゲーション プロパティ

名前 移動元の多重度 宛先 移動先の多重度 説明
members * ユーザーまたはグループ * 管理単位に割り当てられるメンバー (ユーザーまたはグループ)。 DirectoryObject から継承されます。
scopedAdministrators * ScopedRoleMembership * 管理単位にスコープされた、特定のロールに割り当てられた管理者。

: DirectoryObject エンティティは、memberOfownersownedObjects など、他のナビゲーション プロパティもサポートしていますが、これらのプロパティは管理単位では無効です。 これらのプロパティのいずれかに対して要求を送信すると、400 Bad Request 応答と対応するエラー メッセージが返されます。

アドレス指定

アドレス指定は、ディレクトリ内の管理単位のコレクション、個々の管理単位、または管理単位のサポートするナビゲーション プロパティで取得できる関連するリソースを対象にすることができます。 表の例では、テナント ドメインを使用してテナントのアドレスを指定しています。 テナントのアドレスを指定するその他の方法については、「Addressing Entities and Operations in the Graph API (Graph API のエンティティと操作のアドレス指定)」を参照してください。

アーティファクト URL フラグメント
リソース セット (すべての管理単位) /administrativeUnits https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits?api-version=beta
単一のリソース (例: 1 つの管理単位) /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 Common Queries (Azure AD Graph API の一般的なクエリ)」と「Azure AD Graph API Differential Query (Azure AD Graph API の差分クエリ)」を参照してください。

サポートされる操作: administrativeUnits

このセクションでは、administrativeUnits リソース セットでサポートされる操作を定義します。 前述のように、まず「概要と前提条件」セクションのトピックを参照して、すべてのエンティティに適用される Graph API の基本 (URL の正しい書式設定、エンティティと操作のアドレス指定、バージョン管理の使用など) について理解することが重要です。

以下の各操作について:

  • 操作を実行するプリンシパルは、PATCH、POST、または DELETE 要求を使用して administrativeUnits リソースを変更する特権と、GET 要求を使用してオブジェクトを読み取る特権を持つ管理者ロールである必要があります。

  • 必要に応じて、プレースホルダー文字列 "contoso.onmicrosoft.com" を実際の Azure Active Directory テナントのドメインに置き換え、{objectId} を URL で決まるリソースの種類の ID に置き換えます。

  • 各要求には、以下の表の HTTP 要求ヘッダーを含める必要があります。

|要求ヘッダー|説明| |---|---| |Authorization|必須。 Azure Active Directory によって発行されるベアラー トークン。 詳細については、「Azure AD の認証シナリオ」を参照してください。| |Content-Type|必須。 要求本文のコンテンツのメディアの種類 (application/json など)。| |Content-Length|必須。 要求の長さ (バイト単位)。|
以下の最初の 4 つの操作は、AdministrativeUnit エンティティの作成、取得、更新、削除の管理に使用されます。 それらの後の操作では、members ナビゲーション プロパティを使用して、AdminstrativeUnit のユーザー/グループ メンバーを管理し、scopedAdministrators の ナビゲーション プロパティを使用して、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 プロパティに対してフィルターして一部の AdministrativeUnit を取得する場合 (「Supported Queries, Filters, and Paging Options in Azure AD Graph API (Azure Active Directory Graph API でサポートされているクエリ、フィルター、およびページング オプション)」を参照してください)、またはすべての使用できる AdministrativeUnit の一覧を取得する場合に使用します。 以下の要求/応答は、それぞれ特定の管理単位に対するクエリと、すべての管理単位に対するクエリの例です。

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 の 1 つ以上のプロパティを更新する場合に使用します。

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 リソース セグメントを使用すると、administrativeUnitUser または Group リソース間など、2 つのリソース管理の関連付け (リンクとも呼ばれます) を切り替えまたは変更できます。

管理単位にメンバーを追加する

user または group リソース メンバーを AdministrativeUnit に追加する場合に使用します。

HTTP メソッド 要求 URI
POST https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/?api-version=beta

この例では、administrativeUnit (この例では users リソース) に追加する対象のメンバーの URL を要求本文に指定します。 また、User エンティティは DirectoryObject エンティティから継承されるので、type リソース セグメントとして usersdirectoryObjects を使用することもできます。 groups リソース セグメントを使用する場合も同様です。

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

応答コードの定義については、後述の「HTTP 応答リファレンス」を参照してください。 応答本文に OData 応答はありません。

管理単位のメンバーを取得する

administrativeUnit から user または group リソース メンバーを取得する場合に使用します。 以下のいずれかの形式の GET 操作を使用して、メンバーを取得できます。 1 つ目の操作は、メンバーの URL/リンクを返します。2 つ目の操作はメンバーのプロパティを返します。 いずれの場合でも、メンバーのセットが必要か、特定のメンバーが必要かによって、{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 応答リファレンス」を参照してください。 以下の 1 つ目の例は、すべてのメンバー (つまり、{memberObjectId} が指定されていない) に $links セグメントを使用する操作の応答本文です。リソースには、UserGroup の 2 種類があります。 2 つ目の例は、1 つ目と同じ例で $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 リソースから user または group リソース メンバーを削除する場合に使用します。 members は複数値のナビゲーション プロパティなので、削除対象のメンバー/リンクの {objectId} を要求 URL に含める必要があります。

HTTP メソッド 要求 URI
削除 https://graph.windows.net/contoso.onmicrosoft.com/administrativeUnits/{objectId}/$links/members/{objectId}?api-version=beta

要求本文はありません。

応答コードの定義については、後述の「HTTP 応答リファレンス」を参照してください。 応答本文に OData 応答はありません。

管理者に管理単位を割り当てるには、その管理単位にスコープされているロールに管理者を登録します。 このセクションの以降の操作は、scopedAdministrators ナビゲーション プロパティで実装します。このプロパティには、AdministrativeUnit の管理制御権を持つ管理者セットを、スコープされたロールを使用して管理する機能があります。

スコープされたロールの管理者を管理単位に追加する

ScopedRoleMembership エンティティと scopedAdministrators ナビゲーション プロパティを使用して、administrativeUnit にスコープされるロールに管理者を追加する場合に使用します。 この例では、次の 2 つの処理を実行します。

  1. 新しい ScopedRoleMembership 項目を設定します (アドレス指定可能な OData リソースではありません)。これによって、AdministrativeUnit、管理単位にスコープされた DirectoryRole、管理者 User の間にリレーションシップが確立します。

  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
      }
}

管理単位のスコープされたロールの管理者を取得する

ScopedRoleMembership エンティティとして、administrativeUnit リソースのスコープされたロールの管理者の一覧を取得する場合に使用します。 メンバーのセットが必要か、特定のメンバーが必要かによって、{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 応答はありません。

サポートされる操作: users と groups

このセクションでは、administrativeUnit リソースをサポートする、users リソースと groups リソースに対して新しくサポートされた操作を定義します。

User エンティティ、Group エンティティ、usersgroups に対する操作については、詳細な GA ドキュメントを参照してください。

以下の各操作について:

  • 操作を実行するプリンシパルには、GET 要求を使用してオブジェクトを読み取る特権が必要です。

  • 必要に応じて、プレースホルダー文字列 "contoso.onmicrosoft.com" を実際の Azure Active Directory テナントのドメインに置き換え、{objectId} を URL で決まるリソースの種類の ID に置き換えます。

  • 各要求には、次の HTTP 要求ヘッダーを含める必要があります。

    要求ヘッダー 説明
    Authorization 必須。 Azure Active Directory によって発行されるベアラー トークン。 詳細については、「Azure AD の認証シナリオ」を参照してください。
    Content-Type 必須。 要求本文のコンテンツのメディアの種類 (application/json など)。
    Content-Length 必須。 要求の長さ (バイト単位)。

ユーザーまたはグループが属する管理単位を取得します。

プレビューでは、DirectoryObject エンティティの memberOf ナビゲーション プロパティを使用して、users および groups リソースの administrativeUnits メンバーシップを取得できます。 "users" リソース セグメントを指定して、users リソースのメンバーシップを取得します。groups リソースには "groups" を指定します。 "$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 応答リファレンス」を参照してください。 以下の 1 つ目の例は、$links セグメントを指定した users リソースの応答本文です。DirectoryRoleAdministrativeUnit という 2 種類のリソースのメンバーシップがあります。 2 つ目の例は、1 つ目と同じ例で $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"
      }    
   ]  
}

ユーザーが管理者である管理単位を取得する

User エンティティの scopedAdministratorOf ナビゲーション プロパティを使用して、ユーザーが管理者である adminstrativeUnits リソースを取得する場合に使用します。 以下のいずれかの形式の GET 操作を使用できます。 1 つ目の操作は、リソースの URL/リンクを取得します。2 つ目の操作は、プロパティを返します。

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 応答リファレンス」を参照してください。 以下の 1 つ目の例は、$links セグメントを使用する操作の応答本文です。 2 つ目の例は、1 つ目と同じ例で $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

このセクションでは、administrativeUnits リソースの特定のサポートを提供する、directoryRoles リソースで新しくサポートされた操作を定義します。

DirectoryRole エンティティと関連する操作****の詳細については、詳細な GA ドキュメントを参照してください。

以下の各操作について:

  • 操作を実行するプリンシパルには、GET 要求を使用してオブジェクトを読み取る特権が必要です。

  • 必要に応じて、プレースホルダー文字列 "contoso.onmicrosoft.com" を実際の Azure Active Directory テナントのドメインに置き換え、{objectId} を URL で決まるリソースの種類の ID に置き換えます。

  • 各要求には、HTTP 要求ヘッダー Request HeaderDescriptionAuthorizationRequired を含める必要があります。 Azure Active Directory によって発行されるベアラー トークン。 詳細については、「Azure AD の認証シナリオ」を参照してください。Content-Type は必須です。 要求本文のコンテンツのメディアの種類 (application/json など)。Content-Length は必須です。 要求の長さ (バイト単位)。

要求ヘッダー 説明
Authorization 必須。 Azure Active Directory によって発行されるベアラー トークン。 詳細については、「Azure AD の認証シナリオ」を参照してください。
Content-Type 必須。 要求本文のコンテンツのメディアの種類 (application/json など)。
Content-Length 必須。 要求の長さ (バイト単位)。

特定のロールにスコープされた管理単位の管理者を取得する

管理者に管理単位を割り当てるには、その管理単位にスコープされているロールに管理者を登録します。 この操作を使用すると、scopedRoleMemberships リソースのセットとして、管理者の "スコープされたロール メンバーシップ" を取得できます。 有効なのは、"HelpDeskAdministrators" ロールまたは "UserAccountAdministrator" ロールの {objectId} のみです。 また、特定のロールのすべての scopedRoleMembership リソースか、特定のリソースかに応じて、{scopedRoleMemberId} セグメントは省略可能です。

HTTP メソッド 要求 URI
GET https://graph.windows.net/contoso.onmicrosoft.com/directoryRoles/{objectId}/scopedAdministrators/{scopedRoleMemberId}?api-version=beta

要求本文はありません。

応答コードの定義については、後述の「HTTP 応答リファレンス」を参照してください。 以下の応答本文は、Helpdesk Administrator ロールにスコープされた、特定の管理単位のすべての管理者に対するクエリの応答です。

{ 
   "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/Created 該当なし POST/create 操作が成功した場合の通常の応答。 応答本文には、新しいリソースに設定されたデータが含まれます。
204/No Content 該当なし リソースに対する PATCH/update または DELETE 操作、またはリンクされたリソースに対する POST の通常の応答。 応答本文に OData 応答は含まれません。
400/BadRequest Request_BadRequest 無効、または不足しているヘッダー、パラメーター、または要求本文データの汎用的なエラー メッセージです。 また、既に存在するリンク先リソースを追加しようとした場合にも、このエラーが表示されます。
401/Unauthorized AuthorizationError ユーザーにコンテンツを表示する権限がない場合に表示されます。 呼び出しの保護、セキュリティで保護されたアクセス トークンの取得と指定の詳細については、メインの AD Graph REST の記事を参照してください。
404/Not Found Request_ResourceNotFound 存在しないリソースにアクセスしようとすると、表示されます。
405/Method not allowed Request_BadRequest 特定のリソースに対して操作を実行しようとして、要求 URL に正しいリソース ID を指定していない場合に表示されます。

その他のリソース