Azure Active Directory Graph APIAzure Active Directory Graph API


Azure Active Directory リソースにアクセスする場合、Azure AD Graph API ではなく Microsoft Graph を使用することを強くお勧めします。We strongly recommend that you use Microsoft Graph instead of Azure AD Graph API to access Azure Active Directory resources. 開発作業は現在 Microsoft Graph に集中しており、Azure AD Graph API の追加の機能強化は予定されていません。Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API. Azure AD Graph API の使用が適切なシナリオの数は非常に限られています。詳しくは、Office デベロッパー センターのブログ投稿「Microsoft Graph or the Azure AD Graph (Microsoft Graph または Azure AD Graph)」をご覧ください。There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the Microsoft Graph or the Azure AD Graph blog post in the Office Dev Center.

Azure Active Directory Graph API を使用すると、REST API エンドポイントを介して Azure AD にプログラムによってアクセスできます。The Azure Active Directory Graph API provides programmatic access to Azure AD through REST API endpoints. アプリケーションでは、Azure AD Graph API を使って、ディレクトリのデータとオブジェクトに対して、作成、読み取り、更新、および削除 (CRUD) の各操作を実行できます。Applications can use Azure AD Graph API to perform create, read, update, and delete (CRUD) operations on directory data and objects. たとえば、Azure AD Graph API では、ユーザー オブジェクトへの次のような一般的な操作がサポートされています。For example, Azure AD Graph API supports the following common operations for a user object:

  • ディレクトリに新しいユーザーを作成するCreate a new user in a directory
  • ユーザーの詳細なプロパティ (所属するグループなど) を取得するGet a user’s detailed properties, such as their groups
  • ユーザーのプロパティ (場所や電話番号など) を更新するか、またはユーザーのパスワードを変更するUpdate a user’s properties, such as their location and phone number, or change their password
  • ロールベースのアクセスに対応しているかどうか、ユーザーのグループ メンバーシップを確認するCheck a user’s group membership for role-based access
  • ユーザーのアカウントを無効にするか、または完全に削除するDisable a user’s account or delete it entirely

さらに、グループやアプリケーションなどのその他のオブジェクトに対しても同様の操作を実行できます。Additionally, you can perform similar operations on other objects such as groups and applications. ディレクトリで Azure AD Graph API を呼び出すには、アプリケーションを Azure AD に登録する必要があります。To call Azure AD Graph API on a directory, your application must be registered with Azure AD. また、Azure AD Graph API へのアクセスをアプリケーションに許可する必要もあります。Your application must also be granted access to Azure AD Graph API. 通常、このアクセスは、ユーザーまたは管理者の同意フローによって実現されます。This access is normally achieved through a user or admin consent flow.

Azure Active Directory Graph API を使い始めるには、Azure AD Graph API のクイック スタートまたは対話型の Azure AD Graph API リファレンス ドキュメントに関するページをご覧ください。To begin using the Azure Active Directory Graph API, see the Azure AD Graph API quickstart guide, or view the interactive Azure AD Graph API reference documentation.


Azure AD Graph API には、次の機能が用意されています。Azure AD Graph API provides the following features:

  • REST API エンドポイント: Azure AD Graph API は、標準の HTTP 要求を使ってアクセスされるエンドポイントで構成された REST ベースのサービスです。REST API Endpoints: Azure AD Graph API is a RESTful service comprised of endpoints that are accessed using standard HTTP requests. Azure AD Graph API では、要求と応答のコンテンツの種類として XML または Javascript Object Notation (JSON) をサポートしています。Azure AD Graph API supports XML or Javascript Object Notation (JSON) content types for requests and responses. 詳細については、Azure AD Graph REST API リファレンスに関するページを参照してください。For more information, see Azure AD Graph REST API reference.
  • Azure AD による認証: Azure AD Graph API に対するすべての要求は、その要求の Authorization ヘッダーに JSON Web トークン (JWT) を追加することによって認証する必要があります。Authentication with Azure AD: Every request to Azure AD Graph API must be authenticated by appending a JSON Web Token (JWT) in the Authorization header of the request. このトークンを取得するには、Azure AD のトークン エンドポイントに対して要求を送信し、有効な資格情報を提供します。This token is acquired by making a request to Azure AD’s token endpoint and providing valid credentials. OAuth 2.0 クライアント資格情報フローまたは承認コード付与フローを使用して、Graph を呼び出すためのトークンを取得することができます。You can use the OAuth 2.0 client credentials flow or the authorization code grant flow to acquire a token to call the Graph. 詳細については、「 Azure AD での OAuth 2.0」を参照してください。For more information, OAuth 2.0 in Azure AD.
  • ロールベースの承認 (RBAC): セキュリティ グループは、Azure AD Graph API 内で RBAC を実行するときに使われます。Role-Based Authorization (RBAC): Security groups are used to perform RBAC in Azure AD Graph API. たとえば、ユーザーが特定のリソースへのアクセス権を持っているかどうかを判断する場合、アプリケーションからグループ メンバーシップの確認 (推移的) 操作を呼び出すことができます。この操作では、true または false が返されます。For example, if you want to determine whether a user has access to a specific resource, the application can call the Check group membership (transitive) operation, which returns true or false.
  • 差分クエリ: 差分クエリ を使うと、Azure AD Graph API に対して頻繁にクエリを行わなくても、2 つの期間の間でのディレクトリの変更を追跡できます。Differential Query: Differential query allows you to track changes in a directory between two time periods without having to make frequent queries to Azure AD Graph API. この種の要求は、前回の差分クエリ要求と現在の要求の間で行われた変更のみを返します。This type of request will return only the changes made between the previous differential query request and the current request. 詳細については、Azure AD Graph API の差分クエリに関するページを参照してください。For more information, see Azure AD Graph API differential query.
  • ディレクトリ拡張機能: 外部データ ストアを必要とせずに、ディレクトリ オブジェクトにカスタム プロパティを追加できます。Directory Extensions: You can add custom properties to directory objects without requiring an external data store. たとえば、アプリケーションがユーザーごとに Skype ID プロパティを必要とする場合は、ディレクトリに新しいプロパティを登録することができ、そのプロパティはすべてのユーザー オブジェクトで使用できるようになります。For example, if your application requires a Skype ID property for each user, you can register the new property in the directory and it will be available for use on every user object. 詳細については、Azure AD Graph API ディレクトリ スキーマ拡張機能に関するページを参照してください。For more information, see Azure AD Graph API directory schema extensions.
  • アクセス許可スコープによる保護: Azure AD Graph API は、OAuth 2.0 を使って Azure AD のデータに安全にアクセスできるアクセス許可スコープを公開します。Secured by permission scopes: Azure AD Graph API exposes permission scopes that enable secure access to Azure AD data using OAuth 2.0. 次のようなさまざまな種類のクライアント アプリをサポートします。It supports a variety of client app types, including:

    • サインインしたユーザー (代理) からの承認によってデータへの委任アクセスを付与されるユーザー インターフェイスuser interfaces that are given delegated access to data via authorization from the signed-in user (delegated)
    • サインインしたユーザーがいない状態でバックグラウンドで動作し、アプリケーションで定義されたロールベースのアクセス制御を使うサービス/デーモン アプリケーションservice/daemon applications that operate in the background without a signed-in user being present and use application-defined role-based access control

      委任およびアプリケーションのアクセス許可は、Azure AD Graph API によって公開されている権限を表し、Azure Portal のアプリケーション登録のアクセス許可を通じてクライアント アプリケーションによって要求できます。Both delegated and application permissions represent a privilege exposed by the Azure AD Graph API and can be requested by client applications through application registration permissions features in the Azure portal. Azure AD Graph API のアクセス許可スコープは、クライアント アプリケーションで使用可能なものについての情報を提供します。Azure AD Graph API permission scopes provides information on what's available for use by your client application.


