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