共用方式為


為 Copilot Studio 自訂 Agent 啟用外部威脅偵測與防護 (預覽版)

[本文章是發行前版本文件,且隨時可能變更。]

在 Copilot Studio 中建立的自訂 Agent 預設即為安全。 它們包括針對各種威脅的內建保護,例如使用者提示注入攻擊 (UPIA) 和跨網域提示注入攻擊 (XPIA)。 在運行時,代理會阻止這些類型的攻擊,從而降低資料外洩的風險。

為了進一步提高自訂代理程式的監控功能和安全性,Copilot Studio 允許組織設定 外部威脅偵測系統 以增強監督。 這些工具在 Agent 執行期間運作,持續評估 Agent 活動。 如果系統偵測到任何可疑工具或行為,它可以介入以阻止其執行。 此威脅偵測提供額外的即時保護層與合規性執行。

這很重要

外部威脅偵測僅在使用生成式協調的生成式 Agent 上叫用。 傳統 Agent 將跳過外部威脅偵測。

運作方式

外部威脅偵測系統會設定為 Web 服務,以威脅偵測端點公開 REST API。 在代理程式和端點之間設定了安全連線。 在執行階段,每次協調器考慮叫用工具時,它都會將有關建議工具使用的相關資料傳送至威脅偵測端點進行評估。 威脅偵測系統會分析資料,並傳回允許或封鎖工具呼叫的決定。

如果威脅偵測系統在 Agent 運作期間偵測到安全問題,Agent 會立即停止處理,並通知使用者其訊息被阻擋。 另一方面,如果系統批准操作,代理程式就會無縫進行,不會對使用者造成明顯的影響或中斷。

這很重要

本文包含 Microsoft Copilot Studio 預覽版文件,內容可能有所變更。

預覽功能不適用於生產環境,而且功能可能受到限制。 這些功能是在正式發行前先行推出,讓您能夠搶先體驗並提供意見反應

如果您要建置生產就緒 Agent,請參閱 Microsoft Copilot Studio 概觀

設定外部威脅偵測的選項

Copilot Studio 支援彈性的「自帶防護」方式。 組織可以自由整合最符合其獨特需求的安全解決方案。

這些選項包括:

與威脅偵測提供者分享哪些資料?

設定與威脅偵測系統的連線後,代理程式會在執行期間與外部安全提供者共用資料。 每當代理程式考慮叫用工具時,都會與服務通訊。 此資料共用可確保設定系統的高效決策,而不降低 Agent 使用者的體驗。

與系統共用的高階資料包括:

  • 使用者最近的提示以及 Agent 與使用者之間交換的最新聊天訊息歷史。
  • Agent 先前使用的工具輸出結果。
  • 對話中繼資料:Agent 身分、與之互動的使用者、使用者租用戶,以及觸發該 Agent 的觸發程序 (如適用)。
  • 代理程式想要叫用的工具,包括代理程式產生的選擇此工具的原因推理,以及建議的輸入和值。

這很重要

  • 提供者的資料處理原則可能與 Microsoft 使用的原則不同。 差異可能包括處理和儲存您所在地理區域之外的資料。
  • 您必須確保提供者和條款符合標準,並遵守保護組織資料所需的法規。
  • 如果您想要封鎖與威脅偵測服務共用資料,您可以隨時中斷整合連線。

先決條件

在開始之前,您需要:

  • 設定為評估代理程式工具使用要求的外部威脅偵測服務。 服務必須公開 REST API 端點。 在 Copilot Studio 端設定整合時,您需要安全提供者網路服務的基本 URL。 本文將此 URL 稱為 端點。 代理程式會將威脅偵測要求傳送至此基底 URL 的 API。 您應該會從安全性提供者收到此 URL。
  • Microsoft Entra 租戶,您可以在此註冊應用程式,以在代理程式與威脅偵測服務之間進行驗證。
  • 具有 Power Platform 管理員角色的使用者,可針對個別環境層級和環境群組層級設定代理程式與外部威脅偵測系統之間的連線。

設定外部威脅偵測系統

為 Agent 設定外部威脅偵測系統的流程分為兩個步驟:

  1. 設定 Microsoft Entra 應用程式。
  2. 在 Power Platform 系統管理中心設定威脅偵測。

步驟 1:設定 Microsoft Entra 應用程式

您可以採取兩種路徑來設定 Microsoft Entra 應用程式:

  • 選項 A:使用 PowerShell 腳本進行設定 (建議)
  • 選項 B:使用 Azure 入口網站手動設定

您可以使用提供的 PowerShell 腳本來自動建立和設定 Microsoft Entra 應用程式。

PowerShell 設定的前置需求

  • Windows PowerShell 5.1 或更新版本
  • 具有在 Microsoft Entra 租用戶中建立應用程式註冊的足夠權限
  • 威脅偵測 Web 服務的基本 URL。 URL 在後續的指令碼參數中被稱為 Endpoint。 您應該會從安全性提供者收到此 URL。
  • 您組織的 Microsoft Entra 租戶 ID。 指令碼參數中的租用戶識別碼稱為TenantId

下載並準備指令碼

下載 Create-CopilotWebhookApp.ps1 指令碼。

指令碼參數

該指令碼接受以下參數:

Parameter Type Required 說明
TenantId 繩子 Yes 您的 Microsoft Entra 租用戶識別碼採用 GUID 格式 (例如 12345678-1234-1234-1234-123456789012)。
端點 繩子 Yes 外部威脅偵測服務的基本 URL (由您的安全性提供者提供)。 如果您使用 Microsoft Defender 作為安全性提供者,您可以從 Defender 入口網站取得端點。
DisplayName 繩子 Yes 您為應用程式註冊提供的唯一顯示名稱。 可以介於 1 到 120 個字元之間。
FICName 繩子 Yes 您為聯盟身份憑證提供的唯一名稱。 可以介於 1 到 120 個字元之間。
DryRun Switch 選擇性旗標。 提供 -DryRun 旗標時,指令碼會執行驗證執行,而不建立資源。

執行指令碼

建立應用程式的步驟:

  1. 以系統管理員身分開啟 Windows PowerShell。

  2. 前往包含指令碼的目錄。

  3. 執行下列指令碼,以您自己的引數取代 、 TenantIdEndpointDisplayNameFICName預留位置值:

    .\Create-CopilotWebhookApp.ps1 `
    -TenantId "11111111-2222-3333-4444-555555555555" `
    -Endpoint "https://provider.example.com/threat_detection/copilot" `
    -DisplayName "Copilot Security Integration - Production" `
    -FICName "ProductionFIC"
    

互動式指令碼會在指令列中執行。 腳本會輸出所建立 Microsoft Entra 應用程式的應用程式識別碼。 稍後在 Power Platform 系統管理中心設定威脅偵測時,您需要應用程式識別碼。

選項 B:使用 Azure 入口網站手動設定

手動設定的必要條件

  • 您組織的 Microsoft Entra 租戶 ID。 租用戶識別碼在下列指示中稱為 tenantId
  • 具有在 Microsoft Entra 租用戶中建立應用程式註冊的足夠權限。
  • 您正在使用的威脅偵測 Web 服務的基本 URL。 這在下列指示中稱為 端點 。 您應該會從安全性提供者收到此 URL。

註冊 Microsoft Entra 應用程式

請遵循下列步驟來建立 Microsoft Entra 應用程式註冊。 該應用程式用於保護代理程式與威脅偵測 Web 服務之間的驗證。 請參見在 Microsoft Entra ID 中註冊應用程式,了解如何建立此類應用程式。

  1. 登入 Azure 入口網站並前往 Microsoft Entra ID 頁面。
  2. 應用程式註冊下,選擇新增註冊
  3. 提供名稱,然後選擇僅此組織目錄中的帳戶 (單一租用戶) 作為支援的帳戶類型。
  4. 註冊應用程式。
  5. 建立應用程式之後,請複製應用程式識別碼。 稍後在 Power Platform 系統管理中心設定威脅偵測時,您需要應用程式識別碼。

授權 Microsoft Entra 應用程式給您選擇的提供者

代理程式使用聯合身分認證 (FIC) 作為安全、無秘密的驗證方法,用於與威脅偵測系統提供者交換資料。 請遵循下列步驟,為您的 Microsoft Entra 應用程式設定 PIC。 如需詳細資訊,請參閱 設定使用者指派的受控識別以信任外部身分識別提供者

  1. 開啟 Azure 入口網站,然後移至 [應用程式註冊]。 選擇您在上述步驟 1 中建立的應用程式。

  2. 在側邊欄中,選擇管理>憑證與密碼>同盟憑證

  3. 選取新增認證

  4. 在同盟憑證情境下拉功能表中,選擇其他發行者

  5. 依照下列指示填寫欄位:

    • 發行者:輸入下列 URL,並將 {tenantId} 替換為您組織的 Microsoft Entra 租用戶 ID:https://login.microsoftonline.com/{tenantId}/v2.0

    • 類型:選擇明確主體識別碼

    • :輸入結構如下的字串: /eid1/c/pub/t/{base 64 encoded tenantId}/a/m1WPnYRZpEaQKq1Cceg--g/{base 64 encoded endpoint}

      針對組織的 Microsoft Entra 租用戶識別碼和威脅偵測 Web 服務的基底 URL 執行 base64 編碼。 將預留位置 {base 64 encoded tenantId} 取代為租用戶識別碼的 base64 編碼值,並將預留位置 {base 64 encoded endpoint} 取代為 base64 編碼的基底 URL。

      若要取得租用戶識別碼和端點 URL 的 base64 編碼,請使用下列 PowerShell 腳本。 請務必取代預留位置值「11111111-2222-3333-4444-555555555555」和「https://provider.example.com/threat_detection/copilot";為租用戶識別碼和端點 URL 的實際值:

      # Encoding tenant ID
      $tenantId = [Guid]::Parse("11111111-2222-3333-4444-555555555555")
      $base64EncodedTenantId = [Convert]::ToBase64String($tenantId.ToByteArray()).Replace('+','-').Replace('/','_').TrimEnd('=')
      Write-Output $base64EncodedTenantId
      
      # Encoding the endpoint
      $endpointURL = "https://provider.example.com/threat_detection/copilot"
      $base64EncodedEndpointURL = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($endpointURL)).Replace('+','-').Replace('/','_').TrimEnd('=')
      Write-Output $base64EncodedEndpointURL
      
    • 名稱:選擇描述性名稱。

  6. 選取新增按鈕。

步驟 2:設定威脅偵測系統

接下來,您需要在 Power Platform 系統管理中心設定威脅偵測系統,以將您的代理程式連線到外部安全性提供者。

在 Power Platform 系統管理中心設定威脅偵測的必要條件

  • 您在上一個步驟中建立之 Microsoft Entra 應用程式的應用程式識別碼。
  • 外部監控系統提供者提供的端點連結。 端點連結與您在設定 Microsoft Entra 應用程式時使用的基底 URL 端點相同。
  • 具有 Power Platform 管理員角色的使用者,可設定連線。
  • 執行安全性提供者所需的任何其他步驟,以授權您註冊的應用程式。 您應該查閱提供者的文件 (如適用) ,以瞭解任何特定的上線和授權步驟。

若要在 Power Platform 系統管理中心設定威脅偵測系統,請遵循下列步驟:

  1. 登入 Power Platform 系統管理中心
  2. 在側邊導覽中,選取 [安全性],然後選取 [威脅偵測]。 [ 威脅偵測] 頁面隨即開啟。
  3. 選取 其他威脅偵測。 窗格隨即開啟。
  4. 請選擇您要提升代理程式保護的環境,然後選取設定。 窗格隨即開啟。
  5. 選取 允許 Copilot Studio 與威脅偵測提供者共用資料
  6. [Azure Entra 應用程式識別碼] 底下,輸入您先前建立之 Microsoft Entra 應用程式的應用程式識別碼。
  7. 輸入外部監控系統提供者提供的 端點連結 。 端點連結與您在設定 Microsoft Entra 應用程式時使用的基底 URL 端點相同。
  8. 在 [ 設定錯誤行為] 底下,定義威脅偵測系統未及時回應或回應錯誤時的系統預設行為。 依預設,此設定為 [允許代理程式回應],但您也可以選擇 [封鎖查詢] 選項以進一步降低風險。
  9. 選取 [儲存]。

這很重要

如果您的 Microsoft Entra 應用程式未在 Microsoft Entra 中正確設定,或未正確授權您選擇的提供者,則儲存將會失敗。

備註

配置完成後,威脅偵測系統會在代理程式呼叫任何工具之前觸發。 如果代理程式在一秒鐘內未收到系統發出的決定 (允許或封鎖),則會繼續 允許 工具按計劃執行。

故障排除

以下是有關可能發生的問題以及如何處理這些問題的一些資訊。

Power Platform 系統管理中心威脅偵測設定問題

下表描述在上一步選擇儲存時可能發生的常見錯誤,以及如何處理這些錯誤:

Error 處理方式
儲存設定時發生問題。 請再次嘗試儲存,如果仍然無法解決,請聯絡管理員尋求協助。 儲存設定時發生一般性問題。 然後再試一次。 如果仍無法解決,請聯絡 Copilot Studio 支援。
連接防護提供者時發生問題。 請聯絡提供者尋求協助。 當呼叫提供的端點逾時或失敗時,會顯示此錯誤。 聯絡提供者並確認其服務沒有問題。
連接防護提供者時發生問題。 嘗試檢查端點連結。 如果這不起作用,請聯絡保護提供者尋求協助。 當呼叫提供的端點失敗時,會顯示此錯誤。 檢查提供的端點連結,如果這不起作用,請聯絡威脅偵測服務提供者,並確認其服務沒有問題。
連接防護提供者時發生問題。 重試,如果這不起作用,請聯絡保護提供者尋求協助。 當呼叫提供的端點失敗時,會顯示此錯誤。 重試,如果這不起作用,請聯絡提供者並驗證其服務沒有問題。
設定時發生問題。 請嘗試檢查您輸入的詳細數據和 Microsoft Entra 設定。 如果問題持續,請聯絡您的管理員尋求協助。 代幣獲取失敗。 檢查 Microsoft Entra 應用程式設定及同盟身分憑證。 選擇「複製錯誤資訊」後,可以找到有關特定問題的更多詳細資訊。
要變更設定,請確保您具有 Power Platform 管理員權限。 具有必要權限的使用者

