當 AI Agent 代表使用者執行動作時,一律需要兩項授權:
- Agent 授權。 Agent 本身需要在 Microsoft Entra ID 中擁有身分識別,並具備用於驗證的認證。 若要為存在於 Microsoft Entra ID 之外的 Agent 設定此授權,請參閱設定第三方 Agent。
- 使用者授權。 使用者必須同意由 Agent 代表其執行動作,且 Agent 必須取得可用來呼叫下游 API 的使用者權杖。
本文說明第二種授權:如何授權透過第三方身分識別提供者 (IdP) 登入的使用者,讓建置在 Microsoft Entra Agent ID 上的 Agent 能夠代表這些使用者執行動作。
透過使用者識別碼與電子郵件,與 Agent 365 Observability 整合
若要將第三方 Agent 與 Agent 365 Observability 整合,不需要完整的同盟功能。 Agent 可以透過傳遞已登入使用者的使用者識別碼與電子郵件地址,與 Agent 365 Observability 整合。 對於使用者透過第三方 IdP 進行驗證,但不需要存取需要 Microsoft Entra ID 權杖之資源的 Agent 而言,這種輕量整合是一種選項。
如需整合步驟與要求格式,請參閱 Agent 365 可觀察性。
使用 Microsoft Graph 解析使用者識別碼
如果您的 Agent 只知道使用者的電子郵件地址或使用者主體名稱 (UPN),請使用 Microsoft Graph 查詢使用者的物件識別碼。 下列範例假設 Agent 使用具有 User.Read.All 應用程式權限的僅限應用程式權杖來呼叫 Microsoft Graph。
透過篩選 mail 屬性,從電子郵件地址取得使用者的物件識別碼:
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 取得使用者的物件識別碼:
GET https://graph.microsoft.com/v1.0/users/user@contoso.onmicrosoft.com?$select=id,mail,userPrincipalName
Authorization: Bearer {app-only-token}
成功的回應會在 id 屬性中傳回使用者的物件識別碼。 呼叫 Agent 365 Observability 時,請將該值當做使用者識別碼傳遞。
將 Microsoft Entra ID 與第三方 IdP 建立同盟
許多使用第三方 IdP 的客戶,其使用者也會使用 Microsoft 365。 為此,他們會設定 Microsoft Entra ID,與所選擇的 IdP 建立同盟。 透過此設定,使用者一如往常存取 Microsoft 365,但驗證是透過第三方 IdP 而非 Microsoft Entra ID 進行。
使用 Microsoft Entra ID 驗證您的 Agent
任何 Agent 都可以使用與 Microsoft 365 相同的做法:Agent 透過 Microsoft Entra ID 驗證使用者,而在設定同盟後,Microsoft Entra ID 會將使用者重新導向至所選的 IdP。 現在 Agent 已透過所選的 IdP 驗證使用者,即可存取需要 Microsoft Entra ID 權杖的資源,例如 WorkIQ。 Agent 不需要進行任何同盟相關設定。
Agent 透過此流程取得使用者權杖後,即可使用該權杖呼叫任何需要使用者權杖的 Agent 365 功能,而不僅限於 Observability。 同一個權杖適用於 Work IQ 工具存取、對 Microsoft Graph 及其他下游 API 的代表 (OBO) 呼叫,以及任何以使用者身分執行的其他 Agent 365 功能。
Microsoft Entra ID 支援大多數 Agent 已在使用的標準驗證與授權通訊協定:
只要重新指向驗證端點並測試相容性,目前使用這些通訊協定之一驗證使用者的任何 Agent,都可以移轉至 Microsoft Entra ID。 如需 Microsoft Entra ID 支援的應用程式類型與流程概觀,請參閱 Microsoft 身分識別平台中的應用程式類型。