Azure AD Graph API により、多くのアプリケーション シナリオを実現できます。Azure AD Graph API enables many application scenarios. 最も一般的なシナリオを次に示します。The following scenarios are the most common:

  • 基幹業務 (シングル テナント) アプリケーション: このシナリオでは、エンタープライズ開発者は、Office 365 サブスクリプションを持つ組織に勤めています。Line of Business (Single Tenant) Application: In this scenario, an enterprise developer works for an organization that has an Office 365 subscription. 開発者は、Azure AD を操作してユーザーへのライセンスの割り当てなどのタスクを実行する Web アプリケーションを作成します。The developer is building a web application that interacts with Azure AD to perform tasks such as assigning a license to a user. このタスクでは、Azure AD Graph API へのアクセスが必要となるため、開発者は、Azure AD にこのシングル テナント アプリケーションを登録し、Azure AD Graph API の読み取りおよび書き込みのアクセス許可を構成します。This task requires access to the Azure AD Graph API, so the developer registers the single tenant application in Azure AD and configures read and write permissions for Azure AD Graph API. その後、アプリケーション独自の資格情報または現在サインインしているユーザーの資格情報を使って、Azure AD Graph API を呼び出すトークンを取得するように、アプリケーションは構成されます。Then the application is configured to use either its own credentials or those of the currently sign-in user to acquire a token to call the Azure AD Graph API.
  • サービス アプリケーション (マルチテナント) としてのソフトウェア: このシナリオでは、独立系ソフトウェア ベンダー (ISV) が、Azure AD を使用する他の組織にユーザー管理機能を提供するホスト型のマルチテナント Web アプリケーションを開発しています。Software as a Service Application (Multi-Tenant): In this scenario, an independent software vendor (ISV) is developing a hosted multi-tenant web application that provides user management features for other organizations that use Azure AD. これらの機能にはディレクトリ オブジェクトへのアクセスが必要になるため、アプリケーションは Azure AD Graph API を呼び出す必要があります。These features require access to directory objects, so the application needs to call the Azure AD Graph API. 開発者は、Azure AD にアプリケーションを登録し、Azure AD Graph API に対する読み取りと書き込みのアクセス許可を必要とするように構成して、他の組織がディレクトリ内のアプリケーションを使用することに同意できるように外部アクセスを有効にします。The developer registers the application in Azure AD, configures it to require read and write permissions for Azure AD Graph API, and then enables external access so that other organizations can consent to use the application in their directory. 別の組織のユーザーが初めてアプリケーションに対する認証を行うとき、アプリケーションが要求しているアクセス許可に関する同意ダイアログが表示されます。When a user in another organization authenticates to the application for the first time, they are shown a consent dialog with the permissions the application is requesting. 同意すると、アプリケーションには、ユーザーのディレクトリでの Azure AD Graph API に対する要求されたアクセス許可が付与されます。Granting consent will then give the application those requested permissions to Azure AD Graph API in the user’s directory. 同意フレームワークの詳細については、同意フレームワークの概要に関するページを参照してください。For more information on the consent framework, see Overview of the consent framework.

次の手順Next steps

Azure Active Directory Graph API の使用を開始するには、次のトピックを参照してください。To begin using the Azure Active Directory Graph API, see the following topics: