SaaS アプリケーションを登録する

この記事では、Microsoft Azure portal を使用して SaaS アプリケーションを登録する方法と、発行元のアクセス トークン (Microsoft Entra アクセス トークン) を取得する方法について説明します。 公開元はこのトークンを使用して、SaaS Fulfillment API を呼び出すことによって、SaaS アプリケーションを認証します。 Fulfillment API は、OAuth 2.0 クライアント資格情報を使用して、サービス間アクセス トークン要求を行うために Microsoft Entra ID (v1.0) エンドポイントにフローを付与します。

Azure Marketplace では、SaaS サービスがエンド ユーザーに対して使用する認証方法に対して、制約がありません。 以下のフローは、Azure Marketplace で SaaS サービスを認証するためにのみ必要です

Microsoft Entra ID (Active Directory) の詳細については、「認証とは」を参照してください

Microsoft Entra ID で保護されたアプリを登録する

Microsoft Entra ID の機能を使用するアプリケーションは、まず Microsoft Entra テナントに登録する必要があります。 この登録プロセスでは、アプリケーションに関する詳細を Microsoft Entra に提供する必要があります。 Azure portal を使用して新しいアプリケーションを登録するには、次の手順を実行します。

  1. Azure portal にサインインします。

  2. お使いのアカウントで複数のアプリケーションにアクセスできる場合は、右上隅で自分のアカウントを選択します。 次に、ポータル セッションを目的の Microsoft Entra テナントに設定します。

  3. 左側のナビゲーション ウィンドウで、Microsoft Entra ID サービスを選択し、アプリの登録を選択して、[新しいアプリケーションの登録] を選択します。

    SaaS Entra アプリの登録画面のスクリーンショット。

  4. [作成] ページで、アプリケーションの登録情報を入力します。

    • 名前: わかりやすいアプリケーション名を入力します

    • サポートされているアカウントの種類:

      [この組織のディレクトリ内のアカウントのみ (シングル テナント)]を選択します。

  5. 終了したら、 [登録] を選択します。 Microsoft Entra ID は、新しいアプリケーションに一意 のアプリケーション ID を 割り当てます。 API にのみアクセスするアプリを 1 つ登録し、シングル テナントとして登録する必要があります。

  6. クライアント シークレットを作成するには、[証明書とシークレット] ページに移動し、[+ 新しいクライアント シークレット] を選択します。 シークレット値は、コードで使用するため、必ずコピーしてください。

Microsoft Entra アプリ ID は発行元 ID に関連付けられているため、すべてのオファーで同じアプリ ID が使用されていることを確認します。

Note

発行元がパートナー センターに 2 つ以上の異なるアカウントを持っている場合、Microsoft Entra アプリの登録の詳細は 1 つのアカウントでのみ使用できます。 同じテナント ID を使用すると、別の発行元アカウントのオファーのアプリ ID ペアはサポートされません。

Note

発行元が SaaS API へのアクセスにマルチテナント アプリを使用している場合は、トークンの生成に使用しているテナントにアプリが登録されていることを確認します。 マルチテナント アプリケーションからのエンタープライズ アプリケーションの作成を参照してください

公開元の承認トークンを取得する方法

アプリケーションを登録したら、発行元の承認トークン (Microsoft Entra アクセス トークン、Azure AD v1 エンドポイントを使用) をプログラムで要求できます。 公開元は、さまざまな SaaS Fulfillment API を呼び出すときに、このトークンを使用する必要があります。 このトークンは 1 時間だけ有効です。

これらのトークンの詳細については、「Microsoft Entra アクセス トークン」を参照してください。 下のフローでは、V1 エンドポイント トークンが使用されます。

HTTP POST を使用してトークンを取得する

HTTP メソッド

投稿

要求 URL

https://login.microsoftonline.com/*{tenantId}*/oauth2/token

URI パラメーター
パラメーター名 Required 説明
tenantId True 登録済みの Microsoft Entra アプリケーションのテナント ID。
要求ヘッダー
ヘッダー名 必須 説明
content-type True 要求に関連付けられたコンテンツの種類。 既定値は application/x-www-form-urlencoded です。
要求本文
プロパティ名 必須 説明
grant_type True 付与タイプです。 "client_credentials" を使用してください。
client_id True Microsoft Entra アプリに関連付けられているクライアント/アプリ識別子。
client_secret True Microsoft Entra アプリに関連付けられているシークレット。
resource True トークンを要求されたターゲット リソース。 この場合、Marketplace SaaS API は常にターゲット リソースであるため、20e940b3-4c77-4b0b-9a53-9e16a1b010a7 を使用します。
回答
名前 種類 説明
200 OK TokenResponse 要求成功。
TokenResponse

応答のサンプル:

{
      "token_type": "Bearer",
      "expires_in": "3600",
      "ext_expires_in": "0",
      "expires_on": "15251…",
      "not_before": "15251…",
      "resource": "20e940b3-4c77-4b0b-9a53-9e16a1b010a7",
      "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
  }
要素 説明
access_token この要素は、すべての SaaS Fulfillment API と Marketplace 計測 API を呼び出すときに承認パラメーターとして渡す <access_token> です。 セキュリティで保護された REST API を呼び出すとき、トークンは Authorization 要求ヘッダー フィールドに "ベアラー" トークンとして埋め込まれ、API が呼び出し元を認証できるようにします。
expires_in アクセス トークンが発行されてから期限切れになるまでの有効継続時間 (秒単位)。 発行時刻はトークンの iat 要求で確認できます。
expires_on アクセス トークンが期限切れになるまでの期間。 日付は "1970-01-01T0:0:0Z UTC" からの秒数として表されます (トークンの exp 要求に対応)。
not_before アクセス トークンが有効になり、承認されるまでの期間。 日付は "1970-01-01T0:0:0Z UTC" からの秒数として表されます (トークンの nbf 要求に対応)。
resource アクセス トークンの要求対象リソース。要求の resource クエリ文字列パラメーターと一致します。
token_type トークンの種類。つまり "ベアラー" アクセス トークン。リソースが、このトークンのベアラーへのアクセスを提供できることを意味します。

次のステップ

Microsoft Entra ID で保護されたアプリで、SaaS Fulfillment サブスクリプション API バージョン 2SaaS Fulfillment Operations API バージョン 2 を使用できるようになりました。

ビデオ チュートリアル