代理人のトークン請求を参照

エージェントは認証および認可フロー中に異なるエンティティタイプとその関係を特定するために、専門的なトークンクレームを使用します。 これらの請求により、代理店の運営における適切な帰属、保険証券評価、監査記録が可能になります。 本記事では、エージェントアプリケーションにおけるトークン請求について概説し、トークンがどのようにエージェントエンティティとその認証フローにおける役割を識別するかを詳述します。

エージェント ID を使用するクライアントは、リソース サーバーで使用するために発行されたアクセス トークンを不透明として扱い、解析を試みないことを期待されます。 ただし、エージェントに発行されたアクセス トークンを受け取るリソース サーバーは、トークンを解析して検証し、承認のために要求を抽出する必要があります。

コアトークンクレームタイプ

リソース アクセスに使用される ID に対して発行されるトークンには、通常、問題をMicrosoft Entraするアクセス トークンに表示される要求が含まれます。 詳細については、 アクセストークン請求の参考文献をご覧ください。 以下の例は、エージェントに発行されたサンプルアクセストークンが自律的に動作している様子を示しています。

{
  "aud": "f2510d34-8dca-4ab8-a0bc-aaec4d3a3e36",
  "iss": "https://sts.windows.net/00000001-0000-0ff1-ce00-000000000000/",
  "iat": 1753392285,
  "nbf": 1753392285,
  "exp": 1753421385,
  "aio": "Y2JgYGhn1nzmErKqi0vc4Fr6H22/C5/4FP+xZbZYpik8nRkp+gEA",
  "appid": "aaaaaaaa-1111-2222-3333-444444444444",
  "appidacr": "2",
  "idp": "https://sts.windows.net/00000001-0000-0ff1-ce00-000000000000/",
  "idtyp": "app",
  "oid": "bbbbbbbb-1111-2222-3333-444444444444",
  "rh": "1.AAAAAQAAAAAA8Q_OAAAAAAAAADQNUfLKjbhKoLyq7E06PjYAAAAAAA.",
  "sub": "cccccccc-1111-2222-3333-444444444444",
  "tid": "00000001-0000-0ff1-ce00-000000000000",
  "uti": "m5RaaRnoFUyp2TbSCAAAAA",
  "ver": "1.0",
  "xms_act_fct": "3 9 11",
  "xms_ftd": "Z5DrW4HFOkR_Lz0M5qETa260d2-fO6seMZJ_tOwRNuc",
  "xms_idrel": "7 10",
  "xms_sub_fct": "9 3 11",
  "xms_tnt_fct": "3 9",
  "xms_par_app_azp": "30cf4c22-9985-4ef7-8756-91cc888176bd"
}

v2トークンではazpではなくappidが見えます。 どちらもエージェントIDのアプリケーションIDを指しています。

トークンには、これまでアクセストークンに発行されていないいくつかのクレームが含まれていることに気づくでしょう。 以下のオプション請求も、トークンがエージェントのアイデンティティ用であることを識別するために支持されています。 また、エージェントのアイデンティティがどのような状況で行動しているかをより明確に示します。

  • xms_tnt_fct
  • xms_sub_fct
  • xms_act_fct
  • xms_par_app_azp
要求名 説明
tid エージェントIDが登録されている顧客テナントのテナントID。 トークンが有効なのはテナントです。
sub 主体(認証対象のユーザー、サービスプリンシパル、またはエージェントの身元)
oid 対象のオブジェクトID。 ユーザー委任シナリオのためのユーザーオブジェクトID。 アプリのみのシナリオ向けのエージェントIDサービスプリンシパルOID。 ユーザー偽装シナリオ用のエージェントのユーザー アカウント OID。
idtyp 対象となる法人の種類。 値はuser,appです。
tid エージェントIDが登録されている顧客テナントのテナントID。
xms_idrel 主体とリソーステナントの関係。 詳細はこちら
aud オーディエンス(エージェントがアクセスしようとしているAPI)
azp または appid 認可された当事者/アクター。 エージェントIDのアプリケーションID。 監査ログにおける適切なクライアント帰属を可能にします。
scp 範囲。 ユーザーコンテキストトークンの権限を委譲します。 ユーザー委任とエージェントのユーザー アカウント シナリオにのみ存在します。 アプリのみのシナリオでは空または/
xms_act_fct 俳優の側面が主張します。 詳細はこちら
xms_sub_fct 主体の側面は主張しています。 詳しくはこちらをご覧ください。
xms_tnt_fct テナントの側面請求。 詳しくはこちらをご覧ください。
xms_par_app_azp 認可当事者の親申請。 詳しくはこちらをご覧ください。

