Microsoft Graph で従量制課金 API とサービスを有効にする

Microsoft Graph の一部の API とサービスは 従量制課金され、使用するために支払いが必要です。 支払いを必要とする API の現在の一覧については、「 Microsoft Graph の従量制課金 API とサービス」を参照してください。

Microsoft Graph で従量制課金 API とサービスを使用するには、API を使用するMicrosoft Entra アプリケーションのアプリケーション登録を Azure サブスクリプションに関連付ける必要があります。 このサブスクリプションは、従量制課金に対して課金されます。 この関連付けにより、 Azure Cost Management + Billing を使用して、アプリケーションのコストを理解して管理することもできます。

この記事では、アプリケーションを Azure サブスクリプションに関連付ける方法について説明します。

既知の制限

従量制課金 API には、次の制限事項が適用されます。

  • Microsoft Graph の従量制課金 API とサービスは現在、Microsoft グローバル環境でのみ使用でき、世界中の Microsoft Graph エンドポイントを介してアクセスされる Microsoft 365 GCC デプロイを含む、国内クラウドデプロイでは使用できません。 各国のクラウドの詳細については、「 National Cloud のデプロイ」を参照してください。
  • ターゲット アプリケーションは、機密クライアント アプリケーション (Web アプリケーション、Web API、デーモン/サービスなど) である必要があります。 パブリック クライアント アプリケーション (デスクトップ アプリケーションとモバイル アプリケーション) はサポートされていません。

前提条件

Microsoft Graph で従量制課金 API とサービスにアクセスするには、次の手順を実行する必要があります。

  • 従量制課金の Microsoft 365 API とサービスを呼び出すアプリケーションのアプリケーション登録をMicrosoft Entra IDに作成します。
  • Azure サブスクリプションをお持ちでない場合は、アプリケーションの登録を含むサブスクリプションをテナントに 作成 します。
  • 使用するアクティブな Azure サブスクリプションに対する共同作成者アクセス許可と、ターゲット アプリケーションの登録に対するアプリケーション所有者のアクセス許可が必要です。

アプリケーションを有効にする

アプリケーションが Microsoft Graph で従量制課金 API とサービスを使用できるようにするには、Azure サブスクリプションに関連付けられている必要があります。 この関連付けを作成するには、 Microsoft.GraphServices/accounts 型の Azure リソースを作成する必要があります。 Azure リソースは、1 つのMicrosoft Entra アプリケーション登録を Azure サブスクリプションに接続します。このサブスクリプションでは、アプリケーションの従量制課金 API の使用量が課金されます。

次の手順を使用して、 Microsoft.GraphServices/accounts Azure リソースを作成し、アプリケーションにリンクします。

メモ:次の手順を実行するには、サインインして https://portal.azure.comCloud Shellを選択するか、ローカルの Azure コマンド ライン インターフェイスを使用します。 Cloud Shellを初めて使用する場合は、ストレージ アカウントの作成が必要になる場合があります。 Azure サブスクリプションを選択し、[ 作成] を選択し、指示に従ってストレージ アカウントを作成します。 ローカルの Azure コマンド ライン インターフェイスを使用するには、 Azure CLI をインストールします。

  1. 複数の Azure サブスクリプションがある場合は、アクティブなサブスクリプションの設定の詳細については、「 複数の Azure サブスクリプションを使用する」を参照してください。それ以外の場合は、次の手順に進みます。

  2. az resource create を使用して、Microsoft.GraphServices/accounts リソースの種類の新しいインスタンスを作成し、アプリケーションの登録をアクティブなサブスクリプションに関連付けます。 コマンド ライン インターフェイスに次のコマンドをコピーし、テーブルに一覧表示されているパラメーターを独自の値に置き換えて、「Enter」と入力 <します>。 コマンドが成功した場合、応答には新しく作成されたリソースの JSON 表現が含まれます。

az resource create --resource-group myRG --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts --properties  "{\"appId\": \"myAppGUID\"}" --location Global --subscription mySubscriptionGUID
パラメーター 説明
myRG 新しく作成されたリソースを追加する既存の Azure リソース グループの名前。
myGraphAppBilling このリソース インスタンスに指定する名前。
myAppGUID 有効になっているアプリケーションのアプリケーション (クライアント) ID。文字列パラメーターとして指定されます。たとえば、00000000-0000-0000-0000-00000000000000。
mySubscriptionGUID 課金イベントを受け取る Azure サブスクリプションの ID。文字列パラメーターとして指定されます。たとえば、00000000-0000-0000-0000-00000000000000。

成功した JSON の結果は次のようになります。

