支払いサービス API を使用して支払いを管理する
この記事では、パートナー センター UI ではなく、支払いサービス API を使用して支払いデータにアクセスする方法について説明します。 これらの API は、パートナー センターでデータのエクスポート機能の機能を提供するプログラムによる方法を提供します。
重要
Azure Active Directory (Azure AD) Graph は、2023 年 6 月 30 日の時点で非推奨となっています。 今後、Azure AD Graph への投資は行いません。 Azure AD Graph API には、セキュリティ関連の修正プログラムを超える SLA またはメインテナント コミットメントはありません。 新機能への投資は Microsoft Graph に対してのみ行われます。
アプリケーションを Microsoft Graph API に移行するのに十分な時間を確保できるように、段階的な手順で Azure AD Graph を廃止します。 後日お知らせしますが、Azure AD Graph を使用して新しいアプリケーションの作成をブロックします。
詳細については、「重要: Azure AD Graph の廃止と PowerShell モジュールの廃止」を参照してください。
利用可能な API
利用可能なすべての API については、パートナーの支払いを参照してください。
前提条件
- Azure portal でアプリケーションを Microsoft ID に登録し、適切な所有者とロールをアプリケーションに追加します。
- Visual Studio のインストール。
Microsoft ID プラットフォームにアプリケーションを登録する
Microsoft ID プラットフォームを利用して構築されたアプリケーションでは、ユーザーや顧客は自分の Microsoft ID やソーシャル アカウントを使ってサインインでき、独自の API や Microsoft Graph などの Microsoft API への承認されたアクセスを提供できます。
職場または学校アカウントか、個人の Microsoft アカウントを使用して、Azure portal にサインインします。
アカウントから複数のテナントにアクセスできる場合は、右上隅にあるアカウントを選択し、ポータル セッションを正しい Microsoft Entra テナントに設定します。
左側のナビゲーション ウィンドウで、Microsoft Entra サービスを選択し、アプリの登録し、[新規登録] を選択します。 [アプリケーションの登録] ページが表示されます。
アプリケーションの登録情報を入力します。
- 名前: アプリのユーザーに表示されるわかりやすいアプリケーション名を入力します。
- サポートされているアカウントの種類: アプリケーションでサポートするアカウントを選択します。
サポートされているアカウントの種類 説明 この組織ディレクトリ内のアカウントのみ 基幹業務 (LOB) アプリケーションを作成している場合は、このオプションを選択します。 アプリケーションをディレクトリに登録していない場合、このオプションは選択できません。 このオプションは、Microsoft Entra 専用のシングル テナントにマップされます。 このオプションは、ディレクトリの外部にアプリを登録している場合を除き、既定です。 アプリがディレクトリの外部に登録されている場合、既定は Microsoft Entra マルチテナントアカウントと個人の Microsoft アカウントです。 任意の組織のディレクトリ内のアカウント 企業および教育機関のすべてのユーザーを対象とする場合は、このオプションを選択します。 このオプションは、Microsoft Entra 専用マルチテナントにマップされます。 アプリを Microsoft Entra 専用シングルテナントとして登録した場合は、[認証] ブレードを使用して、アプリを Microsoft Entra マルチテナントに更新し、シングルテナントに戻すことができます。 任意の組織ディレクトリおよび個人の Microsoft アカウントでのアカウント このオプションを選択して、最も幅広い顧客を対象にします。 このオプションは、Microsoft Entra マルチテナントおよび個人用 Microsoft アカウントにマップされます。 アプリを Microsoft Entra マルチテナントアカウントおよび個人用 Microsoft アカウントとして登録した場合、UI でこの選択を変更することはできません。 代わりに、アプリケーション マニフェスト エディターを使用してサポートされているアカウント タイプを変更する必要があります。 (省略可能) リダイレクト URI: ビルドするアプリの種類、Web またはパブリック クライアント (モバイルとデスクトップ) を選択し、アプリケーションのリダイレクト URI (または応答 URL) を入力します。 (リダイレクト URL は、ユーザーの認証後に認証応答が送信される場所です)。
Web アプリケーションの場合は、アプリのベース URL を指定します。 ローカル マシンで実行されている Web アプリの URL であれば、たとえば
http://localhost:31544
のようになります。 ユーザーはこの URL を使用して、Web クライアント アプリケーションにサインインすることになります。 パブリック クライアント アプリケーションの場合は、トークン応答を返すために Microsoft Entra ID によって使用される URI を指定します。 アプリケーション固有の値 (たとえば、myapp://auth
) を入力します。
登録 を選択します。 Microsoft Entra ID によって一意のアプリケーション (クライアント) ID がアプリケーションに割り当てられ、アプリケーションの概要ページが読み込まれます。
アプリケーションに機能を追加する場合は、ブランド化、証明書とシークレット、API のアクセス許可など、他の構成オプションを選択できます。
プラットフォーム固有のプロパティ
次の表に、さまざまな種類のアプリの構成とコピーに必要なプロパティを示します。 割り当て済み とは、Microsoft Entra ID によって割り当てられた値を使用する必要があることを意味します。
アプリの種類 | プラットフォーム | アプリケーション (クライアント) ID | クライアント シークレット | リダイレクト URI/URL | 暗黙的なフロー |
---|---|---|---|---|---|
ネイティブ/モバイル | ネイティブ | 割り当て済み | いいえ | 割り当て済み | いいえ |
Web アプリ | Web | 割り当て済み | はい | はい | オプションの OpenID Connect ミドルウェアでは、既定でハイブリッド フローが使用されます (はい) |
シングル ページ アプリ (SPA) | Web | 割り当て済み | はい | はい | はい SPA で OpenID Connect 暗黙的フローを使用する |
サービス/デーモン | Web | 割り当て済み | はい | はい | いいえ |
サービス プリンシパルの作成
サブスクリプション内のリソースにアクセスするには、アプリケーションにロールを割り当てる必要があります。 アプリケーションに適切なアクセス許可を提供するロールの決定については、Azure の組み込みロールに関するページを参照してください。
Note
スコープは、サブスクリプション、リソース グループ、またはリソースのレベルで設定できます。 アクセス許可は、スコープの下位レベルに継承されます。 たとえば、アプリケーションをリソース グループの閲覧者ロールに追加すると、そのリソース グループと、その中にあるどのリソースも読み取りができることになります。
Azure portal で、アプリケーションを割り当てるスコープのレベルを選択します。 たとえば、サブスクリプション スコープでロールを割り当てるには、サブスクリプションを検索して選択するか、ホーム ページで [サブスクリプション] を選択します。
アプリケーションを割り当てるサブスクリプションを選択します。
Note
探しているサブスクリプションが表示されない場合は、グローバル サブスクリプション フィルターを選択し、ポータルに必要なサブスクリプションが選択されていることを確認します。
[アクセス制御 (IAM)] を選択したら、[ロール割り当ての追加] を選択します。
アプリケーションに割り当てるロールを選択します。 たとえば、インスタンスの再起動、開始、停止などのアクションをアプリケーションで実行できるようにするには、[共同作成者] ロールを選択します。 使用可能なロールについて詳しくは、こちらをご覧ください。
既定では、Microsoft Entra アプリケーションは、使用可能なオプションに表示されません。 アプリケーションを検索するには、名前を検索し、結果から選択します。 次のスクリーンショットは、
example-app
登録した Microsoft Entra アプリです。[保存] を選択します。 その後、そのスコープのロールを持つユーザーの一覧にアプリケーションを表示できます。
サービス プリンシパルを使用してスクリプトまたはアプリを実行できます。 サービス プリンシパルのアクセス許可を管理するには、ユーザーの同意状態の確認、アクセス許可の確認、サインイン情報の表示など)、Azure portal でエンタープライズ アプリケーションを表示します。
API のアクセス許可を設定する
このセクションでは、必要な API アクセス許可を設定する方法について説明します。 パートナー センター API のアクセス許可の設定の詳細については、「パートナー API 認証」を参照してください。
Graph API にアクセス許可を付与する
Azure portal で [アプリの登録] を開きます。
アプリケーションを選択するか 、まだアプリがない場合は作成 します。
アプリケーションの [概要] ページで、[管理] で [API のアクセス許可] を選択し、[アクセス許可の追加] を選択します。
利用可能な API の一覧から [Microsoft Graph] を選択します。
[委任されたアクセス許可] を選択し、必要なアクセス許可を追加します。 詳細については、「アプリ アクセスの構成」を参照してください。
Microsoft Entra アプリを使用したパートナー センター API への API アクセスへの同意
アプリケーションの場合は、API のアクセス許可を選択し、[API のアクセス許可の要求] 画面で [アクセス許可の追加] を選択し、組織が使用する API を選択します。
Microsoft Partner (Microsoft デベロッパー センター) API (4990cffe-04e8-4e8b-808a-1175604b879f) を検索します。
委任されたアクセス許可をパートナー センターに 設定します。
API 管理同意を付与します。
管理同意の状態画面で、管理同意が有効になっていることを確認します。
[認証] セクションで、[パブリック クライアント フローを許可する] オプションが [はい] に設定されていることを確認します。
Visual Studio でサンプル コードを実行する
支払いとトランザクション履歴に API を使用する方法を示すサンプル コードは 、パートナー センター-Payout-API GitHub リポジトリにあります。
サンプル コードノート
- 「認証: Azure portal でサービス プリンシパルを作成する方法」の 2 つのオプション セクションで説明されているように、クライアント シークレットと証明書の構成は必要ありません。
- 多要素認証 (MFA) を持つアカウントは現在サポートされていないため、エラーが発生します。
- Payout API では、ユーザー/パスワードベースの資格情報のみがサポートされます。
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示