xms_idrel

xms_idrel請求は、トークンが発行されるエンティティとリソーステナントとのアイデンティティ関係を示します。

以下は xms_idrel 請求の可能な値を示します。 これは多値請求であり、複数の値を持つことができ、空間で区切られています。 値は整数で表されます。 有効な値は常に1から始まる奇数です。

請求額 説明
1 会員ユーザー
3 MSA会員ユーザー
5 ゲスト ユーザー
7 サービス プリンシパル
9 装置の原理
11 GDAPユーザー
13 SPLess アプリケーション
15 パススルー
17 プロファイルを持つネイティブアイデンティティユーザー
19 ネイティブアイデンティティユーザー
21 ネイティブアイデンティティチームの会議参加者
23 パススルー認証済みTeams会議参加者
25 ネイティブアイデンティティのコンテンツ共有ユーザー
27 完全に同期したMTOメンバー
29 弱いMTOユーザー
31 DAPユーザー
33 フェデレーテッド・マネージド・アイデンティティ

xms_tnt_fct、xms_sub_fct、xms_act_fct請求

xms_tnt_fct請求は、tid請求で識別される借主を記述します。 xms_sub_fct請求項とxms_act_fct請求項は、それぞれトークンの対象(sub)と行為者(azpまたはappid)に関する事実を記述するために用いられます。 これらの主張は、エージェントの身元やその行動についてより深い文脈を提供します。

以下はこれらの主張に関する関連する価値です。 これらの請求は多重価値を持ち、複数の値を持つことができ、間隔で区切られています。 有効な値は常に1から始まる奇数です。

請求額 説明
11 エージェントアイデンティティ
13 AgentIDUser

シナリオや検証ロジックに関係のない値は無視すべきです。 応募に関係のない値は無視しましょう。 これらの主張の価値の順序を決めないでください。

xms_par_app_azp

xms_par_app_azp請求は、認可当事者の親アプリケーション(azpまたはappid)を特定するために用いられます。 含まれている場合はGUIDです。 請求を使って親を特定することができます

監査のために親アプリケーションIDを記録してください。 Microsoft Entra IDサインイン ログには常に親 ID (使用可能な場合) が含まれるため、リソース サーバーでも同じ操作を行う必要があります。 承認決定に親アプリケーションIDを使うことは推奨されません。多くのエージェントが広範囲にアクセスしてしまうためです。

シナリオごとの例

以下のセクションでは、いくつかの認証シナリオとそれぞれの関連する主張について説明します。

人間のユーザーを代表して行動するエージェントのアイデンティティ

この場合、エージェントのアイデンティティは人間のユーザーを代表して行動しています。 アクセストークンには以下の主張が含まれています。

要求名 説明
tid 顧客テナントのテナントID
idtyp user (主語がユーザーであることを示す)
xms_idrel 1 (メンバーユーザーを示す場合、他にも可能性があります)
azp / appid エージェント識別のアプリケーションID
scp エージェントのアイデンティティに付与された委任権限
oid ユーザーのオブジェクトID
aud トークンのリソースオーディエンス
xms_act_fct 11 (エージェントアイデンティティ)

エージェントのアイデンティティが自律的に行動する

この場合、エージェントの同一性は自身の同一性を用いて行動します。 アクセストークンには以下の主張が含まれています。

要求名 説明
tid 顧客テナントのテナントID
idtyp app (主題が申請であることを示す)
xms_idrel 7 (サービスプリンシパルを示す)
azp / appid エージェント識別のアプリケーションID
roles エージェント識別に付与された権限
oid エージェント識別のオブジェクトID
xms_act_fct 11 (エージェントアイデンティティ)
xms_sub_fct 11 (エージェントアイデンティティ)
aud トークンのリソースオーディエンス
scp 空か / (スコープなし)。

エージェント ID は、エージェントのユーザー アカウントを介して自律的に動作します

このシナリオでは、エージェントは、エージェント ID に関連付けられているエージェントのユーザー アカウントを使用してトークンを取得します。 アクセストークンには以下の主張が含まれています。

要求名 説明
tid 顧客テナントのテナントID
idtyp user (主語がユーザーであることを示す)
xms_idrel 1 (メンバーユーザーを示す場合、他にも可能性があります)
azp / appid エージェント識別のアプリケーションID
scp エージェントのアイデンティティに付与された委任権限
oid エージェントのユーザー アカウントのオブジェクト ID
xms_act_fct 11 (エージェントの身分)
xms_sub_fct 13 (エージェントのユーザー アカウント)
aud トークンのリソースオーディエンス