驗證允許使用者登錄,從而使您的 Agent 能夠存取受限資源或資訊。 使用者可以使用 Microsoft Entra ID 登入,或使用任何 OAuth2 識別提供者 (例如 Google 或 Facebook) 登入。
注意
在 Microsoft Teams 中,您可以設定 Copilot Studio Agent 來提供驗證功能,讓使用者可以使用 Microsoft Entra ID 或任何 OAuth2 識別提供者 (例如 Microsoft 或 Facebook 帳戶) 登入。
您可以在編輯主題時向主題新增使用者驗證。
重要
對驗證設定的變更僅在您發佈 Agent 後才會生效。 在對 Agent 進行驗證變更之前,請務必提前規劃。
選擇驗證選項
Copilot Studio 支援幾種驗證選項。 選擇並設定符合您需求的選項。
前往 Agent 的設定,然後選擇安全性。
選取驗證。
選擇一個驗證選項,並根據需求進行設定。 下列是可用的驗證選項:
選取儲存。
無驗證
無驗證代表您的 Agent 在與 Agent 互動時,不要求您的使用者登入。 未經驗證的設定代表您的 Agent 只能存取公共資訊和資源。 傳統聊天機器人預設設定為不需要驗證。
注意
當 Power Platform 系統管理中心中的資料原則設定為要求驗證時,此選項也無法設定。 如需詳細資訊,請參閱資料原則範例—在 Agent 中要求使用者驗證。
使用 Microsoft 進行驗證
重要
當選擇 Authenticate with Microsoft 選項時,您能使用 Teams 與 Microsoft 365 通道。 您也可以使用原生應用程式和自訂應用程式頻道。
此外,透過 Microsoft 進行驗證選項不適用於與 Dynamics 365 Customer Service 整合的 Agent。
此設定會自動設定對 Teams 的 Microsoft Entra ID 驗證,不需要任何手動設定。 由於 Teams 驗證本身會識別使用者,因此使用者在 Teams 中時不會提示登錄,除非您的 Agent 需要擴大範圍。
如果您需要將 Agent 發佈到 Teams 與 Microsoft 365 以外的通道,但仍希望進行驗證,請選擇手動驗證。
如果您選擇透過 Microsoft 進行驗證,則主題製作畫布中將提供以下變數:
User.IDUser.DisplayName
有關這些變數以及如何使用它們的更多資訊,請參閱向主題新增使用者驗證。
User.AccessToken 和 User.IsLoggedIn 變數無法與此選項搭配使用。 如果您需要驗證權杖,請使用手動驗證選項。
如果從手動驗證變更為透過 Microsoft 進行驗證,且您的主題包含 User.AccessToken 或 User.IsLoggedIn 變數,則在變更之後會將它們顯示為未知變數。 在發佈 Agent 之前,請確保更正所有包含錯誤的主題。
手動驗證
Copilot Studio 在手動驗證選項下支援下列驗證服務提供者:
- 包含同盟認證的 Microsoft Entra ID V2
- 使用憑證的 Microsoft Entra ID V2
- 使用用戶端密碼的 Microsoft Entra ID V2
- Microsoft Entra ID
- 一般 OAuth 2 - 符合 OAuth2 標準的任何識別提供者
如果選擇手動驗證,以下變數將可在主題創作畫布中使用:
User.IdUser.DisplayNameUser.AccessTokenUser.IsLoggedIn
有關這些變數以及如何使用它們的更多資訊,請參閱向主題新增使用者驗證。
儲存設定後,請確保發佈您的 Agent 以使變更生效。
注意
- 驗證變更僅在 Agent 發佈後生效。
- 可在 Power Platform 中使用對應的管理控制項來控制此設定。 當此控制項啟用時,會阻止在 Copilot Studio 中開啟或關閉手動驗證選項。 此控制項始終處於啟用狀態,且無法在 Copilot Studio 中修改手動驗證選項。
要求使用者登入和 Agent 共用
要求使用者登入決定使用者是否需要在與 Agent 交談之前登入。 強烈建議您為需要存取敏感或受限資訊的 Agent 時,打開此設定。
此選項不可用於無驗證和透過 Microsoft 進行驗證選項。
注意
當 Power Platform 系統管理中心的資料政策設定為需要驗證時,無法關閉此選項。 如需詳細資訊,請參閱資料原則範例—在 Agent 中要求使用者驗證。
如果您關閉此選項,您的 Agent 不會要求使用者登錄,直到您遇到需要使用者登入的主題。
當您打開此選項時,會建立一個名為要求使用者登入的系統主題。 此主題僅與手動驗證設定相關。 使用者一律在 Teams 上進行驗證。
對於任何未經驗證與 Agent 交談的使用者,都會自動觸發要求使用者登入主題。 如果使用者無法登入,主題會重新導向至呈報系統主題。
主題是唯讀的,因此無法自訂。 若要查看它,請選取移至製作畫布。
控制誰可以與組織中的 Agent 聊天
Agent 的驗證類型與要求使用者登入設定的組合,決定了您是否可以分享 Agent,以及組織中哪些人能與其互動。 驗證設定不會影響共用 Agent 以進行協作。
無驗證:任何擁有 Agent 連結 (或能找到此連結;例如,在您的網站上) 的使用者都可以與其聊天。 您無法控制組織中的哪些使用者可以與 Agent 聊天。
透過 Microsoft 進行驗證:Agent 只能在 Teams 管道上運作。 因為使用者會登入,所以需要使用者登入設定會被啟用且無法關閉。 您可以使用 Agent 共用來控制組織中的哪些人可以與 Agent 聊天。
手動驗證:
如果服務提供者為 Azure Active Directory 或 Microsoft Entra ID,您可以開啟要求使用者登入來控制組織中的哪些人可以使用 Agent 共用來與 Agent 聊天。
如果服務提供者是一般 OAuth2,您可以打開或關閉要求使用者登入。 打開後,登入的使用者可以與 Agent 聊天。 您無法控制組織中的哪些特定使用者可以使用 Agent 共用與 Agent 聊天。
當 Agent 的驗證設定無法控制誰可以與其聊天時,如果您在 Agent 的概述頁面上選擇共用,則會顯示一條訊息,通知您任何人都可以與您的 Agent 聊天。
手動驗證欄位
下表說明在設定手動驗證時可能會遇到的欄位。 您看到的具體欄位取決於您選擇的服務提供者。
| 欄位名稱 | 描述 |
|---|---|
| 授權 URL 範本 | 識別提供者所定義之授權的 URL 範本。 例如,https://login.microsoftonline.com/common/oauth2/v2.0/authorize |
| 授權 URL 查詢字串範本 | 授權的查詢範本,由您的識別提供者所提供。 查詢字串範本中的鍵會視識別提供者而不同 (?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State})。 |
| 客戶端 ID | 從識別提供者取得的用戶端識別碼。 |
| 客戶端密碼 | 您的用戶端密碼會在建立識別提供者應用程式註冊時取得。 |
| 用戶端憑證 KeyVault URL | 存放客戶端憑證的 KeyVault 網址。 此為使用憑證驗證的 Microsoft Entra ID 所必需。 |
| 授與類型 | 您想要使用的 OAuth2 授權類型。 |
| 需要 x5c 宣告嗎 | 指定是否在權杖請求中需要 x5c 聲明。 此為使用憑證驗證的 Microsoft Entra ID 所必需。 |
| 登入 URL | 使用者被引導登入的網址。 |
| 重新整理本文範本 | 重新整理本文的範本 (refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret})。 |
| 重新整理 URL 查詢字串範本 | 權杖 URL 的重新整理 URL 查詢字串分隔符號,通常是問號 (?)。 |
| 重新整理 URL 範本 | 要進行重新整理的 URL 範本; 例如,https://login.microsoftonline.com/common/oauth2/v2.0/token。 |
| 資源 URL | 請求權杖所對應的資源 URL。 |
| 範圍清單分隔符號 | 範圍清單的分隔符號字元。 此欄位不支援空格。1 |
| 範圍 | 您希望使用者登入後擁有的範圍清單。 使用範圍清單分隔符號來分隔多個範圍。1僅設定必要的範圍,並遵循最小權限存取控制原則。 |
| 服務提供者 | 您要用來進行驗證的服務提供者。 如需詳細資訊,請參閱 OAuth 泛型提供者。 |
| 租用戶識別碼 | 您的 Microsoft Entra ID 租用戶識別碼。 請參閱使用現有 Microsoft Entra ID 租用戶來學習如何尋找您的租用戶識別碼。 |
| 權杖本文範本 | 權杖本文的範本。 (code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret}) |
| Token 交換 URL (單一登入 (SSO) 所需) | 當您設定單一登入時,將使用此選用欄位。 |
| 權杖 URL 範本 | 權杖的 URL 範本,由您的識別提供者所提供; 例如,https://login.microsoftonline.com/common/oauth2/v2.0/token。 |
| 權杖 URL 查詢字串範本 | 權杖 URL 的查詢字串分隔符號,通常是問號 (?)。 |
1 如果識別提供者需要,您可以在範圍欄位中使用空格。 在這種情況下,請在範圍清單分隔符號中輸入逗號 (,),並在範圍欄位中輸入空格。
關閉驗證
開啟 Agent 後,選擇頂部功能表列上的設定。
選擇安全性,然後選擇驗證。
選取 無驗證。
如果主題中使用了驗證變數,它們將成為未知變數。 進入主題頁面查看哪些主題有錯誤,並在發布前修復它們。
發佈 Agent。
重要
如果您的 Agent 設定了需要使用者憑證的工具,請不要關閉 Agent 層級的驗證,因為這會禁止這些工具運作。