AI エージェントがユーザーに代わって動作する場合、常に 2 つの承認が必要です。
- エージェントの承認。 エージェント自体には、Microsoft Entra ID 内の ID と、認証するための資格情報が必要です。 Microsoft Entra IDの外部に存在するエージェントに対してこの承認を構成するには、「サードパーティ エージェントの構成を参照してください。
- ユーザー承認。 ユーザーは、自分の代わりに動作するエージェントに同意する必要があり、エージェントはダウンストリーム API の呼び出しに使用できるユーザー トークンを取得する必要があります。
この記事では、2 つ目の承認について説明します。サード パーティの ID プロバイダー (IdP) を介してサインインするユーザーを承認し、Microsoft Entra エージェント ID上に構築されたエージェントがユーザーの代わりに動作できるようにする方法について説明します。
ユーザー ID と電子メールを使用して Agent 365 Observability と統合する
サードパーティのエージェントを Agent 365 Observability と統合するために完全なフェデレーションは必要ありません。 エージェントは、サインインしているユーザーのユーザー ID と電子メール アドレスを渡すことによって、Agent 365 Observability と統合できます。 この軽量統合は、ユーザーがサード パーティの IdP で認証を行うが、Microsoft Entra IDからのトークンを必要とするリソースへのアクセスを必要としないエージェント向けのオプションです。
統合手順と要求図形については、「 Agent 365 の可観測性」を参照してください。
Microsoft Graphを使用してユーザー ID を解決する
エージェントがユーザーのメール アドレスまたはユーザー プリンシパル名 (UPN) のみを認識している場合は、Microsoft Graphを使用してユーザーのオブジェクト ID を検索します。 次の例では、エージェントが User.Read.All アプリケーションのアクセス許可を持つアプリ専用トークンを使用して Microsoft Graph を呼び出すことを想定しています。
mail プロパティをフィルター処理して、電子メール アドレスからユーザーのオブジェクト ID を取得します。
GET https://graph.microsoft.com/v1.0/users?$filter=mail eq 'user@contoso.com'&$select=id,mail,userPrincipalName
Authorization: Bearer {app-only-token}
mail プロパティは、ユーザーがサインインしたアドレスと常に一致するとは限りません。 検索で結果が返されない場合は、 otherMails コレクションにフォールバックします。
GET https://graph.microsoft.com/v1.0/users?$filter=otherMails/any(o:o eq 'user@contoso.com')&$select=id,mail,userPrincipalName
Authorization: Bearer {app-only-token}
ユーザー リソースを直接アドレス指定して、UPN からユーザーのオブジェクト ID を取得します。
GET https://graph.microsoft.com/v1.0/users/user@contoso.onmicrosoft.com?$select=id,mail,userPrincipalName
Authorization: Bearer {app-only-token}
応答が成功すると、 id プロパティでユーザーのオブジェクト ID が返されます。 Agent 365 Observability を呼び出すときに、その値をユーザー ID として渡します。
サード パーティの IdP とのMicrosoft Entra IDのフェデレーション
サード パーティの IdP を持つ多くの顧客は、ユーザーにMicrosoft 365を使用させます。 これを有効にするには、選択した IdP を使用して federate にMicrosoft Entra IDを構成します。 この構成では、ユーザーは通常Microsoft 365アクセスしますが、ユーザーはMicrosoft Entra IDではなく、サード パーティの IdP で認証します。
Microsoft Entra IDを使用してエージェントを認証する
どのエージェントも、Microsoft 365使用するのと同じ方法を使用できます。エージェントはMicrosoft Entra IDを使用してユーザーを認証し、Microsoft Entra IDフェデレーションの構成時にユーザーを任意の IdP にリダイレクトします。 これで、エージェントは選択した IDP を使用してユーザーを認証し、Microsoft Entra IDからのトークンを必要とするリソース (WorkIQ など) にアクセスできるようになりました。 フェデレーション用の構成はエージェントに必要ありません。
エージェントがこのフローを通じてユーザー トークンを取得すると、そのトークンを使用して、Observability だけでなく、ユーザー トークンを必要とする任意のエージェント 365 機能を呼び出すことができます。 同じトークンは、Work IQ ツール アクセス、On-Behalf-Of (OBO) 呼び出し、Microsoft Graphおよびその他のダウンストリーム API、およびユーザーのコンテキストで動作するその他の Agent 365 機能に対して機能します。
Microsoft Entra IDでは、ほとんどのエージェントが既に使用している標準の認証プロトコルと承認プロトコルがサポートされています。
現在、これらのプロトコルのいずれかでユーザーを認証するエージェントは、認証エンドポイントを再ポイントし、互換性をテストすることで、Microsoft Entra IDに移行できます。 Microsoft Entra IDがサポートするアプリの種類とフローの概要については、Microsoft ID プラットフォーム の