次の方法で共有


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

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

Microsoft Marketplace では、SaaS サービスがエンド ユーザーに使用する認証方法に制約はありません。 以下のフローは、Microsoft 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. 完了したら、[登録] を選択します。

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

  7. SaaS API リソース 20e940b3-4c77-4b0b-9a53-9e16a1b010a7 のサービス プリンシパルを、SaaS アプリケーションを作成するのと同じテナントに登録します。 これを行うには、次の Azure CLI スクリプトまたは選択した方法を使用できます。

az login --tenant <TENANT_ID_GOES_HERE> 
az ad sp create --id 20e940b3-4c77-4b0b-9a53-9e16a1b010a7

手記

オファーのパートナー センターの [技術構成] ページで指定したのと同じ Entra テナント ID と Entra アプリケーション ID を使用してトークンを生成する必要があります。

Microsoft では、アプリを シングル テナント アクセスとして設定することをお勧めします。 アプリのマルチテナント アクセス オプションを選択する必要がある場合は、アプリ インスタンス ロックを構成することを強くお勧めします。

Azure AD アプリ登録で [パブリック クライアント フローを許可する] 設定を有効にしないでください。詳細はこちらをご覧ください

発行元の承認トークンを取得する方法

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

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

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

HTTP メソッド

Post

要求 URL

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

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

応答の例:

{
      "token_type": "Bearer",
      "expires_in": "3600",
      "ext_expires_in": "0",
      "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
  }
要素 説明
access_token この要素は、すべての SaaS フルフィルメント API と Marketplace 測定 API を呼び出すときに承認パラメーターとして渡す <access_token> です。 セキュリティで保護された REST API を呼び出すと、トークンは Authorization 要求ヘッダー フィールドに "ベアラー" トークンとして埋め込まれます。これにより、API は呼び出し元を認証できます。
expires_in 発行時から有効期限が切れる前に、アクセス トークンが引き続き有効な秒数。 発行の時刻は、トークンの iat 要求で確認できます。
expires_on アクセス トークンの有効期限が切れる期間。 日付は、"1970-01-01T0:0:0Z UTC" からの秒数として表されます (トークンの exp 要求に対応します)。
token_type トークンの種類。"ベアラー" アクセス トークンです。これは、リソースがこのトークンのベアラーへのアクセス権を付与できることを意味します。

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

ビデオチュートリアル