{
  "extendedLocation": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.GraphServices/accounts/myGraphAppBilling",
  "identity": null,
  "kind": null,
  "location": "Global",
  "managedBy": null,
  "name": "myGraphAppBilling",
  "plan": null,
  "properties": {
    "appId": "00000000-0000-0000-0000-000000000000",
    "billingPlanId": "00000000-0000-0000-0000-000000000000",
    "provisioningState": "Succeeded"
  },
  "resourceGroup": "myRG",
  "sku": null,
  "systemData": {
    "createdAt": "2023-01-31T00:12:20.7893671Z",
    "createdByType": "User",
    "lastModifiedAt": "2023-01-31T00:12:20.7893671Z",
    "lastModifiedByType": "User"
  },
  "tags": null,
  "type": "microsoft.graphservices/accounts"
}

セットアップの確認

Microsoft Graph で従量制課金 API とサービスを使用するためにアプリケーションが適切に有効になっていることを確認するには、次の手順に従います。

メモ:次の手順を実行するには、サインインして https://portal.azure.comCloud Shellを選択するか、ローカルの Azure コマンド ライン インターフェイスを使用します。 Cloud Shellを初めて使用する場合は、ストレージ アカウントの作成が必要になる場合があります。 Azure サブスクリプションを選択し、[ 作成] を選択し、指示に従ってストレージ アカウントを作成します。 ローカルの Azure コマンド ライン インターフェイスを使用するには、 Azure CLI をインストールします。

  1. 複数の Azure サブスクリプションがある場合は、アクティブなサブスクリプションの設定の詳細については、「 複数の Azure サブスクリプションを使用する」を参照してください。それ以外の場合は、次の手順に進みます。

  2. az resource list を使用して、アクティブな Azure サブスクリプションに関連付けられているリソースを一覧表示します。 コマンド ライン インターフェイスに次のコマンドをコピーし、「Enter>」と入力<します。 コマンドが成功した場合、応答には、アクティブな Azure サブスクリプションに関連付けられているリソースの JSON 表現が含まれます。

  az resource list --resource-type Microsoft.GraphServices/accounts

成功した JSON の結果は次のようになります。

[
  {
    "changedTime": "2023-04-25T18:12:30.586342+00:00",
    "createdTime": "2023-04-25T18:02:30.141407+00:00",
    "extendedLocation": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.GraphServices/accounts/myGraphAppBilling",
    "identity": null,
    "kind": null,
    "location": "global",
    "managedBy": null,
    "name": "myGraphAppBilling",
    "plan": null,
    "properties": null,
    "provisioningState": "Succeeded",
    "resourceGroup": "myRG",
    "sku": null,
    "tags": null,
    "type": "Microsoft.GraphServices/accounts"
  }
]
  1. 手順 2 で返された値で、 az resource show を使用してリソースの完全な詳細を表示します。 コマンド ライン インターフェイスに次のコマンドをコピーし、テーブルに一覧表示されているパラメーターを独自の値に置き換えて、「Enter」と入力 <します>。 コマンドが成功した場合、応答には要求されたリソースの JSON 表現が含まれます。
  az resource show --resource-group myRg --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts
パラメーター 説明
myRG 手順 2 の結果で提供される Azure リソース グループの名前。
myGraphAppBilling 手順 2 の結果で提供されるリソースの名前。

成功した JSON の結果は次のようになります。

{
  "extendedLocation": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.GraphServices/accounts/myGraphAppBilling",
  "identity": null,
  "kind": null,
  "location": "Global",
  "managedBy": null,
  "name": "myGraphAppBilling",
  "plan": null,
  "properties": {
    "appId": "00000000-0000-0000-0000-000000000000",
    "billingPlanId": "00000000-0000-0000-0000-000000000000"
  },
  "resourceGroup": "myRG",
  "sku": null,
  "tags": null,
  "type": "microsoft.graphservices/accounts"
}

properties プロパティには、関連付けられているアプリケーション登録のアプリケーション ID が含まれます。

アプリケーションで従量制課金 API を使用する

アプリケーションの登録とサブスクリプションを関連付けた後、アプリケーションは Microsoft Graph で従量制課金 API とサービスの使用を開始できます。 これらの要求から生成されたコストは、アプリケーションに関連付けられている Azure サブスクリプションに課金されます。

メモ: 従量制課金 API への要求が許可される前に、アプリケーションで新しい OAuth アクセス トークンを要求する必要がある場合があります。

Azure Cost Management + Billing を使用して、Microsoft Graph で従量制課金 API とサービスのコストと使用状況を監視できます。 これにより、サブスクリプション内のコストにアクセスできます。これは、アプリケーション、呼び出し元のテナント、またはメーターに基づいて分割できます。

従量制課金 API とサービスの使用状況に関する請求書

サブスクリプション 支払いサイクルの実行後(通常は月の 5 日目)、サブスクリプション所有者またはロールベースのアクセス許可を持つユーザーは請求書をダウンロードできます。 詳細については、「 Azure 請求書の表示とダウンロード」を参照してください

請求書には、アプリケーションが生成する使用量と、その使用状況が発生しているマルチテナント アプリケーションの使用量を把握できる詳細が含まれます。 詳細については、「 Azure 請求書について」を参照してください。