Azure AD 同期 API の概要Azure AD synchronization API overview

重要: Microsoft Graph のベータ版 (/beta) の API はプレビュー中であるため、変更されることがあります。Important: APIs under the /beta version in Microsoft Graph are in preview and are subject to change. 実稼働アプリケーションでの、これらの API の使用はサポートされていません。Use of these APIs in production applications is not supported.

(「プロビジョニング」とも呼ばれます)、azure Active Directory (AD の Azure) id の同期を使用すると、作成、保守、およびクラウド (SaaS サービスとしてのソフトウェア) の id の削除を自動化するアプリケーションをドロップ ボックス セールス ServiceNow、など。Azure Active Directory (Azure AD) identity synchronization (also called "provisioning") allows you to automate the creation, maintenance, and removal of identities in cloud (software as a service, or SaaS) applications such as Dropbox, Salesforce, ServiceNow, and more. 使用できます同期 Api Graph でプログラムを使用して、id の同期を管理するのになど。You can use the synchronization APIs in Microsoft Graph to manage identity synchronization programmatically, including:

  • 作成、起動、および同期ジョブを停止します。Create, start, and stop synchronization jobs
  • ジョブの同期スキーマに変更を加えるMake changes to the synchronization schema for jobs
  • 現在の同期状態を確認します。Verify the current synchronization status

Azure AD での同期の詳細についてを参照してください。For more information about synchronization in Azure AD, see:

サンプルのテナントや、独自のテナントでのグラフのエクスプ ローラーの API を試みることができます。You can also try the API in the Graph Explorer in a sample tenant or your own tenant.

同期ジョブSynchronization job

同期ジョブは、バック グラウンドで定期的に実行している、1 つのディレクトリと別のディレクトリにプッシュすることで変更をポーリングして同期を実行します。Synchronization jobs perform synchronization by periodically running in the background, polling for changes in one directory, and pushing them to another directory. 同期ジョブは、テナントにアプリケーションの特定のインスタンスに固有では常にします。The synchronization job is always specific to a particular instance of an application in your tenant. 同期ジョブの設定の一部として、ターゲット ディレクトリにオブジェクトを読み書きするための承認を与えると、ジョブの同期スキーマをカスタマイズする必要があります。As part of the synchronization job setup, you need to give authorization to read and write objects in your target directory, and customize the job's synchronization schema.

詳細については、同期ジョブを参照してください。For more information, see synchronization job.

同期スキーマSynchronization schema

同期スキーマで定義されるオブジェクトの同期し、同期する方法です。The synchronization schema defines what objects will be synchronized and how they will be synchronized. 同期スキーマには、特定の同期ジョブのセットアップ情報のほとんどが含まれています。The synchronization schema contains most of the setup information for a particular synchronization job. 通常、属性マッピングの一部をカスタマイズまたはを特定の条件を満たすオブジェクトのみを同期するスコープのフィルターが追加されます。Typically, you will customize some of the attribute mappings, or add a scoping filter to synchronize only objects that satisfy a certain condition.

同期スキーマには、次のコンポーネントが含まれています。The synchronization schema includes the following components:

  • ディレクトリの定義Directory definitions
  • 同期ルールSynchronization rules
  • オブジェクトのマッピングObject mappings

詳細については、同期スキーマを参照してください。For more information, see synchronization schema.

同期テンプレートSynchronization template

同期テンプレートは、特定のアプリケーションの構成済みの同期設定を提供します。The synchronization template provides pre-configured synchronization settings for a particular application. (最も重要なは、同期スキーマ) は、これらの設定は、テンプレートに基づくすべての同期ジョブの既定で使用されます。These settings (most importantly, synchronization schema) will be used by default for any synchronization job that is based on the template. テンプレートは、アプリケーション開発者によって指定されます。Templates are specified by the application developer.

詳細については、同期のテンプレートを参照してください。For more information, see synchronization template.

同期 API を使用します。Working with the synchronization API

同期を使用する API の主要部分はsynchronizationJobsynchronizationSchemaのリソースにアクセスします。Working with synchronization API primarily involves accessing the synchronizationJob and synchronizationSchema resources. SynchronizationJobリソースを検索するには、同期ジョブが属するサービスのプリンシパル オブジェクトの ID を確認する必要があります。To find your synchronizationJob resource, you need to know the ID of the service principal object that the synchronization job belongs to. 次の例では、 synchronizationJobsynchronizationSchemaのリソースを操作する方法を示します。The following examples show you how to work with the synchronizationJob and synchronizationSchema resources.

