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、デーモン/サービスなど) である必要があります。 パブリック クライアント アプリケーション (デスクトップ アプリケーションとモバイル アプリケーション) はサポートされていません。
- Azure マネージド ID は、従量制課金 API を呼び出すためにサポートされていません。 詳細については、「 マネージド ID をサポートする Azure サービス」を参照してください。
前提条件
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.com にサインインして Cloud Shell を選択するか、ローカルの Azure コマンド ライン インターフェイスを使用します。 Cloud Shell を初めて使用する場合は、ストレージ アカウントの作成が必要になる場合があります。 Azure サブスクリプションを選択し、[ 作成] を選択し、指示に従ってストレージ アカウントを作成します。 ローカルの Azure コマンド ライン インターフェイスを使用するには、 Azure CLI をインストールします。
複数の Azure サブスクリプションがある場合は、アクティブなサブスクリプションの設定の詳細については、「 複数の Azure サブスクリプションを使用する」を参照してください。それ以外の場合は、次の手順に進みます。
Azure Cloudshell または独自の Azure CLI インストールで az graph-services を使用して、Microsoft.GraphServices/accounts リソースの種類の新しいインスタンスを作成して、アプリケーションの登録をアクティブなサブスクリプションに関連付けます。
次のコマンドを任意のコマンド ライン インターフェイス (PowerShell、Bash、または Windows コマンド プロンプト) にコピーし、テーブルに一覧表示されているパラメーターを独自の値に置き換え、「 <Enter>」と入力します。 コマンドが成功した場合、応答には、新しく作成された課金リソースの JSON 表現が含まれます。
az graph-services account create --resource-group myRG --resource-name myGraphAppBilling --subscription mySubscriptionGUID --location global --app-id AppRegGUID
パラメーター | 説明 |
---|---|
myRG | 新しく作成されたリソースを追加する既存の Azure リソース グループの名前。 |
myGraphAppBilling | このリソース インスタンスに指定する名前。 |
myAppGUID | 有効になっているアプリケーションのアプリケーション (クライアント) ID。文字列パラメーターとして指定されます。たとえば、123e4567-e89b-12d3-a456-426655440000。 |
mySubscriptionGUID | 課金イベントを受け取る Azure サブスクリプションの ID。文字列パラメーターとして指定されます。たとえば、123e4567-e89b-12d3-a456-426655440000。 |
成功した JSON の結果は次のようになります。
{
"extendedLocation": null,
"id": "/subscriptions/<mySubscriptionGUID>/resourceGroups/<myRG>/providers/Microsoft.GraphServices/accounts/<myGraphAppBilling>",
"identity": null,
"kind": null,
"location": "Global",
"managedBy": null,
"name": "<myGraphAppBilling>",
"plan": null,
"properties": {
"appId": "<myAppGUID>",
"billingPlanId": "123e4567-e89b-12d3-a456-426655440000",
"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.com にサインインして Cloud Shell を選択するか、ローカルの Azure コマンド ライン インターフェイスを使用します。 Cloud Shell を初めて使用する場合は、ストレージ アカウントの作成が必要になる場合があります。 Azure サブスクリプションを選択し、[ 作成] を選択し、指示に従ってストレージ アカウントを作成します。 ローカルの Azure コマンド ライン インターフェイスを使用するには、 Azure CLI をインストールします。
複数の Azure サブスクリプションがある場合は、アクティブなサブスクリプションの設定の詳細については、「 複数の Azure サブスクリプションを使用する」を参照してください。それ以外の場合は、次の手順に進みます。
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/<mySubscriptionGUID>/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"
}
]
- 手順 2 で返された値で、 az resource show を使用してリソースの完全な詳細を表示します。 次のコマンドをコマンド ライン インターフェイスにコピーし、テーブルに一覧表示されているパラメーターを独自の値に置き換え、「 <Enter>」と入力します。 コマンドが成功した場合、応答には要求されたリソースの JSON 表現が含まれます。
az resource show --resource-group myRg --name myGraphAppBilling --resource-type Microsoft.GraphServices/accounts
| Parameter | Description |
|:--------------------------|:----------------------------------------|
| myRG | The name of the Azure resource group provided in the result of step 2. |
| myGraphAppBilling | The name of the resource provided in the result of step 2. |
A successful JSON result will look something like this:
```json
{
"extendedLocation": null,
"id": "/subscriptions/<mySubscriptionGUID>/resourceGroups/<myRG>/providers/Microsoft.GraphServices/accounts/<myGraphAppBilling>",
"identity": null,
"kind": null,
"location": "Global",
"managedBy": null,
"name": "<myGraphAppBilling>",
"plan": null,
"properties": {
"appId": "<myAppGUID>",
"billingPlanId": "123e4567-e89b-12d3-a456-426655440000"
},
"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 請求書について」を参照してください。