設定網頁和 Direct Line 管道安全性
創建 Copilot Studio 專員後,任何知道專員 ID 的人都可以立即在演示網站 和 自定義網站 頻道中使用 它。 根據預設就會使用這些通道,也不需要進行任何設定。
若為 Microsoft Teams 應用程式,您可以設定進階 Web 通道安全性選項。
注意
如果您擁有僅限團隊使用的許可證,則無法生成用於啟用安全存取權限的秘密。 安全存取權杖是為您自動建立的,並且默認情況下啟用安全存取。
用戶可以直接從內部 Copilot Studio 或通過從某人那裡接收專員 ID 來找到它。 但是,根據專員的能力和通知標準這可能並不可取。
借助以 Direct Line 為基礎的安全性,您可以使用 Direct Line 的秘密或權杖啟動安全存取,僅啟用對您控制的位置開放存取。
您也可以交換並重新生成秘密和重新整理權杖,當您不想再使用安全存取,也可以輕易地停用。
注意
Copilot Studio 使用頻道 Bot Framework Direct Line 將您的網頁或應用程式連線到專員。
啟用或停用 web 管道安全性
您可以強制使用每個單獨的專員金鑰和令牌。
當啟用此選項,通道就需要用戶端使用秘密或者使用由秘密所產生的權杖 (在執行階段取得),來驗證其要求。
任何不提供此安全措施的專員的訪問許可權都將不起作用。
在專員下的 Settings 下,選擇 Security ( 安全性)。 接著選取 Web 管道安全性圖標。
將要求安全存取開關切換成已啟用。
警告
當啟用或停用「要求安全存取」時,系統需要最多會需要兩個小時才能傳播設定並生效。 在那之前,先前的設定依然有效。 您無需發佈專員即可使此更改生效。
您應該提前計劃,以避免無意中暴露您的專員。
如果您需要停用 web 管道安全性選項,只要切換要求安全存取到已停用就能完成。 停用安全存取最多會需要兩小時來傳播。
使用秘密或權杖
如果您正在建立服務對服務應用程式,在授權標頭要求中指定秘密可能是最簡單的方法。
如果您正在撰寫的應用程式是在網頁瀏覽器或行動裝置應用程式中執行用戶端,或其他可能被使用者看到程式碼的方式,您必須以您的秘密交換權杖。 如果您不使用權杖,您的秘密可能會被洩漏。 當您要求在服務中取得權杖時,請在授權標頭中指定秘密。
權杖只能用在作單一交談,除非進行重新整理,不然就會到期。
選擇與您的情況最相符的資訊安全模型。
警告
我們強烈反對在瀏覽器上執行的任何程式碼中公開秘密,無論是硬式編碼或透過網路呼叫來輸送。
使用服務代碼中的 secret 獲取令牌是保護 your Copilot Studio 專員的最安全方法。
取得秘密
您會需要秘密,因為這樣才能在應用程式的授權標頭要求或類似情形中指定它。
在導覽功能表的設定底下,選取安全性。 接著選取 Web 管道安全性圖標。
對秘密 1 或秘密 2 選取複製,把它複製到剪貼簿。 選取可見度圖示 ,以顯示祕密。 在顯示之前,會出現警告提示。
交換秘密
如果您需要更改專員正在使用的金鑰,則可以在不停機或中斷的情況下執行此操作。
Copilot Studio 為您提供兩個金鑰,它們可以同時工作。 正在使用的秘密可以用另一個秘密交換。 在秘密交換完成並且您的使用者全都使用新的秘密連線之後,您就可以放心地重新產生秘密。
重新產生密碼
若要重新產生秘密,請選取秘密旁邊的重新產生。
警告
任何使用者使用原本的秘密或從該秘密取得的權杖,都會被中斷連線。
產生權杖
您可以生成可在開始單個專員對話時使用的令牌。 有關更多資訊,請參閱將專員發佈到行動裝置或自定義應用程式中 的獲取 Direct Line 令牌 部分。
取得秘密。
在您的服務程式碼中發出下列要求,便能使用秘密交換權杖。 使用您在步驟 1 中取得的秘密的值取代
<SECRET>
。POST https://directline.botframework.com/v3/directline/tokens/generate Authorization: Bearer <SECRET>
下列程式碼片斷提供產生權杖要求及其回應的範例。
產生權杖要求的範例
POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0
產生權杖回應的範例
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 1800
}
如果要求成功,回應將包含對一個交談有效的權杖,以及 expires_in
的值,表示權杖到期之前的秒數。
若要讓權杖保持可用,您必須在過期前重新整理權杖。
重新整理權杖
權杖只要尚未過期,可以無限次的重新整理。
到期的權杖無法重新整理。
若要重新整理權杖,請發出下列要求,並將 <TOKEN TO BE REFRESHED>
替換成您要重新整理的標記。
POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <TOKEN TO BE REFRESHED>
下列程式碼片斷提供重新整理權杖要求及其回應的範例。
重新整理要求的範例
POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer CurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
重新整理回應的範例
如果要求成功,回應將包含一個新權杖,如先前權杖一般對相同交談有效,以及 expires_in
的值,表示新權杖到期之前的秒數。
若要讓新權杖保持可用,您必須在過期前再次重新整理權杖。
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
"expires_in": 1800
}
有關重新整理權杖的詳細資訊,請參閱 Direct Line API - 驗證中的重新整理 Direct Line 權杖區段。