AuthorizationAuthorization

Azure AD 同期 API では、OAuth 2.0 を使用して、承認のため。The Azure AD synchronization API uses OAuth 2.0 for authorization. API へのすべての要求を行う前に、アクセス トークンを取得する必要があります。Before making any requests to the API, you need to get an access token. 詳細については、 Microsoft Graph を呼び出すための Get アクセス トークンを参照してください。For more information, see Get access tokens to call Microsoft Graph. 同期リソースにアクセスするには、アプリケーションには、Directory.ReadWrite.All のアクセス許可が必要があります。To access synchronization resources, your application needs Directory.ReadWrite.All permissions. 詳細については、ディレクトリのアクセス許可を参照してください。For more information, see Directory permissions.

サービスのプリンシパル オブジェクトを表示名で検索します。Find the service principal object by display name

次の例では、表示名でサービスのプリンシパル オブジェクトを検索する方法を示します。The following example shows how to find service principal object by display name.

要求Request

GET https://graph.microsoft.com/beta/servicePrincipals?$select=id,appId,displayName&$filter=startswith(displayName, 'salesforce')

応答Response

HTTP/1.1 200 OK
{
    "value": [
    {
        "id": "bc0dc311-87df-48ac-91b1-259bd2c3a31c",
        "appId": "f7808c5e-cb57-4e37-8094-406d302c0f8d",
        "displayName": "Salesforce"
    },
    {
        "id": "d813d7d7-0f41-4edc-b284-d0dfaf399d15",
        "appId": "219561ee-1480-4c67-9aa6-63d861fae3ef",
        "displayName": "salesforce 3"
    }
    ]
}

アプリケーション id サービスのプリンシパル オブジェクトを検索します。Find the service principal object by app ID

次の使用例は、アプリケーション id サービスのプリンシパル オブジェクトを検索する方法を示しています。The following example shows how to find the service principal object by app ID.

要求

**Request**

GET https://graph.microsoft.com/beta/servicePrincipals?$select=id,appId,displayName&$filter=AppId eq '219561ee-1480-4c67-9aa6-63d861fae3ef'

応答

**Response**

HTTP/1.1 200 OK
{
    "value": [
        {
            "id": "d813d7d7-0f41-4edc-b284-d0dfaf399d15",
            "appId": "219561ee-1480-4c67-9aa6-63d861fae3ef",
            "displayName": "salesforce 3"
        }
    ]
}

既存の同期ジョブを一覧表示します。List existing synchronization jobs

次の使用例は、既存の同期ジョブを一覧表示する方法を示しています。The following example shows you how to list existing synchronization jobs.

要求

**Request**

GET https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs
GET https://graph.microsoft.com/beta/servicePrincipals/60443998-8cf7-4e61-b05c-a53b658cb5e1/synchronization/jobs

応答

**Response**

HTTP/1.1 200 OK
{
    "value": [
        {
            "id": "SfSandboxOutDelta.e4bbf44533ea4eabb17027f3a92e92aa",
            "templateId": "SfSandboxOutDelta",
            "schedule": {
                "expiration": null,
                "interval": "PT20M",
                "state": "Active"
            },
            "status": {}
        }
    ]
}

同期ジョブのステータスを取得します。Get synchronization job status

次の例では、同期ジョブのステータスを取得する方法を示します。The following example shows you how to get the status of a synchronization job.

要求

**Request**

GET https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}

GET https://graph.microsoft.com/beta/servicePrincipals/60443998-8cf7-4e61-b05c-a53b658cb5e1/synchronization/jobs/SfSandboxOutDelta.e4bbf44533ea4eabb17027f3a92e92aa

応答

**Response**

    HTTP/1.1 200 OK
    {
        "id": "SfSandboxOutDelta.e4bbf44533ea4eabb17027f3a92e92aa",
        "templateId": "SfSandboxOutDelta",
        "schedule": {
            "expiration": null,
            "interval": "PT20M",
            "state": "Active"
        },
        "status": {}
    }

同期スキーマを取得しますGet synchronization schema

次の例では、同期スキーマを取得する方法を示します。The following example shows you how to get the synchronization schema.

要求

**Request**

GET https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema

応答

**Response**

HTTP/1.1 200 OK
{
    "directories": [],
    "synchronizationRules": []
}

関連項目See also