如需更多錯誤詳細資料,請選取 [複製錯誤資訊]。

常見的 Microsoft Entra 與驗證問題

以下是您的 Microsoft Entra 應用程式和驗證可能發生的其他常見問題。

Microsoft Entra 應用程式不存在

範例:取得權杖失敗:AADSTS700016:目錄 'Contoso' 中找不到識別碼為 '55ed00f8-faac-4a22-9183-9b113bc53dd4' 的應用程式。 如果應用程式未由租用戶管理員安裝,或未由租用戶中任何使用者同意,可能會發生此情況。 您可能已將驗證要求傳送至錯誤的租用戶。

處理方式:確認提供的應用程式 ID 是否正確,且在 Azure 中存在。

應用程式未設定 FIC

例: 無法取得權杖:設定問題導致無法進行驗證,請查看伺服器的錯誤訊息以取得詳細資料。 您可以在應用程式註冊入口網站中修改設定。 如需詳細資訊,請參閱 https://aka.ms/msal-net-invalid-client。 原始例外:AADSTS70025:用戶端 '57342d48-0227-47cd-863b-1f4376224c21' (Webhooks test) 未設定同盟身分憑證。

處理方式:所提供的應用程式未設定任何 FIC。 依照文件設定 FIC。

FIC 發行者無效

例: 無法取得權杖:設定問題導致無法進行驗證,請查看伺服器的錯誤訊息以取得詳細資料。 您可以在應用程式註冊入口網站中修改設定。 如需詳細資訊,請參閱 https://aka.ms/msal-net-invalid-client。 原始例外:AADSTS7002111:找不到與提供的判斷提示發行者 'https://login.microsoftonline.com/262d6d26-0e00-40b3-9c2f-31501d4dcbd1/v2.0' 匹配的同盟身分記錄。 請確保同盟身分憑證的發行者為 'https://login.microsoftonline.com/{tenantId}/v2.0'。

處理方式:應用程式上未找到具有預期發行者的 FIC。 開啟您的 FIC 設定,並將簽發者設定為 https://login.microsoftonline.com/{tenantId}/v2.0 (填寫您的租用戶識別碼)。

FIC 主體無效

例: 無法取得權杖:設定問題導致無法進行驗證,請查看伺服器的錯誤訊息以取得詳細資料。 您可以在應用程式註冊入口網站中修改設定。 如需詳細資訊,請參閱 https://aka.ms/msal-net-invalid-client。 原始例外:AADSTS7002137:找不到與提供的判斷提示主體 '/eid1/c/pub/t/Jm0tJgAOs0CcLzFQHU3L0Q/a/iDQPIrayM0GBBVzmyXgucw/aHR0cHM6Ly9jb250b3NvLnByb3ZpZGVyLmNvbeKAiw' 匹配的同盟身分記錄。 請確保同盟身分憑證的主體為 '/eid1/c/pub/t/{tenantId}/a/iDQPIrayM0GBBVzmyXgucw/aHR0cHM6Ly9jb250b3NvLnByb3ZpZGVyLmNvbeKAiw'。

處理方式:應用程式上未找到具有預期主體的 FIC。 開啟您的 FIC 設定,並將主旨設定為錯誤中建議的預期值 (填寫您的租用戶識別碼) 。 請確保主體欄位中沒有多餘的空格或空行。

應用程式未列入提供者允許清單 (僅限 Microsoft Defender)

範例:您驗證權杖中的應用程式 ID 與為 Webhook 存取註冊的應用程式不匹配。 請確保使用正確的應用程式憑證。

如何處理:應用程式未加入提供者的允許清單。 請參考提供者文件,以授權應用程式的 Webhook 存取權。

解除威脅偵測系統的防護

如果您不再希望威脅偵測系統監控您的代理程式,請遵循下列步驟:

  1. 登入 Power Platform 系統管理中心
  2. 在側邊導覽中,選取 [安全性],然後選取 [威脅偵測]。 [ 威脅偵測] 頁面隨即開啟。
  3. 選取 其他威脅偵測。 窗格隨即開啟。
  4. 請選擇要關閉加強代理保護的環境,然後選擇設定。 窗格隨即開啟。
  5. 取消選取允許 Copilot Studio 與您選擇的提供者共用資料。
  6. 選取 [儲存]。